From b078a6d97b01c9e03247dca071ca8ef47ffcb6da Mon Sep 17 00:00:00 2001 From: Mohith <97882857+v-mohithgc@users.noreply.github.com> Date: Mon, 29 Jan 2024 13:52:46 +0530 Subject: [PATCH 01/10] CG bug fixes related to "follow-redirects: Batch 1 (#19465) * npm audit fix * bumped task version to 235 --- .../_buildConfigs/Node20/package-lock.json | 88 +++--- Tasks/NodeToolV0/package-lock.json | 12 +- Tasks/NodeToolV0/task.json | 252 +++++++++--------- Tasks/NodeToolV0/task.loc.json | 2 +- .../_buildConfigs/Node20/package-lock.json | 94 +++---- Tasks/UseNodeV1/package-lock.json | 12 +- Tasks/UseNodeV1/task.json | 170 ++++++------ Tasks/UseNodeV1/task.loc.json | 4 +- .../_buildConfigs/Node20/package-lock.json | 32 +-- .../_buildConfigs/Node20/package.json | 6 +- Tasks/UsePythonVersionV0/package-lock.json | 12 +- Tasks/UsePythonVersionV0/package.json | 6 +- Tasks/UsePythonVersionV0/task.json | 244 ++++++++--------- Tasks/UsePythonVersionV0/task.loc.json | 4 +- .../_buildConfigs/Node20/package-lock.json | 32 +-- Tasks/UseRubyVersionV0/package-lock.json | 12 +- Tasks/UseRubyVersionV0/task.json | 138 +++++----- Tasks/UseRubyVersionV0/task.loc.json | 4 +- .../_buildConfigs/Node20/package-lock.json | 26 +- Tasks/XcodeV5/package-lock.json | 12 +- Tasks/XcodeV5/task.json | 4 +- Tasks/XcodeV5/task.loc.json | 4 +- _generated/NodeToolV0.versionmap.txt | 4 +- _generated/NodeToolV0/package-lock.json | 12 +- _generated/NodeToolV0/task.json | 6 +- _generated/NodeToolV0/task.loc.json | 6 +- .../NodeToolV0_Node20/package-lock.json | 88 +++--- _generated/NodeToolV0_Node20/task.json | 6 +- _generated/NodeToolV0_Node20/task.loc.json | 6 +- _generated/UseNodeV1.versionmap.txt | 4 +- _generated/UseNodeV1/package-lock.json | 12 +- _generated/UseNodeV1/task.json | 8 +- _generated/UseNodeV1/task.loc.json | 8 +- _generated/UseNodeV1_Node20/package-lock.json | 94 +++---- _generated/UseNodeV1_Node20/task.json | 8 +- _generated/UseNodeV1_Node20/task.loc.json | 8 +- _generated/UsePythonVersionV0.versionmap.txt | 4 +- .../UsePythonVersionV0/package-lock.json | 12 +- _generated/UsePythonVersionV0/package.json | 6 +- _generated/UsePythonVersionV0/task.json | 8 +- _generated/UsePythonVersionV0/task.loc.json | 8 +- .../package-lock.json | 32 +-- .../UsePythonVersionV0_Node20/package.json | 6 +- .../UsePythonVersionV0_Node20/task.json | 8 +- .../UsePythonVersionV0_Node20/task.loc.json | 8 +- _generated/UseRubyVersionV0.versionmap.txt | 4 +- _generated/UseRubyVersionV0/package-lock.json | 12 +- _generated/UseRubyVersionV0/task.json | 8 +- _generated/UseRubyVersionV0/task.loc.json | 8 +- .../UseRubyVersionV0_Node20/package-lock.json | 32 +-- _generated/UseRubyVersionV0_Node20/task.json | 8 +- .../UseRubyVersionV0_Node20/task.loc.json | 8 +- _generated/XcodeV5.versionmap.txt | 4 +- _generated/XcodeV5/package-lock.json | 12 +- _generated/XcodeV5/task.json | 8 +- _generated/XcodeV5/task.loc.json | 8 +- _generated/XcodeV5_Node20/package-lock.json | 26 +- _generated/XcodeV5_Node20/task.json | 8 +- _generated/XcodeV5_Node20/task.loc.json | 8 +- 59 files changed, 855 insertions(+), 831 deletions(-) diff --git a/Tasks/NodeToolV0/_buildConfigs/Node20/package-lock.json b/Tasks/NodeToolV0/_buildConfigs/Node20/package-lock.json index 33200c61b550..fc3052e849bf 100644 --- a/Tasks/NodeToolV0/_buildConfigs/Node20/package-lock.json +++ b/Tasks/NodeToolV0/_buildConfigs/Node20/package-lock.json @@ -26,19 +26,22 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.5.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", - "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", + "requires": { + "undici-types": "~5.26.4" + } }, "@types/q": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.6.tgz", - "integrity": "sha512-IKjZ8RjTSwD4/YG+2gtj7BPFRB/lNbWKTiSj3M7U/TD2B7HfYCxvp2Zz6xA2WIY7pAuL1QOUPw8gQRbUrrq4fQ==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" }, "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, "@types/semver": { "version": "5.5.0", @@ -107,9 +110,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-pipelines-task-lib": { "version": "4.6.1", @@ -274,9 +277,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -299,13 +302,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-proto": "^1.0.1", "has-symbols": "^1.0.3" } }, @@ -345,11 +347,6 @@ "function-bind": "^1.1.1" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -410,9 +407,9 @@ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "requires": { "has": "^1.0.3" } @@ -479,9 +476,9 @@ } }, "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, "once": { "version": "1.4.0", @@ -512,9 +509,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", "requires": { "asap": "~2.0.6" } @@ -525,17 +522,17 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "requires": { "side-channel": "^1.0.4" } }, "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -555,11 +552,11 @@ } }, "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "requires": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -707,6 +704,11 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", diff --git a/Tasks/NodeToolV0/package-lock.json b/Tasks/NodeToolV0/package-lock.json index 9e9acfdeb117..0412215572f9 100644 --- a/Tasks/NodeToolV0/package-lock.json +++ b/Tasks/NodeToolV0/package-lock.json @@ -269,9 +269,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -567,9 +567,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/Tasks/NodeToolV0/task.json b/Tasks/NodeToolV0/task.json index ad4f9922e255..588b5a45a76b 100644 --- a/Tasks/NodeToolV0/task.json +++ b/Tasks/NodeToolV0/task.json @@ -1,132 +1,132 @@ { - "id": "31C75BBB-BCDF-4706-8D7C-4DA6A1959BC2", - "name": "NodeTool", - "friendlyName": "Node.js tool installer", - "description": "Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/node-js", - "helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/node-js) or [see the Node documentation](https://nodejs.org/docs/latest/api/documentation.html)", - "category": "Tool", - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 0, - "Minor": 233, - "Patch": 0 + "id": "31C75BBB-BCDF-4706-8D7C-4DA6A1959BC2", + "name": "NodeTool", + "friendlyName": "Node.js tool installer", + "description": "Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/node-js", + "helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/node-js) or [see the Node documentation](https://nodejs.org/docs/latest/api/documentation.html)", + "category": "Tool", + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 0, + "Minor": 235, + "Patch": 0 + }, + "satisfies": [ + "Node", + "npm", + "node.js" + ], + "demands": [], + "minimumAgentVersion": "2.182.1", + "instanceNameFormat": "Use Node $(versionSpec)", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "versionSource", + "type": "radio", + "label": "Source of version", + "required": true, + "defaultValue": "spec", + "options": { + "spec": "Specify Node version", + "fromFile": "Get version from file" + } + }, + { + "name": "versionSpec", + "type": "string", + "label": "Version Spec", + "defaultValue": "6.x", + "helpMarkDown": "Version Spec of version to get. Examples: 6.x, 4.x, 6.10.0, >=6.10.0", + "visibleRule": "versionSource = spec" + }, + { + "name": "versionFilePath", + "type": "string", + "label": "Path to the .nvmrc file", + "helpMarkDown": "File path to get version. Example: src/.nvmrc", + "visibleRule": "versionSource = fromFile" + }, + { + "name": "checkLatest", + "type": "boolean", + "label": "Check for Latest Version", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Always checks online for the latest available version that satisfies the version spec. This is typically false unless you have a specific scenario to always get latest. This will cause it to incur download costs when potentially not necessary, especially with the hosted build pool." + }, + { + "name": "force32bit", + "type": "boolean", + "label": "Use 32 bit version on x64 agents", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Installs the x86 version of Node regardless of the CPU architecture of the agent." }, - "satisfies": [ - "Node", - "npm", - "node.js" - ], - "demands": [], - "minimumAgentVersion": "2.182.1", - "instanceNameFormat": "Use Node $(versionSpec)", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "versionSource", - "type": "radio", - "label": "Source of version", - "required": true, - "defaultValue": "spec", - "options": { - "spec": "Specify Node version", - "fromFile": "Get version from file" - } - }, - { - "name": "versionSpec", - "type": "string", - "label": "Version Spec", - "defaultValue": "6.x", - "helpMarkDown": "Version Spec of version to get. Examples: 6.x, 4.x, 6.10.0, >=6.10.0", - "visibleRule": "versionSource = spec" - }, - { - "name": "versionFilePath", - "type": "string", - "label": "Path to the .nvmrc file", - "helpMarkDown": "File path to get version. Example: src/.nvmrc", - "visibleRule": "versionSource = fromFile" - }, - { - "name": "checkLatest", - "type": "boolean", - "label": "Check for Latest Version", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Always checks online for the latest available version that satisfies the version spec. This is typically false unless you have a specific scenario to always get latest. This will cause it to incur download costs when potentially not necessary, especially with the hosted build pool." - }, - { - "name": "force32bit", - "type": "boolean", - "label": "Use 32 bit version on x64 agents", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Installs the x86 version of Node regardless of the CPU architecture of the agent." - }, - { - "name": "nodejsMirror", - "type": "string", - "label": "Set source for Node.js binaries", - "defaultValue": "https://nodejs.org/dist", - "required": false, - "groupName": "advanced", - "helpMarkDown": "Use an alternative installation mirror when sourcing the Node.js binaries." - }, - { - "name": "retryCountOnDownloadFails", - "type": "string", - "label": "Set retry count when nodes downloads failed", - "defaultValue": "5", - "required": false, - "groupName": "advanced", - "helpMarkDown": "Use this option when the task failed to download node binaries from the mirror. The task will retry to download the binaries for the specified times." - }, - { - "name": "delayBetweenRetries", - "type": "string", - "label": "Set delay between retries", - "defaultValue": "1000", - "required": false, - "groupName": "advanced", - "helpMarkDown": "Use this option to set the delay between retries in milliseconds. The default value is 1000 milliseconds." - } - ], - "execution": { - "Node10": { - "target": "nodetool.js", - "argumentFormat": "" - }, - "Node16": { - "target": "nodetool.js", - "argumentFormat": "" - } + { + "name": "nodejsMirror", + "type": "string", + "label": "Set source for Node.js binaries", + "defaultValue": "https://nodejs.org/dist", + "required": false, + "groupName": "advanced", + "helpMarkDown": "Use an alternative installation mirror when sourcing the Node.js binaries." }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [ - "PATH" - ] - } + { + "name": "retryCountOnDownloadFails", + "type": "string", + "label": "Set retry count when nodes downloads failed", + "defaultValue": "5", + "required": false, + "groupName": "advanced", + "helpMarkDown": "Use this option when the task failed to download node binaries from the mirror. The task will retry to download the binaries for the specified times." + }, + { + "name": "delayBetweenRetries", + "type": "string", + "label": "Set delay between retries", + "defaultValue": "1000", + "required": false, + "groupName": "advanced", + "helpMarkDown": "Use this option to set the delay between retries in milliseconds. The default value is 1000 milliseconds." + } + ], + "execution": { + "Node10": { + "target": "nodetool.js", + "argumentFormat": "" + }, + "Node16": { + "target": "nodetool.js", + "argumentFormat": "" + } + }, + "restrictions": { + "commands": { + "mode": "restricted" }, - "messages": { - "ToolFailed": "Tool install failed: %s", - "TryRosetta": "Unable to find Node for platform %s and architecture %s. Trying to install with Rosetta2", - "NodeVersionNotFound": "Unable to find Node version %s for platform %s and architecture %s.", - "UnexpectedOS": "Unexpected OS %s", - "AgentTempDirNotSet": "Expected Agent.TempDirectory to be set." + "settableVariables": { + "allowed": [ + "PATH" + ] } + }, + "messages": { + "ToolFailed": "Tool install failed: %s", + "TryRosetta": "Unable to find Node for platform %s and architecture %s. Trying to install with Rosetta2", + "NodeVersionNotFound": "Unable to find Node version %s for platform %s and architecture %s.", + "UnexpectedOS": "Unexpected OS %s", + "AgentTempDirNotSet": "Expected Agent.TempDirectory to be set." + } } \ No newline at end of file diff --git a/Tasks/NodeToolV0/task.loc.json b/Tasks/NodeToolV0/task.loc.json index c68c42d66b02..68080570d02e 100644 --- a/Tasks/NodeToolV0/task.loc.json +++ b/Tasks/NodeToolV0/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 233, + "Minor": 235, "Patch": 0 }, "satisfies": [ diff --git a/Tasks/UseNodeV1/_buildConfigs/Node20/package-lock.json b/Tasks/UseNodeV1/_buildConfigs/Node20/package-lock.json index 67f4acf57a47..9316fb8c8e1e 100644 --- a/Tasks/UseNodeV1/_buildConfigs/Node20/package-lock.json +++ b/Tasks/UseNodeV1/_buildConfigs/Node20/package-lock.json @@ -26,19 +26,22 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.5.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.8.tgz", - "integrity": "sha512-eajsR9aeljqNhK028VG0Wuw+OaY5LLxYmxeoXynIoE6jannr9/Ucd1LL0hSSoafk5LTYG+FfqsyGt81Q6Zkybw==" + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", + "requires": { + "undici-types": "~5.26.4" + } }, "@types/q": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.6.tgz", - "integrity": "sha512-IKjZ8RjTSwD4/YG+2gtj7BPFRB/lNbWKTiSj3M7U/TD2B7HfYCxvp2Zz6xA2WIY7pAuL1QOUPw8gQRbUrrq4fQ==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" }, "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, "@types/semver": { "version": "5.5.0", @@ -107,9 +110,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-pipelines-task-lib": { "version": "4.6.1", @@ -264,9 +267,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -289,13 +292,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-proto": "^1.0.1", "has-symbols": "^1.0.3" } }, @@ -335,11 +337,6 @@ "function-bind": "^1.1.1" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -400,9 +397,9 @@ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "requires": { "has": "^1.0.3" } @@ -469,9 +466,9 @@ } }, "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, "once": { "version": "1.4.0", @@ -502,9 +499,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", "requires": { "asap": "~2.0.6" } @@ -515,17 +512,17 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "requires": { "side-channel": "^1.0.4" } }, "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -545,11 +542,11 @@ } }, "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "requires": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -672,9 +669,9 @@ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" }, "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", + "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", "requires": { "qs": "^6.9.1", "tunnel": "0.0.6", @@ -697,6 +694,11 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", diff --git a/Tasks/UseNodeV1/package-lock.json b/Tasks/UseNodeV1/package-lock.json index 971c9275a7ee..d95832d9fa74 100644 --- a/Tasks/UseNodeV1/package-lock.json +++ b/Tasks/UseNodeV1/package-lock.json @@ -259,9 +259,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -557,9 +557,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/Tasks/UseNodeV1/task.json b/Tasks/UseNodeV1/task.json index 1d2eaa53919a..a1af76603b6f 100644 --- a/Tasks/UseNodeV1/task.json +++ b/Tasks/UseNodeV1/task.json @@ -1,90 +1,90 @@ { - "id": "31C75BBB-BCDF-4706-8D7C-4DA6A1959BC2", - "name": "UseNode", - "friendlyName": "Use Node.js ecosystem", - "description": "Set up a Node.js environment and add it to the PATH, additionally providing proxy support", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks", - "helpMarkDown": "", - "category": "Tool", - "preview": true, - "ecosystem": "node", - "minimumAgentVersion": "2.144.0", - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 231, - "Patch": 6 + "id": "31C75BBB-BCDF-4706-8D7C-4DA6A1959BC2", + "name": "UseNode", + "friendlyName": "Use Node.js ecosystem", + "description": "Set up a Node.js environment and add it to the PATH, additionally providing proxy support", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks", + "helpMarkDown": "", + "category": "Tool", + "preview": true, + "ecosystem": "node", + "minimumAgentVersion": "2.144.0", + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 235, + "Patch": 0 + }, + "satisfies": [ + "Node", + "npm", + "node.js" + ], + "demands": [], + "instanceNameFormat": "Use Node $(versionSpec)", + "inputs": [ + { + "name": "version", + "type": "string", + "label": "Version", + "defaultValue": "10.x", + "required": false, + "helpMarkDown": "Version Spec of the version to use. Examples: 10.x, 10.15.1, >=10.15.0" }, - "satisfies": [ - "Node", - "npm", - "node.js" - ], - "demands": [], - "instanceNameFormat": "Use Node $(versionSpec)", - "inputs": [ - { - "name": "version", - "type": "string", - "label": "Version", - "defaultValue": "10.x", - "required": false, - "helpMarkDown": "Version Spec of the version to use. Examples: 10.x, 10.15.1, >=10.15.0" - }, - { - "name": "checkLatest", - "type": "boolean", - "label": "Check for Latest Version", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Always checks online for the latest available version that satisfies the version spec. This is typically false unless you have a specific scenario to always get latest. This will cause it to incur download costs when potentially not necessary, especially with the hosted build pool." - }, - { - "name": "force32bit", - "type": "boolean", - "label": "Use 32 bit version on x64 agents", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Installs the x86 version of Node regardless of the CPU architecture of the agent." - }, - { - "name": "retryCountOnDownloadFails", - "type": "string", - "label": "Set retry count when nodes downloads failed", - "defaultValue": "5", - "required": false, - "groupName": "advanced", - "helpMarkDown": "Use this option when the task failed to download node binaries from the mirror. The task will retry to download the binaries for the specified times." - }, - { - "name": "delayBetweenRetries", - "type": "string", - "label": "Set delay between retries", - "defaultValue": "1000", - "required": false, - "groupName": "advanced", - "helpMarkDown": "Use this option to set the delay between retries in milliseconds. The default value is 1000 milliseconds." - } - ], - "execution": { - "Node10": { - "target": "usenode.js", - "argumentFormat": "" - }, - "Node16": { - "target": "usenode.js", - "argumentFormat": "" - } + { + "name": "checkLatest", + "type": "boolean", + "label": "Check for Latest Version", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Always checks online for the latest available version that satisfies the version spec. This is typically false unless you have a specific scenario to always get latest. This will cause it to incur download costs when potentially not necessary, especially with the hosted build pool." }, - "messages": { - "ToolFailed": "Node install failed: %s", - "TryRosetta": "Unable to find Node for platform %s and architecture %s. Trying to install with Rosetta2", - "NodeVersionNotFound": "Unable to find Node version %s for platform %s and architecture %s.", - "UnexpectedOS": "Unexpected OS %s", - "AgentTempDirNotSet": "Expected Agent.TempDirectory to be set." + { + "name": "force32bit", + "type": "boolean", + "label": "Use 32 bit version on x64 agents", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Installs the x86 version of Node regardless of the CPU architecture of the agent." + }, + { + "name": "retryCountOnDownloadFails", + "type": "string", + "label": "Set retry count when nodes downloads failed", + "defaultValue": "5", + "required": false, + "groupName": "advanced", + "helpMarkDown": "Use this option when the task failed to download node binaries from the mirror. The task will retry to download the binaries for the specified times." + }, + { + "name": "delayBetweenRetries", + "type": "string", + "label": "Set delay between retries", + "defaultValue": "1000", + "required": false, + "groupName": "advanced", + "helpMarkDown": "Use this option to set the delay between retries in milliseconds. The default value is 1000 milliseconds." + } + ], + "execution": { + "Node10": { + "target": "usenode.js", + "argumentFormat": "" + }, + "Node16": { + "target": "usenode.js", + "argumentFormat": "" } + }, + "messages": { + "ToolFailed": "Node install failed: %s", + "TryRosetta": "Unable to find Node for platform %s and architecture %s. Trying to install with Rosetta2", + "NodeVersionNotFound": "Unable to find Node version %s for platform %s and architecture %s.", + "UnexpectedOS": "Unexpected OS %s", + "AgentTempDirNotSet": "Expected Agent.TempDirectory to be set." + } } \ No newline at end of file diff --git a/Tasks/UseNodeV1/task.loc.json b/Tasks/UseNodeV1/task.loc.json index 54f0b942b501..de86ae787fda 100644 --- a/Tasks/UseNodeV1/task.loc.json +++ b/Tasks/UseNodeV1/task.loc.json @@ -16,8 +16,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 231, - "Patch": 6 + "Minor": 235, + "Patch": 0 }, "satisfies": [ "Node", diff --git a/Tasks/UsePythonVersionV0/_buildConfigs/Node20/package-lock.json b/Tasks/UsePythonVersionV0/_buildConfigs/Node20/package-lock.json index 4162de7ace16..c15915e9fd48 100644 --- a/Tasks/UsePythonVersionV0/_buildConfigs/Node20/package-lock.json +++ b/Tasks/UsePythonVersionV0/_buildConfigs/Node20/package-lock.json @@ -26,11 +26,11 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "requires": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "@types/q": { @@ -117,9 +117,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-pipelines-task-lib": { "version": "4.6.1", @@ -284,9 +284,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -590,9 +590,9 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -723,9 +723,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "utf8-byte-length": { "version": "1.0.4", diff --git a/Tasks/UsePythonVersionV0/_buildConfigs/Node20/package.json b/Tasks/UsePythonVersionV0/_buildConfigs/Node20/package.json index 12895cf27e92..1f5b4e5dd2b7 100644 --- a/Tasks/UsePythonVersionV0/_buildConfigs/Node20/package.json +++ b/Tasks/UsePythonVersionV0/_buildConfigs/Node20/package.json @@ -23,14 +23,14 @@ }, "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", "dependencies": { + "@types/mocha": "^5.2.7", "@types/node": "^20.3.1", "@types/q": "^1.0.7", - "@types/mocha": "^5.2.7", "azure-pipelines-task-lib": "^5.0.0-preview.0", "azure-pipelines-tasks-utility-common": "^3.230.0", "azure-pipelines-tool-lib": "^2.0.7", - "typed-rest-client": "^1.8.6", - "semver": "^7.3.5" + "semver": "^7.5.4", + "typed-rest-client": "^1.8.6" }, "devDependencies": { "typescript": "5.1.6" diff --git a/Tasks/UsePythonVersionV0/package-lock.json b/Tasks/UsePythonVersionV0/package-lock.json index b747550f93f3..24cea7279638 100644 --- a/Tasks/UsePythonVersionV0/package-lock.json +++ b/Tasks/UsePythonVersionV0/package-lock.json @@ -276,9 +276,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -582,9 +582,9 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } diff --git a/Tasks/UsePythonVersionV0/package.json b/Tasks/UsePythonVersionV0/package.json index ad721d69caf8..fab588830240 100644 --- a/Tasks/UsePythonVersionV0/package.json +++ b/Tasks/UsePythonVersionV0/package.json @@ -23,14 +23,14 @@ }, "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", "dependencies": { + "@types/mocha": "^5.2.7", "@types/node": "^16.11.39", "@types/q": "^1.0.7", - "@types/mocha": "^5.2.7", "azure-pipelines-task-lib": "^5.0.0-preview.0", "azure-pipelines-tasks-utility-common": "^3.230.0", "azure-pipelines-tool-lib": "^2.0.7", - "typed-rest-client": "^1.8.6", - "semver": "^7.3.5" + "semver": "^7.5.4", + "typed-rest-client": "^1.8.6" }, "devDependencies": { "typescript": "4.0.2" diff --git a/Tasks/UsePythonVersionV0/task.json b/Tasks/UsePythonVersionV0/task.json index ad2339130309..3d53db8762b3 100644 --- a/Tasks/UsePythonVersionV0/task.json +++ b/Tasks/UsePythonVersionV0/task.json @@ -1,128 +1,128 @@ { - "id": "33C63B11-352B-45A2-BA1B-54CB568A29CA", - "name": "UsePythonVersion", - "friendlyName": "Use Python version", - "description": "Use the specified version of Python from the tool cache, optionally adding it to the PATH", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/use-python-version", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=871498) or [see the Python documentation](https://www.python.org/doc/)", - "category": "Tool", - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "minimumAgentVersion": "2.182.1", - "version": { - "Major": 0, - "Minor": 231, - "Patch": 2 + "id": "33C63B11-352B-45A2-BA1B-54CB568A29CA", + "name": "UsePythonVersion", + "friendlyName": "Use Python version", + "description": "Use the specified version of Python from the tool cache, optionally adding it to the PATH", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/use-python-version", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=871498) or [see the Python documentation](https://www.python.org/doc/)", + "category": "Tool", + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "minimumAgentVersion": "2.182.1", + "version": { + "Major": 0, + "Minor": 235, + "Patch": 0 + }, + "demands": [], + "instanceNameFormat": "Use Python $(versionSpec)", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "versionSpec", + "type": "string", + "label": "Version spec", + "required": true, + "defaultValue": "3.x", + "helpMarkDown": "Version range or exact version of a Python version to use, using semver's version range syntax. [More information](https://go.microsoft.com/fwlink/?LinkID=2006180)" + }, + { + "name": "disableDownloadFromRegistry", + "type": "boolean", + "label": "Disable downloading releases from the GitHub registry", + "required": false, + "defaultValue": "false", + "helpMarkDown": "Whether to disable downloading missing python version from the [Github Actions registry](https://github.com/actions/python-versions). Check this if you only want to use local pre-installed python." + }, + { + "name": "allowUnstable", + "type": "boolean", + "label": "Allow downloading unstable releases", + "required": false, + "defaultValue": "false", + "helpMarkDown": "Allow downloading unstable python versions from [Github Actions python versions registry](https://github.com/actions/python-versions).", + "visibleRule": "disableDownloadFromRegistry = false" + }, + { + "name": "githubToken", + "type": "string", + "label": "GitHub token for GitHub Actions python registry", + "required": false, + "helpMarkDown": "GitHub token is needed to prevent anonymous requests limit to the [Github Actions python versions registry](https://github.com/actions/python-versions). Leaving this empty may cause download failures. Not needed if you only use locally installed python.", + "visibleRule": "disableDownloadFromRegistry = false" }, - "demands": [], - "instanceNameFormat": "Use Python $(versionSpec)", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "versionSpec", - "type": "string", - "label": "Version spec", - "required": true, - "defaultValue": "3.x", - "helpMarkDown": "Version range or exact version of a Python version to use, using semver's version range syntax. [More information](https://go.microsoft.com/fwlink/?LinkID=2006180)" - }, - { - "name": "disableDownloadFromRegistry", - "type": "boolean", - "label": "Disable downloading releases from the GitHub registry", - "required": false, - "defaultValue": "false", - "helpMarkDown": "Whether to disable downloading missing python version from the [Github Actions registry](https://github.com/actions/python-versions). Check this if you only want to use local pre-installed python." - }, - { - "name": "allowUnstable", - "type": "boolean", - "label": "Allow downloading unstable releases", - "required": false, - "defaultValue": "false", - "helpMarkDown": "Allow downloading unstable python versions from [Github Actions python versions registry](https://github.com/actions/python-versions).", - "visibleRule": "disableDownloadFromRegistry = false" - }, - { - "name": "githubToken", - "type": "string", - "label": "GitHub token for GitHub Actions python registry", - "required": false, - "helpMarkDown": "GitHub token is needed to prevent anonymous requests limit to the [Github Actions python versions registry](https://github.com/actions/python-versions). Leaving this empty may cause download failures. Not needed if you only use locally installed python.", - "visibleRule": "disableDownloadFromRegistry = false" - }, - { - "name": "addToPath", - "type": "boolean", - "label": "Add to PATH", - "required": true, - "defaultValue": "true", - "helpMarkDown": "Whether to prepend the retrieved Python version to the PATH environment variable to make it available in subsequent tasks or scripts without using the output variable." - }, - { - "name": "architecture", - "type": "pickList", - "label": "Architecture", - "defaultValue": "x64", - "required": true, - "helpMarkDown": "The target architecture (x86, x64) of the Python interpreter.", - "groupName": "advanced", - "options": { - "x86": "x86", - "x64": "x64" - } - } - ], - "outputVariables": [ - { - "name": "pythonLocation", - "description": "The directory of the installed Python distribution. Use this in subsequent tasks to access this installation of Python." - } - ], - "execution": { - "Node10": { - "target": "main.js", - "argumentFormat": "" - }, - "Node16": { - "target": "main.js", - "argumentFormat": "" - } + { + "name": "addToPath", + "type": "boolean", + "label": "Add to PATH", + "required": true, + "defaultValue": "true", + "helpMarkDown": "Whether to prepend the retrieved Python version to the PATH environment variable to make it available in subsequent tasks or scripts without using the output variable." }, - "messages": { - "ListAvailableVersions": "Versions in %s:", - "PlatformNotRecognized": "Platform not recognized", - "PrependPath": "Prepending PATH environment variable with directory: %s", - "PyPyNotFound": "Could not find an installation of PyPy%d in Agent.ToolsDirectory.", - "ToolNotFoundMicrosoftHosted": "If this is a Microsoft-hosted agent, check that this image supports side-by-side versions of %s at %s.", - "ToolNotFoundSelfHosted": "If this is a self-hosted agent, see how to configure side-by-side %s versions at %s.", - "VersionNotFound": "Version spec %s for architecture %s did not match any version in Agent.ToolsDirectory.", - "ExactVersionNotRecommended": "Specifying an exact version is not recommended on Microsoft-Hosted agents. Patch versions of Python can be replaced by new ones on Hosted agents without notice, which will cause builds to fail unexpectedly. It is recommended to specify only major or major and minor version (Example: `3` or `3.9`)", - "ExactVersionPyPyNotRecommended": "Specifying an exact version is not recommended on Microsoft-Hosted agents. Patch versions of PyPy can be replaced by new ones on Hosted agents without notice, which will cause builds to fail unexpectedly. It is recommended to specify only major or major and minor version (Example: `3` or `3.9`)", - "PythonVersionRetirement": "Python 3.5 has reached its end of life and will be removed from the ms-hosted images on January, 24. Please update Python version if you use ms-hosted agents. For more information about this - https://github.com/actions/virtual-environments", - "MissingGithubToken": "You should provide GitHub token if you want to download a python release. Otherwise you may hit the GitHub anonymous download limit.", - "DownloadNotFound": "Could not find Python matching spec %s (%s) in the python-versions registry. Beware that only systems listed in the Github Actions python versions manifest (https://github.com/actions/python-versions/blob/main/versions-manifest.json) are fit for downloading python on-flight. Also, proxy is not supported.", - "ManifestDownloadFailed": "Failed to download Python versions manifest from the Github Actions python registry (https://github.com/actions/python-versions). Invalid GitHub token could cause this.", - "DownloadFailed": "Failed to download Python from the Github Actions python registry (https://github.com/actions/python-versions). Error: %s" + { + "name": "architecture", + "type": "pickList", + "label": "Architecture", + "defaultValue": "x64", + "required": true, + "helpMarkDown": "The target architecture (x86, x64) of the Python interpreter.", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + } + ], + "outputVariables": [ + { + "name": "pythonLocation", + "description": "The directory of the installed Python distribution. Use this in subsequent tasks to access this installation of Python." + } + ], + "execution": { + "Node10": { + "target": "main.js", + "argumentFormat": "" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } + }, + "messages": { + "ListAvailableVersions": "Versions in %s:", + "PlatformNotRecognized": "Platform not recognized", + "PrependPath": "Prepending PATH environment variable with directory: %s", + "PyPyNotFound": "Could not find an installation of PyPy%d in Agent.ToolsDirectory.", + "ToolNotFoundMicrosoftHosted": "If this is a Microsoft-hosted agent, check that this image supports side-by-side versions of %s at %s.", + "ToolNotFoundSelfHosted": "If this is a self-hosted agent, see how to configure side-by-side %s versions at %s.", + "VersionNotFound": "Version spec %s for architecture %s did not match any version in Agent.ToolsDirectory.", + "ExactVersionNotRecommended": "Specifying an exact version is not recommended on Microsoft-Hosted agents. Patch versions of Python can be replaced by new ones on Hosted agents without notice, which will cause builds to fail unexpectedly. It is recommended to specify only major or major and minor version (Example: `3` or `3.9`)", + "ExactVersionPyPyNotRecommended": "Specifying an exact version is not recommended on Microsoft-Hosted agents. Patch versions of PyPy can be replaced by new ones on Hosted agents without notice, which will cause builds to fail unexpectedly. It is recommended to specify only major or major and minor version (Example: `3` or `3.9`)", + "PythonVersionRetirement": "Python 3.5 has reached its end of life and will be removed from the ms-hosted images on January, 24. Please update Python version if you use ms-hosted agents. For more information about this - https://github.com/actions/virtual-environments", + "MissingGithubToken": "You should provide GitHub token if you want to download a python release. Otherwise you may hit the GitHub anonymous download limit.", + "DownloadNotFound": "Could not find Python matching spec %s (%s) in the python-versions registry. Beware that only systems listed in the Github Actions python versions manifest (https://github.com/actions/python-versions/blob/main/versions-manifest.json) are fit for downloading python on-flight. Also, proxy is not supported.", + "ManifestDownloadFailed": "Failed to download Python versions manifest from the Github Actions python registry (https://github.com/actions/python-versions). Invalid GitHub token could cause this.", + "DownloadFailed": "Failed to download Python from the Github Actions python registry (https://github.com/actions/python-versions). Error: %s" + }, + "restrictions": { + "commands": { + "mode": "restricted" }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [ - "pythonLocation", - "PATH" - ] - } + "settableVariables": { + "allowed": [ + "pythonLocation", + "PATH" + ] } + } } \ No newline at end of file diff --git a/Tasks/UsePythonVersionV0/task.loc.json b/Tasks/UsePythonVersionV0/task.loc.json index 7eac388bcfb6..a9c6c64bdbc6 100644 --- a/Tasks/UsePythonVersionV0/task.loc.json +++ b/Tasks/UsePythonVersionV0/task.loc.json @@ -14,8 +14,8 @@ "minimumAgentVersion": "2.182.1", "version": { "Major": 0, - "Minor": 231, - "Patch": 2 + "Minor": 235, + "Patch": 0 }, "demands": [], "instanceNameFormat": "ms-resource:loc.instanceNameFormat", diff --git a/Tasks/UseRubyVersionV0/_buildConfigs/Node20/package-lock.json b/Tasks/UseRubyVersionV0/_buildConfigs/Node20/package-lock.json index 54a1249cd139..91b582f62f06 100644 --- a/Tasks/UseRubyVersionV0/_buildConfigs/Node20/package-lock.json +++ b/Tasks/UseRubyVersionV0/_buildConfigs/Node20/package-lock.json @@ -26,11 +26,11 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "requires": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "@types/q": { @@ -110,9 +110,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-pipelines-task-lib": { "version": "4.6.1", @@ -267,9 +267,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -565,9 +565,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", @@ -695,9 +695,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "utf8-byte-length": { "version": "1.0.4", diff --git a/Tasks/UseRubyVersionV0/package-lock.json b/Tasks/UseRubyVersionV0/package-lock.json index 9f47211954cd..a67870a7d297 100644 --- a/Tasks/UseRubyVersionV0/package-lock.json +++ b/Tasks/UseRubyVersionV0/package-lock.json @@ -259,9 +259,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -557,9 +557,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/Tasks/UseRubyVersionV0/task.json b/Tasks/UseRubyVersionV0/task.json index d979e7e81899..4267b608a7e3 100644 --- a/Tasks/UseRubyVersionV0/task.json +++ b/Tasks/UseRubyVersionV0/task.json @@ -1,75 +1,75 @@ { - "id": "630C472C-CDE7-4CD8-BA13-E00CA5FF180B", - "name": "UseRubyVersion", - "friendlyName": "Use Ruby version", - "description": "Use the specified version of Ruby from the tool cache, optionally adding it to the PATH", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/use-ruby-version", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=2005989) or [see the Ruby documentation](https://www.ruby-lang.org/)", - "category": "Tool", - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 0, - "Minor": 231, - "Patch": 2 + "id": "630C472C-CDE7-4CD8-BA13-E00CA5FF180B", + "name": "UseRubyVersion", + "friendlyName": "Use Ruby version", + "description": "Use the specified version of Ruby from the tool cache, optionally adding it to the PATH", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/use-ruby-version", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=2005989) or [see the Ruby documentation](https://www.ruby-lang.org/)", + "category": "Tool", + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 0, + "Minor": 235, + "Patch": 0 + }, + "demands": [], + "minimumAgentVersion": "2.182.1", + "instanceNameFormat": "Use Ruby $(versionSpec)", + "inputs": [ + { + "name": "versionSpec", + "type": "string", + "label": "Version spec", + "required": true, + "defaultValue": ">= 2.4", + "helpMarkDown": "Version range or exact version of a Ruby version to use." }, - "demands": [], - "minimumAgentVersion": "2.182.1", - "instanceNameFormat": "Use Ruby $(versionSpec)", - "inputs": [ - { - "name": "versionSpec", - "type": "string", - "label": "Version spec", - "required": true, - "defaultValue": ">= 2.4", - "helpMarkDown": "Version range or exact version of a Ruby version to use." - }, - { - "name": "addToPath", - "type": "boolean", - "label": "Add to PATH", - "required": false, - "defaultValue": "true", - "helpMarkDown": "Prepend the retrieved Ruby version to the PATH environment variable to make it available in subsequent tasks or scripts without using the output variable." - } - ], - "outputVariables": [ - { - "name": "rubyLocation", - "description": "The resolved folder of the Ruby distribution." - } - ], - "execution": { - "Node10": { - "target": "main.js", - "argumentFormat": "" - }, - "Node16": { - "target": "main.js", - "argumentFormat": "" - } + { + "name": "addToPath", + "type": "boolean", + "label": "Add to PATH", + "required": false, + "defaultValue": "true", + "helpMarkDown": "Prepend the retrieved Ruby version to the PATH environment variable to make it available in subsequent tasks or scripts without using the output variable." + } + ], + "outputVariables": [ + { + "name": "rubyLocation", + "description": "The resolved folder of the Ruby distribution." + } + ], + "execution": { + "Node10": { + "target": "main.js", + "argumentFormat": "" }, - "messages": { - "ListAvailableVersions": "Available versions:", - "PlatformNotRecognized": "Platform not recognized", - "ToolNotFoundMicrosoftHosted": "If this is a Microsoft-hosted agent, check that this image supports side-by-side versions of %s at %s.", - "ToolNotFoundSelfHosted": "If this is a self-hosted agent, see how to configure side-by-side %s versions at %s.", - "VersionNotFound": "Version spec %s for architecture %s did not match any version in Agent.ToolsDirectory.", - "ExactVersionNotRecommended": "Specifying an exact version is not recommended on Microsoft-Hosted agents. Patch versions of Ruby can be replaced by new ones on Hosted agents without notice, which will cause builds to fail unexpectedly. It is recommended to specify only major or major and minor version (Example: `2` or `2.4`)" + "Node16": { + "target": "main.js", + "argumentFormat": "" + } + }, + "messages": { + "ListAvailableVersions": "Available versions:", + "PlatformNotRecognized": "Platform not recognized", + "ToolNotFoundMicrosoftHosted": "If this is a Microsoft-hosted agent, check that this image supports side-by-side versions of %s at %s.", + "ToolNotFoundSelfHosted": "If this is a self-hosted agent, see how to configure side-by-side %s versions at %s.", + "VersionNotFound": "Version spec %s for architecture %s did not match any version in Agent.ToolsDirectory.", + "ExactVersionNotRecommended": "Specifying an exact version is not recommended on Microsoft-Hosted agents. Patch versions of Ruby can be replaced by new ones on Hosted agents without notice, which will cause builds to fail unexpectedly. It is recommended to specify only major or major and minor version (Example: `2` or `2.4`)" + }, + "restrictions": { + "commands": { + "mode": "restricted" }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [ - "rubyLocation", - "PATH" - ] - } + "settableVariables": { + "allowed": [ + "rubyLocation", + "PATH" + ] } + } } \ No newline at end of file diff --git a/Tasks/UseRubyVersionV0/task.loc.json b/Tasks/UseRubyVersionV0/task.loc.json index 4875f44db262..d0b80fcf082f 100644 --- a/Tasks/UseRubyVersionV0/task.loc.json +++ b/Tasks/UseRubyVersionV0/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 231, - "Patch": 2 + "Minor": 235, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "2.182.1", diff --git a/Tasks/XcodeV5/_buildConfigs/Node20/package-lock.json b/Tasks/XcodeV5/_buildConfigs/Node20/package-lock.json index 46df9e5b4583..1809f87ba573 100644 --- a/Tasks/XcodeV5/_buildConfigs/Node20/package-lock.json +++ b/Tasks/XcodeV5/_buildConfigs/Node20/package-lock.json @@ -26,9 +26,12 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", - "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==" + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", + "requires": { + "undici-types": "~5.26.4" + } }, "@types/q": { "version": "1.5.4", @@ -310,9 +313,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -608,9 +611,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", @@ -737,6 +740,11 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", diff --git a/Tasks/XcodeV5/package-lock.json b/Tasks/XcodeV5/package-lock.json index f6b30d6cfc5d..d42052899472 100644 --- a/Tasks/XcodeV5/package-lock.json +++ b/Tasks/XcodeV5/package-lock.json @@ -305,9 +305,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -596,9 +596,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/Tasks/XcodeV5/task.json b/Tasks/XcodeV5/task.json index 26c89e684d19..88a3deaa2443 100644 --- a/Tasks/XcodeV5/task.json +++ b/Tasks/XcodeV5/task.json @@ -12,8 +12,8 @@ "author": "Microsoft Corporation", "version": { "Major": 5, - "Minor": 231, - "Patch": 4 + "Minor": 235, + "Patch": 0 }, "releaseNotes": "This version of the task is compatible with Xcode 8 - 13. Features that were solely to maintain compatibility with Xcode 7 have been removed. This task has better options for using Microsoft-hosted macOS agents.", "demands": [ diff --git a/Tasks/XcodeV5/task.loc.json b/Tasks/XcodeV5/task.loc.json index e1a070704c30..987716f17c9b 100644 --- a/Tasks/XcodeV5/task.loc.json +++ b/Tasks/XcodeV5/task.loc.json @@ -12,8 +12,8 @@ "author": "Microsoft Corporation", "version": { "Major": 5, - "Minor": 231, - "Patch": 4 + "Minor": 235, + "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", "demands": [ diff --git a/_generated/NodeToolV0.versionmap.txt b/_generated/NodeToolV0.versionmap.txt index 75c0fa217107..3bb1c1cb105d 100644 --- a/_generated/NodeToolV0.versionmap.txt +++ b/_generated/NodeToolV0.versionmap.txt @@ -1,2 +1,2 @@ -Default|0.233.0 -Node20-225|0.233.1 +Default|0.235.0 +Node20-225|0.235.1 diff --git a/_generated/NodeToolV0/package-lock.json b/_generated/NodeToolV0/package-lock.json index 9e9acfdeb117..0412215572f9 100644 --- a/_generated/NodeToolV0/package-lock.json +++ b/_generated/NodeToolV0/package-lock.json @@ -269,9 +269,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -567,9 +567,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/_generated/NodeToolV0/task.json b/_generated/NodeToolV0/task.json index a0f7c69e0292..8c369d2f7f5c 100644 --- a/_generated/NodeToolV0/task.json +++ b/_generated/NodeToolV0/task.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 233, + "Minor": 235, "Patch": 0 }, "satisfies": [ @@ -130,7 +130,7 @@ "AgentTempDirNotSet": "Expected Agent.TempDirectory to be set." }, "_buildConfigMapping": { - "Default": "0.233.0", - "Node20-225": "0.233.1" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/NodeToolV0/task.loc.json b/_generated/NodeToolV0/task.loc.json index b1bc9437e12a..e1290df93d2d 100644 --- a/_generated/NodeToolV0/task.loc.json +++ b/_generated/NodeToolV0/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 233, + "Minor": 235, "Patch": 0 }, "satisfies": [ @@ -130,7 +130,7 @@ "AgentTempDirNotSet": "ms-resource:loc.messages.AgentTempDirNotSet" }, "_buildConfigMapping": { - "Default": "0.233.0", - "Node20-225": "0.233.1" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/NodeToolV0_Node20/package-lock.json b/_generated/NodeToolV0_Node20/package-lock.json index 33200c61b550..fc3052e849bf 100644 --- a/_generated/NodeToolV0_Node20/package-lock.json +++ b/_generated/NodeToolV0_Node20/package-lock.json @@ -26,19 +26,22 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.5.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", - "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", + "requires": { + "undici-types": "~5.26.4" + } }, "@types/q": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.6.tgz", - "integrity": "sha512-IKjZ8RjTSwD4/YG+2gtj7BPFRB/lNbWKTiSj3M7U/TD2B7HfYCxvp2Zz6xA2WIY7pAuL1QOUPw8gQRbUrrq4fQ==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" }, "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, "@types/semver": { "version": "5.5.0", @@ -107,9 +110,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-pipelines-task-lib": { "version": "4.6.1", @@ -274,9 +277,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -299,13 +302,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-proto": "^1.0.1", "has-symbols": "^1.0.3" } }, @@ -345,11 +347,6 @@ "function-bind": "^1.1.1" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -410,9 +407,9 @@ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "requires": { "has": "^1.0.3" } @@ -479,9 +476,9 @@ } }, "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, "once": { "version": "1.4.0", @@ -512,9 +509,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", "requires": { "asap": "~2.0.6" } @@ -525,17 +522,17 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "requires": { "side-channel": "^1.0.4" } }, "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -555,11 +552,11 @@ } }, "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "requires": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -707,6 +704,11 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", diff --git a/_generated/NodeToolV0_Node20/task.json b/_generated/NodeToolV0_Node20/task.json index cc500274d18e..453253b2a23a 100644 --- a/_generated/NodeToolV0_Node20/task.json +++ b/_generated/NodeToolV0_Node20/task.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 233, + "Minor": 235, "Patch": 1 }, "satisfies": [ @@ -134,7 +134,7 @@ "AgentTempDirNotSet": "Expected Agent.TempDirectory to be set." }, "_buildConfigMapping": { - "Default": "0.233.0", - "Node20-225": "0.233.1" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/NodeToolV0_Node20/task.loc.json b/_generated/NodeToolV0_Node20/task.loc.json index 9b4eeead970e..11420513ae36 100644 --- a/_generated/NodeToolV0_Node20/task.loc.json +++ b/_generated/NodeToolV0_Node20/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 233, + "Minor": 235, "Patch": 1 }, "satisfies": [ @@ -134,7 +134,7 @@ "AgentTempDirNotSet": "ms-resource:loc.messages.AgentTempDirNotSet" }, "_buildConfigMapping": { - "Default": "0.233.0", - "Node20-225": "0.233.1" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/UseNodeV1.versionmap.txt b/_generated/UseNodeV1.versionmap.txt index 55c55a5feb16..26181367ed1e 100644 --- a/_generated/UseNodeV1.versionmap.txt +++ b/_generated/UseNodeV1.versionmap.txt @@ -1,2 +1,2 @@ -Default|1.231.6 -Node20-225|1.231.7 +Default|1.235.0 +Node20-225|1.235.1 diff --git a/_generated/UseNodeV1/package-lock.json b/_generated/UseNodeV1/package-lock.json index 971c9275a7ee..d95832d9fa74 100644 --- a/_generated/UseNodeV1/package-lock.json +++ b/_generated/UseNodeV1/package-lock.json @@ -259,9 +259,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -557,9 +557,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/_generated/UseNodeV1/task.json b/_generated/UseNodeV1/task.json index 310f424fe70d..74281391139e 100644 --- a/_generated/UseNodeV1/task.json +++ b/_generated/UseNodeV1/task.json @@ -16,8 +16,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 231, - "Patch": 6 + "Minor": 235, + "Patch": 0 }, "satisfies": [ "Node", @@ -88,7 +88,7 @@ "AgentTempDirNotSet": "Expected Agent.TempDirectory to be set." }, "_buildConfigMapping": { - "Default": "1.231.6", - "Node20-225": "1.231.7" + "Default": "1.235.0", + "Node20-225": "1.235.1" } } \ No newline at end of file diff --git a/_generated/UseNodeV1/task.loc.json b/_generated/UseNodeV1/task.loc.json index 8f0a67cbfa8b..f36315b2b801 100644 --- a/_generated/UseNodeV1/task.loc.json +++ b/_generated/UseNodeV1/task.loc.json @@ -16,8 +16,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 231, - "Patch": 6 + "Minor": 235, + "Patch": 0 }, "satisfies": [ "Node", @@ -88,7 +88,7 @@ "AgentTempDirNotSet": "ms-resource:loc.messages.AgentTempDirNotSet" }, "_buildConfigMapping": { - "Default": "1.231.6", - "Node20-225": "1.231.7" + "Default": "1.235.0", + "Node20-225": "1.235.1" } } \ No newline at end of file diff --git a/_generated/UseNodeV1_Node20/package-lock.json b/_generated/UseNodeV1_Node20/package-lock.json index 67f4acf57a47..9316fb8c8e1e 100644 --- a/_generated/UseNodeV1_Node20/package-lock.json +++ b/_generated/UseNodeV1_Node20/package-lock.json @@ -26,19 +26,22 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.5.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.8.tgz", - "integrity": "sha512-eajsR9aeljqNhK028VG0Wuw+OaY5LLxYmxeoXynIoE6jannr9/Ucd1LL0hSSoafk5LTYG+FfqsyGt81Q6Zkybw==" + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", + "requires": { + "undici-types": "~5.26.4" + } }, "@types/q": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.6.tgz", - "integrity": "sha512-IKjZ8RjTSwD4/YG+2gtj7BPFRB/lNbWKTiSj3M7U/TD2B7HfYCxvp2Zz6xA2WIY7pAuL1QOUPw8gQRbUrrq4fQ==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" }, "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, "@types/semver": { "version": "5.5.0", @@ -107,9 +110,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-pipelines-task-lib": { "version": "4.6.1", @@ -264,9 +267,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -289,13 +292,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-proto": "^1.0.1", "has-symbols": "^1.0.3" } }, @@ -335,11 +337,6 @@ "function-bind": "^1.1.1" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -400,9 +397,9 @@ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "requires": { "has": "^1.0.3" } @@ -469,9 +466,9 @@ } }, "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, "once": { "version": "1.4.0", @@ -502,9 +499,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", "requires": { "asap": "~2.0.6" } @@ -515,17 +512,17 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "requires": { "side-channel": "^1.0.4" } }, "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -545,11 +542,11 @@ } }, "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "requires": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -672,9 +669,9 @@ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" }, "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", + "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", "requires": { "qs": "^6.9.1", "tunnel": "0.0.6", @@ -697,6 +694,11 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", diff --git a/_generated/UseNodeV1_Node20/task.json b/_generated/UseNodeV1_Node20/task.json index c3e1f500f69f..78a7550c7fac 100644 --- a/_generated/UseNodeV1_Node20/task.json +++ b/_generated/UseNodeV1_Node20/task.json @@ -16,8 +16,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 231, - "Patch": 7 + "Minor": 235, + "Patch": 1 }, "satisfies": [ "Node", @@ -92,7 +92,7 @@ "AgentTempDirNotSet": "Expected Agent.TempDirectory to be set." }, "_buildConfigMapping": { - "Default": "1.231.6", - "Node20-225": "1.231.7" + "Default": "1.235.0", + "Node20-225": "1.235.1" } } \ No newline at end of file diff --git a/_generated/UseNodeV1_Node20/task.loc.json b/_generated/UseNodeV1_Node20/task.loc.json index 13fe48c2193c..53570846b091 100644 --- a/_generated/UseNodeV1_Node20/task.loc.json +++ b/_generated/UseNodeV1_Node20/task.loc.json @@ -16,8 +16,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 231, - "Patch": 7 + "Minor": 235, + "Patch": 1 }, "satisfies": [ "Node", @@ -92,7 +92,7 @@ "AgentTempDirNotSet": "ms-resource:loc.messages.AgentTempDirNotSet" }, "_buildConfigMapping": { - "Default": "1.231.6", - "Node20-225": "1.231.7" + "Default": "1.235.0", + "Node20-225": "1.235.1" } } \ No newline at end of file diff --git a/_generated/UsePythonVersionV0.versionmap.txt b/_generated/UsePythonVersionV0.versionmap.txt index 0255841da0b3..3bb1c1cb105d 100644 --- a/_generated/UsePythonVersionV0.versionmap.txt +++ b/_generated/UsePythonVersionV0.versionmap.txt @@ -1,2 +1,2 @@ -Default|0.231.2 -Node20-225|0.231.3 +Default|0.235.0 +Node20-225|0.235.1 diff --git a/_generated/UsePythonVersionV0/package-lock.json b/_generated/UsePythonVersionV0/package-lock.json index b747550f93f3..24cea7279638 100644 --- a/_generated/UsePythonVersionV0/package-lock.json +++ b/_generated/UsePythonVersionV0/package-lock.json @@ -276,9 +276,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -582,9 +582,9 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } diff --git a/_generated/UsePythonVersionV0/package.json b/_generated/UsePythonVersionV0/package.json index ad721d69caf8..fab588830240 100644 --- a/_generated/UsePythonVersionV0/package.json +++ b/_generated/UsePythonVersionV0/package.json @@ -23,14 +23,14 @@ }, "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", "dependencies": { + "@types/mocha": "^5.2.7", "@types/node": "^16.11.39", "@types/q": "^1.0.7", - "@types/mocha": "^5.2.7", "azure-pipelines-task-lib": "^5.0.0-preview.0", "azure-pipelines-tasks-utility-common": "^3.230.0", "azure-pipelines-tool-lib": "^2.0.7", - "typed-rest-client": "^1.8.6", - "semver": "^7.3.5" + "semver": "^7.5.4", + "typed-rest-client": "^1.8.6" }, "devDependencies": { "typescript": "4.0.2" diff --git a/_generated/UsePythonVersionV0/task.json b/_generated/UsePythonVersionV0/task.json index 21264821705e..12c3e9877ea0 100644 --- a/_generated/UsePythonVersionV0/task.json +++ b/_generated/UsePythonVersionV0/task.json @@ -14,8 +14,8 @@ "minimumAgentVersion": "2.182.1", "version": { "Major": 0, - "Minor": 231, - "Patch": 2 + "Minor": 235, + "Patch": 0 }, "demands": [], "instanceNameFormat": "Use Python $(versionSpec)", @@ -126,7 +126,7 @@ } }, "_buildConfigMapping": { - "Default": "0.231.2", - "Node20-225": "0.231.3" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/UsePythonVersionV0/task.loc.json b/_generated/UsePythonVersionV0/task.loc.json index 574694f62d91..b6e807b1445a 100644 --- a/_generated/UsePythonVersionV0/task.loc.json +++ b/_generated/UsePythonVersionV0/task.loc.json @@ -14,8 +14,8 @@ "minimumAgentVersion": "2.182.1", "version": { "Major": 0, - "Minor": 231, - "Patch": 2 + "Minor": 235, + "Patch": 0 }, "demands": [], "instanceNameFormat": "ms-resource:loc.instanceNameFormat", @@ -126,7 +126,7 @@ } }, "_buildConfigMapping": { - "Default": "0.231.2", - "Node20-225": "0.231.3" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/UsePythonVersionV0_Node20/package-lock.json b/_generated/UsePythonVersionV0_Node20/package-lock.json index 4162de7ace16..c15915e9fd48 100644 --- a/_generated/UsePythonVersionV0_Node20/package-lock.json +++ b/_generated/UsePythonVersionV0_Node20/package-lock.json @@ -26,11 +26,11 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "requires": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "@types/q": { @@ -117,9 +117,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-pipelines-task-lib": { "version": "4.6.1", @@ -284,9 +284,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -590,9 +590,9 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -723,9 +723,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "utf8-byte-length": { "version": "1.0.4", diff --git a/_generated/UsePythonVersionV0_Node20/package.json b/_generated/UsePythonVersionV0_Node20/package.json index 12895cf27e92..1f5b4e5dd2b7 100644 --- a/_generated/UsePythonVersionV0_Node20/package.json +++ b/_generated/UsePythonVersionV0_Node20/package.json @@ -23,14 +23,14 @@ }, "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", "dependencies": { + "@types/mocha": "^5.2.7", "@types/node": "^20.3.1", "@types/q": "^1.0.7", - "@types/mocha": "^5.2.7", "azure-pipelines-task-lib": "^5.0.0-preview.0", "azure-pipelines-tasks-utility-common": "^3.230.0", "azure-pipelines-tool-lib": "^2.0.7", - "typed-rest-client": "^1.8.6", - "semver": "^7.3.5" + "semver": "^7.5.4", + "typed-rest-client": "^1.8.6" }, "devDependencies": { "typescript": "5.1.6" diff --git a/_generated/UsePythonVersionV0_Node20/task.json b/_generated/UsePythonVersionV0_Node20/task.json index d2e16e794b1f..70df6b7ae9b6 100644 --- a/_generated/UsePythonVersionV0_Node20/task.json +++ b/_generated/UsePythonVersionV0_Node20/task.json @@ -14,8 +14,8 @@ "minimumAgentVersion": "2.182.1", "version": { "Major": 0, - "Minor": 231, - "Patch": 3 + "Minor": 235, + "Patch": 1 }, "demands": [], "instanceNameFormat": "Use Python $(versionSpec)", @@ -130,7 +130,7 @@ } }, "_buildConfigMapping": { - "Default": "0.231.2", - "Node20-225": "0.231.3" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/UsePythonVersionV0_Node20/task.loc.json b/_generated/UsePythonVersionV0_Node20/task.loc.json index 304e8c30b8c4..8480938de328 100644 --- a/_generated/UsePythonVersionV0_Node20/task.loc.json +++ b/_generated/UsePythonVersionV0_Node20/task.loc.json @@ -14,8 +14,8 @@ "minimumAgentVersion": "2.182.1", "version": { "Major": 0, - "Minor": 231, - "Patch": 3 + "Minor": 235, + "Patch": 1 }, "demands": [], "instanceNameFormat": "ms-resource:loc.instanceNameFormat", @@ -130,7 +130,7 @@ } }, "_buildConfigMapping": { - "Default": "0.231.2", - "Node20-225": "0.231.3" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/UseRubyVersionV0.versionmap.txt b/_generated/UseRubyVersionV0.versionmap.txt index 0255841da0b3..3bb1c1cb105d 100644 --- a/_generated/UseRubyVersionV0.versionmap.txt +++ b/_generated/UseRubyVersionV0.versionmap.txt @@ -1,2 +1,2 @@ -Default|0.231.2 -Node20-225|0.231.3 +Default|0.235.0 +Node20-225|0.235.1 diff --git a/_generated/UseRubyVersionV0/package-lock.json b/_generated/UseRubyVersionV0/package-lock.json index 9f47211954cd..a67870a7d297 100644 --- a/_generated/UseRubyVersionV0/package-lock.json +++ b/_generated/UseRubyVersionV0/package-lock.json @@ -259,9 +259,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -557,9 +557,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/_generated/UseRubyVersionV0/task.json b/_generated/UseRubyVersionV0/task.json index 68635e1a24c2..2ff8b5e530d4 100644 --- a/_generated/UseRubyVersionV0/task.json +++ b/_generated/UseRubyVersionV0/task.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 231, - "Patch": 2 + "Minor": 235, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "2.182.1", @@ -73,7 +73,7 @@ } }, "_buildConfigMapping": { - "Default": "0.231.2", - "Node20-225": "0.231.3" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/UseRubyVersionV0/task.loc.json b/_generated/UseRubyVersionV0/task.loc.json index ff37a1ce2235..7eb2dc3997c6 100644 --- a/_generated/UseRubyVersionV0/task.loc.json +++ b/_generated/UseRubyVersionV0/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 231, - "Patch": 2 + "Minor": 235, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "2.182.1", @@ -73,7 +73,7 @@ } }, "_buildConfigMapping": { - "Default": "0.231.2", - "Node20-225": "0.231.3" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/UseRubyVersionV0_Node20/package-lock.json b/_generated/UseRubyVersionV0_Node20/package-lock.json index 54a1249cd139..91b582f62f06 100644 --- a/_generated/UseRubyVersionV0_Node20/package-lock.json +++ b/_generated/UseRubyVersionV0_Node20/package-lock.json @@ -26,11 +26,11 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "requires": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "@types/q": { @@ -110,9 +110,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-pipelines-task-lib": { "version": "4.6.1", @@ -267,9 +267,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -565,9 +565,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", @@ -695,9 +695,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "utf8-byte-length": { "version": "1.0.4", diff --git a/_generated/UseRubyVersionV0_Node20/task.json b/_generated/UseRubyVersionV0_Node20/task.json index 063ce3db33ef..c4df729f2770 100644 --- a/_generated/UseRubyVersionV0_Node20/task.json +++ b/_generated/UseRubyVersionV0_Node20/task.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 231, - "Patch": 3 + "Minor": 235, + "Patch": 1 }, "demands": [], "minimumAgentVersion": "2.182.1", @@ -77,7 +77,7 @@ } }, "_buildConfigMapping": { - "Default": "0.231.2", - "Node20-225": "0.231.3" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/UseRubyVersionV0_Node20/task.loc.json b/_generated/UseRubyVersionV0_Node20/task.loc.json index 52d394cc8637..14d473106a2f 100644 --- a/_generated/UseRubyVersionV0_Node20/task.loc.json +++ b/_generated/UseRubyVersionV0_Node20/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 231, - "Patch": 3 + "Minor": 235, + "Patch": 1 }, "demands": [], "minimumAgentVersion": "2.182.1", @@ -77,7 +77,7 @@ } }, "_buildConfigMapping": { - "Default": "0.231.2", - "Node20-225": "0.231.3" + "Default": "0.235.0", + "Node20-225": "0.235.1" } } \ No newline at end of file diff --git a/_generated/XcodeV5.versionmap.txt b/_generated/XcodeV5.versionmap.txt index 76e62077a718..2ba9c254d58b 100644 --- a/_generated/XcodeV5.versionmap.txt +++ b/_generated/XcodeV5.versionmap.txt @@ -1,2 +1,2 @@ -Default|5.231.4 -Node20-225|5.231.5 +Default|5.235.0 +Node20-225|5.235.1 diff --git a/_generated/XcodeV5/package-lock.json b/_generated/XcodeV5/package-lock.json index f6b30d6cfc5d..d42052899472 100644 --- a/_generated/XcodeV5/package-lock.json +++ b/_generated/XcodeV5/package-lock.json @@ -305,9 +305,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -596,9 +596,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/_generated/XcodeV5/task.json b/_generated/XcodeV5/task.json index 579d10dc6a56..207bb319a8df 100644 --- a/_generated/XcodeV5/task.json +++ b/_generated/XcodeV5/task.json @@ -12,8 +12,8 @@ "author": "Microsoft Corporation", "version": { "Major": 5, - "Minor": 231, - "Patch": 4 + "Minor": 235, + "Patch": 0 }, "releaseNotes": "This version of the task is compatible with Xcode 8 - 13. Features that were solely to maintain compatibility with Xcode 7 have been removed. This task has better options for using Microsoft-hosted macOS agents.", "demands": [ @@ -412,7 +412,7 @@ "UsingDefaultSimulator": "Using default simulator: %s." }, "_buildConfigMapping": { - "Default": "5.231.4", - "Node20-225": "5.231.5" + "Default": "5.235.0", + "Node20-225": "5.235.1" } } \ No newline at end of file diff --git a/_generated/XcodeV5/task.loc.json b/_generated/XcodeV5/task.loc.json index 82c2a67ab709..c7f95da5fd15 100644 --- a/_generated/XcodeV5/task.loc.json +++ b/_generated/XcodeV5/task.loc.json @@ -12,8 +12,8 @@ "author": "Microsoft Corporation", "version": { "Major": 5, - "Minor": 231, - "Patch": 4 + "Minor": 235, + "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", "demands": [ @@ -412,7 +412,7 @@ "UsingDefaultSimulator": "ms-resource:loc.messages.UsingDefaultSimulator" }, "_buildConfigMapping": { - "Default": "5.231.4", - "Node20-225": "5.231.5" + "Default": "5.235.0", + "Node20-225": "5.235.1" } } \ No newline at end of file diff --git a/_generated/XcodeV5_Node20/package-lock.json b/_generated/XcodeV5_Node20/package-lock.json index 46df9e5b4583..1809f87ba573 100644 --- a/_generated/XcodeV5_Node20/package-lock.json +++ b/_generated/XcodeV5_Node20/package-lock.json @@ -26,9 +26,12 @@ "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", - "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==" + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", + "requires": { + "undici-types": "~5.26.4" + } }, "@types/q": { "version": "1.5.4", @@ -310,9 +313,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -608,9 +611,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", @@ -737,6 +740,11 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", diff --git a/_generated/XcodeV5_Node20/task.json b/_generated/XcodeV5_Node20/task.json index 5fcd7f8f5259..c7eb1926d685 100644 --- a/_generated/XcodeV5_Node20/task.json +++ b/_generated/XcodeV5_Node20/task.json @@ -12,8 +12,8 @@ "author": "Microsoft Corporation", "version": { "Major": 5, - "Minor": 231, - "Patch": 5 + "Minor": 235, + "Patch": 1 }, "releaseNotes": "This version of the task is compatible with Xcode 8 - 13. Features that were solely to maintain compatibility with Xcode 7 have been removed. This task has better options for using Microsoft-hosted macOS agents.", "demands": [ @@ -420,7 +420,7 @@ "UsingDefaultSimulator": "Using default simulator: %s." }, "_buildConfigMapping": { - "Default": "5.231.4", - "Node20-225": "5.231.5" + "Default": "5.235.0", + "Node20-225": "5.235.1" } } \ No newline at end of file diff --git a/_generated/XcodeV5_Node20/task.loc.json b/_generated/XcodeV5_Node20/task.loc.json index ace966bff804..54fa9b426b47 100644 --- a/_generated/XcodeV5_Node20/task.loc.json +++ b/_generated/XcodeV5_Node20/task.loc.json @@ -12,8 +12,8 @@ "author": "Microsoft Corporation", "version": { "Major": 5, - "Minor": 231, - "Patch": 5 + "Minor": 235, + "Patch": 1 }, "releaseNotes": "ms-resource:loc.releaseNotes", "demands": [ @@ -420,7 +420,7 @@ "UsingDefaultSimulator": "ms-resource:loc.messages.UsingDefaultSimulator" }, "_buildConfigMapping": { - "Default": "5.231.4", - "Node20-225": "5.231.5" + "Default": "5.235.0", + "Node20-225": "5.235.1" } } \ No newline at end of file From cfcb8acc01e5dd31f0a960f633573d71246e49cc Mon Sep 17 00:00:00 2001 From: Junjie Gao Date: Mon, 29 Jan 2024 17:19:02 +0800 Subject: [PATCH 02/10] [NotationV0] bump: bump up notation version to v1.1.0 (#19468) * bump: bump up notation version to v1.1.0 Signed-off-by: Junjie Gao * fix: bump up task version Signed-off-by: Junjie Gao * fix: bump up task version Signed-off-by: Junjie Gao * fix: update code Signed-off-by: Junjie Gao --------- Signed-off-by: Junjie Gao --- Tasks/NotationV0/README.md | 42 +--------- Tasks/NotationV0/data/notation_versions.json | 29 +++++++ Tasks/NotationV0/package-lock.json | 2 +- Tasks/NotationV0/package.json | 2 +- Tasks/NotationV0/scripts/generate_checksum.py | 81 +++++++++++++++++++ Tasks/NotationV0/task.json | 4 +- Tasks/NotationV0/task.loc.json | 4 +- 7 files changed, 119 insertions(+), 45 deletions(-) create mode 100644 Tasks/NotationV0/scripts/generate_checksum.py diff --git a/Tasks/NotationV0/README.md b/Tasks/NotationV0/README.md index 6da57e5e067f..22bff99c5c75 100644 --- a/Tasks/NotationV0/README.md +++ b/Tasks/NotationV0/README.md @@ -18,42 +18,6 @@ It transfers the trust store and trust policy from the user's code repository to - public network access for downloading Notation CLI and Notation Azure Key Vault plugin from Github releases. - Supported OS: Linux x64/ARM64, Windows x64, macOS x64/ARM64 -# User Documents -- [Notation sign on ADO pipeline](./docs/sign-images-pipeline.md) - -## Inputs -`command` - Command -`string`. Required. Allowed values: `install`, `sign` and `verify`. - -`artifactRefs` - Artifact References -`string`. The container artifact reference with digest. If multiple references are used, please use comma to separate them. If it was not specified, the task will automatically detect it from previous Docker task. - -`plugin` - Plugin -`string`. Required for sign command. Allowed values: `azureKeyVault`. - -`akvPluginVersion` - Azure Key Vault Plugin Version -`string`. Required for `azureKeyVault` plugin. The version for Azure Key Vault plugin. Please visit the [release page](https://github.com/Azure/notation-azure-kv/releases) to choose a released version. - -`azurekvServiceConnection` - Azure Key Vault Service Connection -`string`. Required for `azure-kv` plugin. Select the The Azure Resource Manager service connection for the key vault if prefer to use service connection for authentication. - -`keyid` - Key ID -`string`. Required for `azure-kv` plugin. The key identifier of an Azure Key Vault certificate. - -`selfSigned` - Self signed -`boolean`. Whether the certficate is self-signed certificate. - -`caCertBundle` - Certificate Bundle File Path -`string`. The certificate bundle file containing intermidiate certificates and root certificate. - -`trustPolicy` - Trust Policy File Path -`string`. Required for `verify` command. The trust policy file path. - -`trustStore` - Trust Store Folder Path -`string`. Requried for `verify` command. The trust store folder path. - -`signatureFormat` - Signature Format -`string`. Signature envelope format. Allowed values: `jws`, `cose`. - -`allowReferrersAPI` - [Experimental] Allow Referrers API -`boolean`. Use the Referrers API to sign signatures, if not supported (returns 404), fallback to the Referrers tag schema. +## Bump up notation version +1. Run ./scripts/generate_checksum.py to update the ./data/notation_versions.json file. +2. Update the task.json and task.loc.json default version to be the latest version. diff --git a/Tasks/NotationV0/data/notation_versions.json b/Tasks/NotationV0/data/notation_versions.json index c10e69f58e08..7b112587cf38 100644 --- a/Tasks/NotationV0/data/notation_versions.json +++ b/Tasks/NotationV0/data/notation_versions.json @@ -1,4 +1,33 @@ [ + { + "darwin": { + "amd64": { + "checksum": "a190962ca09a24d814916e26c8f98d01c1891fd0bae6192355675b8b16e38726", + "url": "https://github.com/notaryproject/notation/releases/download/v1.1.0/notation_1.1.0_darwin_amd64.tar.gz" + }, + "arm64": { + "checksum": "295df24d247f4b276bd1ee04ae5f639b8feadebd68c01be1821c0b94cbd5cf75", + "url": "https://github.com/notaryproject/notation/releases/download/v1.1.0/notation_1.1.0_darwin_arm64.tar.gz" + } + }, + "linux": { + "amd64": { + "checksum": "0e31e156edff6cc324405cda391d7144b0b99c265a7bdfa6644f457e530fe6d4", + "url": "https://github.com/notaryproject/notation/releases/download/v1.1.0/notation_1.1.0_linux_amd64.tar.gz" + }, + "arm64": { + "checksum": "8c01a8f52356b15ce2c69be4cea193c56d092f913482d2e4a4d90ad6ec81fe64", + "url": "https://github.com/notaryproject/notation/releases/download/v1.1.0/notation_1.1.0_linux_arm64.tar.gz" + } + }, + "version": "1.1.0", + "windows": { + "amd64": { + "checksum": "397b5ccc27d8f890f955f1e91f8fb21e4c23995ec8f5a42257e72a14728bd4d5", + "url": "https://github.com/notaryproject/notation/releases/download/v1.1.0/notation_1.1.0_windows_amd64.zip" + } + } + }, { "darwin": { "amd64": { diff --git a/Tasks/NotationV0/package-lock.json b/Tasks/NotationV0/package-lock.json index 5385b8c1c7c6..8675ba90dd9e 100644 --- a/Tasks/NotationV0/package-lock.json +++ b/Tasks/NotationV0/package-lock.json @@ -1,6 +1,6 @@ { "name": "notation", - "version": "0.232.0", + "version": "0.235.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/Tasks/NotationV0/package.json b/Tasks/NotationV0/package.json index 3b85dc59d8cc..23d14f25eb6f 100644 --- a/Tasks/NotationV0/package.json +++ b/Tasks/NotationV0/package.json @@ -1,6 +1,6 @@ { "name": "notation", - "version": "0.232.0", + "version": "0.235.0", "description": "Azure Pipepine Task for setting up Notation CLI, sign and verify with Notation", "main": "src/index.js", "scripts": { diff --git a/Tasks/NotationV0/scripts/generate_checksum.py b/Tasks/NotationV0/scripts/generate_checksum.py new file mode 100644 index 000000000000..6b75073b4f3d --- /dev/null +++ b/Tasks/NotationV0/scripts/generate_checksum.py @@ -0,0 +1,81 @@ +# This script reads a checksums.txt file and generates a JSON file containing +# the checksums and URLs for each file. The generated JSON file is then merged +# with an existing JSON file containing previous checksums. If the version +# already exists in the existing JSON file, an exception is raised. +# +# Usage: python generate_checksum.py +# +# checksums.txt format: +# 2ef0560c3c88908a22d1f302e5b0119160e72380e25fb58c2d7b153e9397a04c notation_1.0.0-rc.1_linux_arm64.tar.gz +# 3b5239d68810fec349807aa9eb90fcb9cd972cdb540ecfd4fcf3631d7ad4be06 notation_1.0.0-rc.1_darwin_amd64.tar.gz +# 7607c8de3b6c1435b2dc4c012e9c0486849ce7b4b5e0fbbee2dd9ed7aab084a7 notation_1.0.0-rc.1_linux_amd64.tar.gz +# 7d091cbd62886d1b47b60519a5b56314e794caf18751b1cccab2f54387a0d5c4 notation_1.0.0-rc.1_windows_amd64.zip +# eaa7b0c7c8d18e504766ce8d3ac5e46da2e97f4fdcead8be997e0ae74b146b00 notation_1.0.0-rc.1_darwin_arm64.tar.gz +# +# Note: This script may be integrated to pipeline in the future. +# +import os +import sys +import json + +def build_url(name, version, filename): + return { + "notation": lambda : f'https://github.com/notaryproject/notation/releases/download/v{version}/{filename}', + "notation-azure-kv": lambda :f'https://github.com/Azure/notation-azure-kv/releases/download/v{version}/{filename}' + }[name]() + +def process_checksum(filepath): + verionInfo = {} + with open(filepath, 'r') as f: + for line in f.readlines(): + line = line.rstrip('\n') + parts = line.split(' ') + checksum = parts[0] + filename = parts[2] + name_parts = filename.split('_') + name = name_parts[0] + version = name_parts[1] + osName = name_parts[2] + arch = name_parts[3].split('.')[0] + + # generate checksum + verionInfo.setdefault('version', version) + verionInfo.setdefault(osName, {}) + verionInfo[osName].setdefault(arch, {}) + verionInfo[osName][arch] = { + "url": build_url(name, version, filename), + "checksum": checksum + } + + return verionInfo + +def update_checksums(filepath, checksums): + # read old checksums + versionList = [] + if os.path.exists(filepath): + f = open(filepath, 'r') + versionList = json.load(f) + f.close() + + # check if version exists + for versionInfo in versionList: + if versionInfo['version'] == checksums['version']: + raise Exception(f'Version {checksums["version"]} already exists in {filepath}') + + # update checksums + with open(filepath, 'w') as f: + json.dump([checksums] + versionList, f, indent=4, sort_keys=True) + +def main(): + if len(sys.argv) < 3: + print('Usage: python generate_checksum.py ') + sys.exit(1) + + filepath = sys.argv[1] + old_checksums = sys.argv[2] + + checksums = process_checksum(filepath) + update_checksums(old_checksums, checksums) + +if __name__ == '__main__': + main() diff --git a/Tasks/NotationV0/task.json b/Tasks/NotationV0/task.json index 2c29f0988c50..a3fe34bf027e 100644 --- a/Tasks/NotationV0/task.json +++ b/Tasks/NotationV0/task.json @@ -10,7 +10,7 @@ "minimumAgentVersion": "2.144.0", "version": { "Major": 0, - "Minor": 232, + "Minor": 235, "Patch": 0 }, "groups": [ @@ -61,7 +61,7 @@ "name": "version", "type": "string", "label": "Version", - "defaultValue": "1.0.1", + "defaultValue": "1.1.0", "required": true, "helpMarkDown": "The version of Notation to install. Example: 1.0.0, 1, 1.0, 1.0.0", "visibleRule": "command = install && isCustomVersion = false", diff --git a/Tasks/NotationV0/task.loc.json b/Tasks/NotationV0/task.loc.json index 1e92c1120a23..db33f64bb7de 100644 --- a/Tasks/NotationV0/task.loc.json +++ b/Tasks/NotationV0/task.loc.json @@ -10,7 +10,7 @@ "minimumAgentVersion": "2.144.0", "version": { "Major": 0, - "Minor": 232, + "Minor": 235, "Patch": 0 }, "groups": [ @@ -61,7 +61,7 @@ "name": "version", "type": "string", "label": "ms-resource:loc.input.label.version", - "defaultValue": "1.0.1", + "defaultValue": "1.1.0", "required": true, "helpMarkDown": "ms-resource:loc.input.help.version", "visibleRule": "command = install && isCustomVersion = false", From 60a19ae39ec82d2c68d6274ebe9190a96f3d4108 Mon Sep 17 00:00:00 2001 From: Mohith <97882857+v-mohithgc@users.noreply.github.com> Date: Mon, 29 Jan 2024 19:09:37 +0530 Subject: [PATCH 03/10] DotNetCoreCLIV2: Projects input can point to solution (.sln) files (#19479) * update readme file * fix ci checks --- Tasks/DotNetCoreCLIV2/README.md | 2 +- .../resources.resjson/en-US/resources.resjson | 4 +-- .../_buildConfigs/Node20/package-lock.json | 30 +++++++++---------- Tasks/DotNetCoreCLIV2/package-lock.json | 12 ++++---- Tasks/DotNetCoreCLIV2/task.json | 6 ++-- Tasks/DotNetCoreCLIV2/task.loc.json | 2 +- _generated/DotNetCoreCLIV2.versionmap.txt | 4 +-- _generated/DotNetCoreCLIV2/README.md | 2 +- .../resources.resjson/en-US/resources.resjson | 4 +-- _generated/DotNetCoreCLIV2/package-lock.json | 12 ++++---- _generated/DotNetCoreCLIV2/task.json | 10 +++---- _generated/DotNetCoreCLIV2/task.loc.json | 6 ++-- _generated/DotNetCoreCLIV2_Node20/README.md | 2 +- .../resources.resjson/en-US/resources.resjson | 4 +-- .../DotNetCoreCLIV2_Node20/package-lock.json | 30 +++++++++---------- _generated/DotNetCoreCLIV2_Node20/task.json | 10 +++---- .../DotNetCoreCLIV2_Node20/task.loc.json | 6 ++-- 17 files changed, 73 insertions(+), 73 deletions(-) diff --git a/Tasks/DotNetCoreCLIV2/README.md b/Tasks/DotNetCoreCLIV2/README.md index 9cbf9bd3a928..4dfc338c6a42 100644 --- a/Tasks/DotNetCoreCLIV2/README.md +++ b/Tasks/DotNetCoreCLIV2/README.md @@ -16,7 +16,7 @@ The only prerequisite for the task is that .NET Core must be installed on Azure * **Command\*:** The task can be use to run any [dotnet core command](https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x). -* **Projects\*:** Depending on the version of .NET Core, the task can work with either project.json or a csproj file. You can pass a relative path of the .csproj file(s) from repo root. Wildcards can be used too. For example, **/*.csproj for all .csproj files in all the sub folders. +* **Projects\*:** Depending on the version of .NET Core, the task can work with either project.json or a csproj and sln file. You can pass a relative path of the .csproj file(s) from repo root. Wildcards can be used too. For example, **/*.csproj for all .csproj files in all the sub folders. * **Arguments\:** Pass arguments to the selected dotnet core command. For example, build configuration, output folder, runtime. The arguments depend on the command selected. diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson index 7f2f8a911ae5..a10bb776bffb 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "The dotnet command to run. Select 'Custom' to add arguments or use a command not listed here.", "loc.input.label.publishWebProjects": "Publish web projects", "loc.input.help.publishWebProjects": "If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory.", - "loc.input.label.projects": "Path to project(s)", - "loc.input.help.projects": "The path to the csproj file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**", + "loc.input.label.projects": "Path to project(s) or solution(s)", + "loc.input.help.projects": "The path to the csproj or sln file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**", "loc.input.label.custom": "Custom command", "loc.input.help.custom": "The command to pass to dotnet.exe for execution.", "loc.input.label.arguments": "Arguments", diff --git a/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package-lock.json b/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package-lock.json index 7f5b1fdd29fd..6dcbd86ef664 100644 --- a/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package-lock.json +++ b/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package-lock.json @@ -44,9 +44,9 @@ "integrity": "sha512-SwFMxO68Z6ERGFpPYBdmgfS5LloELzY16h/PMAhnxMog91JcHI5AJjW0HN56cGUPhV0nDb8xNWsJkhuDzr4lAQ==" }, "@types/node": { - "version": "20.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.1.tgz", - "integrity": "sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "requires": { "undici-types": "~5.26.4" } @@ -202,9 +202,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", - "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-devops-node-api": { "version": "10.2.2", @@ -230,9 +230,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", - "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "adm-zip": { "version": "0.5.10", @@ -481,9 +481,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -838,9 +838,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/Tasks/DotNetCoreCLIV2/package-lock.json b/Tasks/DotNetCoreCLIV2/package-lock.json index 887af235969d..322487cfaeac 100644 --- a/Tasks/DotNetCoreCLIV2/package-lock.json +++ b/Tasks/DotNetCoreCLIV2/package-lock.json @@ -468,9 +468,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -825,9 +825,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/Tasks/DotNetCoreCLIV2/task.json b/Tasks/DotNetCoreCLIV2/task.json index 280b43edb463..75d721bcde4d 100644 --- a/Tasks/DotNetCoreCLIV2/task.json +++ b/Tasks/DotNetCoreCLIV2/task.json @@ -17,7 +17,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 232, + "Minor": 235, "Patch": 0 }, "minimumAgentVersion": "2.144.0", @@ -100,11 +100,11 @@ { "name": "projects", "type": "multiLine", - "label": "Path to project(s)", + "label": "Path to project(s) or solution(s)", "defaultValue": "", "visibleRule": "command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false", "required": false, - "helpMarkDown": "The path to the csproj file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" + "helpMarkDown": "The path to the csproj or sln file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" }, { "name": "custom", diff --git a/Tasks/DotNetCoreCLIV2/task.loc.json b/Tasks/DotNetCoreCLIV2/task.loc.json index cbdd16894fb8..459f1571ac7b 100644 --- a/Tasks/DotNetCoreCLIV2/task.loc.json +++ b/Tasks/DotNetCoreCLIV2/task.loc.json @@ -17,7 +17,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 232, + "Minor": 235, "Patch": 0 }, "minimumAgentVersion": "2.144.0", diff --git a/_generated/DotNetCoreCLIV2.versionmap.txt b/_generated/DotNetCoreCLIV2.versionmap.txt index 26a42bda1140..746251ca8bf8 100644 --- a/_generated/DotNetCoreCLIV2.versionmap.txt +++ b/_generated/DotNetCoreCLIV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.232.0 -Node20_229_2|2.232.1 +Default|2.235.0 +Node20_229_2|2.235.1 diff --git a/_generated/DotNetCoreCLIV2/README.md b/_generated/DotNetCoreCLIV2/README.md index 9cbf9bd3a928..4dfc338c6a42 100644 --- a/_generated/DotNetCoreCLIV2/README.md +++ b/_generated/DotNetCoreCLIV2/README.md @@ -16,7 +16,7 @@ The only prerequisite for the task is that .NET Core must be installed on Azure * **Command\*:** The task can be use to run any [dotnet core command](https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x). -* **Projects\*:** Depending on the version of .NET Core, the task can work with either project.json or a csproj file. You can pass a relative path of the .csproj file(s) from repo root. Wildcards can be used too. For example, **/*.csproj for all .csproj files in all the sub folders. +* **Projects\*:** Depending on the version of .NET Core, the task can work with either project.json or a csproj and sln file. You can pass a relative path of the .csproj file(s) from repo root. Wildcards can be used too. For example, **/*.csproj for all .csproj files in all the sub folders. * **Arguments\:** Pass arguments to the selected dotnet core command. For example, build configuration, output folder, runtime. The arguments depend on the command selected. diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson index 7f2f8a911ae5..a10bb776bffb 100644 --- a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "The dotnet command to run. Select 'Custom' to add arguments or use a command not listed here.", "loc.input.label.publishWebProjects": "Publish web projects", "loc.input.help.publishWebProjects": "If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory.", - "loc.input.label.projects": "Path to project(s)", - "loc.input.help.projects": "The path to the csproj file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**", + "loc.input.label.projects": "Path to project(s) or solution(s)", + "loc.input.help.projects": "The path to the csproj or sln file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**", "loc.input.label.custom": "Custom command", "loc.input.help.custom": "The command to pass to dotnet.exe for execution.", "loc.input.label.arguments": "Arguments", diff --git a/_generated/DotNetCoreCLIV2/package-lock.json b/_generated/DotNetCoreCLIV2/package-lock.json index 887af235969d..322487cfaeac 100644 --- a/_generated/DotNetCoreCLIV2/package-lock.json +++ b/_generated/DotNetCoreCLIV2/package-lock.json @@ -468,9 +468,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -825,9 +825,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/_generated/DotNetCoreCLIV2/task.json b/_generated/DotNetCoreCLIV2/task.json index b6127b892b2d..c75547d5e098 100644 --- a/_generated/DotNetCoreCLIV2/task.json +++ b/_generated/DotNetCoreCLIV2/task.json @@ -17,7 +17,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 232, + "Minor": 235, "Patch": 0 }, "minimumAgentVersion": "2.144.0", @@ -100,11 +100,11 @@ { "name": "projects", "type": "multiLine", - "label": "Path to project(s)", + "label": "Path to project(s) or solution(s)", "defaultValue": "", "visibleRule": "command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false", "required": false, - "helpMarkDown": "The path to the csproj file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" + "helpMarkDown": "The path to the csproj or sln file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" }, { "name": "custom", @@ -582,7 +582,7 @@ "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'." }, "_buildConfigMapping": { - "Default": "2.232.0", - "Node20_229_2": "2.232.1" + "Default": "2.235.0", + "Node20_229_2": "2.235.1" } } \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/task.loc.json b/_generated/DotNetCoreCLIV2/task.loc.json index 8a1ff494807a..ea203c4c06ef 100644 --- a/_generated/DotNetCoreCLIV2/task.loc.json +++ b/_generated/DotNetCoreCLIV2/task.loc.json @@ -17,7 +17,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 232, + "Minor": 235, "Patch": 0 }, "minimumAgentVersion": "2.144.0", @@ -582,7 +582,7 @@ "Error_IncludeNuGetOrgEnabled": "ms-resource:loc.messages.Error_IncludeNuGetOrgEnabled" }, "_buildConfigMapping": { - "Default": "2.232.0", - "Node20_229_2": "2.232.1" + "Default": "2.235.0", + "Node20_229_2": "2.235.1" } } \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2_Node20/README.md b/_generated/DotNetCoreCLIV2_Node20/README.md index 9cbf9bd3a928..4dfc338c6a42 100644 --- a/_generated/DotNetCoreCLIV2_Node20/README.md +++ b/_generated/DotNetCoreCLIV2_Node20/README.md @@ -16,7 +16,7 @@ The only prerequisite for the task is that .NET Core must be installed on Azure * **Command\*:** The task can be use to run any [dotnet core command](https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x). -* **Projects\*:** Depending on the version of .NET Core, the task can work with either project.json or a csproj file. You can pass a relative path of the .csproj file(s) from repo root. Wildcards can be used too. For example, **/*.csproj for all .csproj files in all the sub folders. +* **Projects\*:** Depending on the version of .NET Core, the task can work with either project.json or a csproj and sln file. You can pass a relative path of the .csproj file(s) from repo root. Wildcards can be used too. For example, **/*.csproj for all .csproj files in all the sub folders. * **Arguments\:** Pass arguments to the selected dotnet core command. For example, build configuration, output folder, runtime. The arguments depend on the command selected. diff --git a/_generated/DotNetCoreCLIV2_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/DotNetCoreCLIV2_Node20/Strings/resources.resjson/en-US/resources.resjson index 7f2f8a911ae5..a10bb776bffb 100644 --- a/_generated/DotNetCoreCLIV2_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/DotNetCoreCLIV2_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "The dotnet command to run. Select 'Custom' to add arguments or use a command not listed here.", "loc.input.label.publishWebProjects": "Publish web projects", "loc.input.help.publishWebProjects": "If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory.", - "loc.input.label.projects": "Path to project(s)", - "loc.input.help.projects": "The path to the csproj file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**", + "loc.input.label.projects": "Path to project(s) or solution(s)", + "loc.input.help.projects": "The path to the csproj or sln file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**", "loc.input.label.custom": "Custom command", "loc.input.help.custom": "The command to pass to dotnet.exe for execution.", "loc.input.label.arguments": "Arguments", diff --git a/_generated/DotNetCoreCLIV2_Node20/package-lock.json b/_generated/DotNetCoreCLIV2_Node20/package-lock.json index 7f5b1fdd29fd..6dcbd86ef664 100644 --- a/_generated/DotNetCoreCLIV2_Node20/package-lock.json +++ b/_generated/DotNetCoreCLIV2_Node20/package-lock.json @@ -44,9 +44,9 @@ "integrity": "sha512-SwFMxO68Z6ERGFpPYBdmgfS5LloELzY16h/PMAhnxMog91JcHI5AJjW0HN56cGUPhV0nDb8xNWsJkhuDzr4lAQ==" }, "@types/node": { - "version": "20.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.1.tgz", - "integrity": "sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "requires": { "undici-types": "~5.26.4" } @@ -202,9 +202,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", - "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "azure-devops-node-api": { "version": "10.2.2", @@ -230,9 +230,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", - "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" }, "adm-zip": { "version": "0.5.10", @@ -481,9 +481,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "form-data": { "version": "2.5.1", @@ -838,9 +838,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", diff --git a/_generated/DotNetCoreCLIV2_Node20/task.json b/_generated/DotNetCoreCLIV2_Node20/task.json index 52edc2aff4a3..ead4ed474711 100644 --- a/_generated/DotNetCoreCLIV2_Node20/task.json +++ b/_generated/DotNetCoreCLIV2_Node20/task.json @@ -17,7 +17,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 232, + "Minor": 235, "Patch": 1 }, "minimumAgentVersion": "2.144.0", @@ -100,11 +100,11 @@ { "name": "projects", "type": "multiLine", - "label": "Path to project(s)", + "label": "Path to project(s) or solution(s)", "defaultValue": "", "visibleRule": "command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false", "required": false, - "helpMarkDown": "The path to the csproj file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" + "helpMarkDown": "The path to the csproj or sln file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" }, { "name": "custom", @@ -586,7 +586,7 @@ "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'." }, "_buildConfigMapping": { - "Default": "2.232.0", - "Node20_229_2": "2.232.1" + "Default": "2.235.0", + "Node20_229_2": "2.235.1" } } \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2_Node20/task.loc.json b/_generated/DotNetCoreCLIV2_Node20/task.loc.json index 21ce50e91cb3..0e627bd5ad62 100644 --- a/_generated/DotNetCoreCLIV2_Node20/task.loc.json +++ b/_generated/DotNetCoreCLIV2_Node20/task.loc.json @@ -17,7 +17,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 232, + "Minor": 235, "Patch": 1 }, "minimumAgentVersion": "2.144.0", @@ -586,7 +586,7 @@ "Error_IncludeNuGetOrgEnabled": "ms-resource:loc.messages.Error_IncludeNuGetOrgEnabled" }, "_buildConfigMapping": { - "Default": "2.232.0", - "Node20_229_2": "2.232.1" + "Default": "2.235.0", + "Node20_229_2": "2.235.1" } } \ No newline at end of file From 8bd8271713111d3741d6825f102b9c09cba68a15 Mon Sep 17 00:00:00 2001 From: Steven Cady <32421665+Cadacious@users.noreply.github.com> Date: Tue, 30 Jan 2024 21:15:03 -0800 Subject: [PATCH 04/10] AzureResourceManagerTemplateDeploymentV3 - Add .bicepparam support (#19402) * add support for bicepparam * changes required for unit testing to succeed * handle for same name bicep and param file * final changes for unit testing * BuildConfigGen task with config Node20_229_2 * changes based on feedback, increase task version * set proper filePath for json processing * increase task version after sprint rollover * remove extra . from beginning of file extension --------- Co-authored-by: Steven Cady Co-authored-by: Mohith <97882857+v-mohithgc@users.noreply.github.com> --- .../resources.resjson/en-US/resources.resjson | 8 +- .../Tests/CSMwithBicep.bicep | 6 +- .../Tests/CSMwithBicep.bicepparam | 3 + .../Tests/L0.ts | 20 + .../Tests/createOrUpdate.ts | 10 +- .../operations/Utils.ts | 55 +- .../task.json | 8 +- .../task.loc.json | 6 +- ...ManagerTemplateDeploymentV3.versionmap.txt | 4 +- .../README.md | 144 +++ .../resources.resjson/de-DE/resources.resjson | 97 ++ .../resources.resjson/en-US/resources.resjson | 105 ++ .../resources.resjson/es-ES/resources.resjson | 97 ++ .../resources.resjson/fr-FR/resources.resjson | 97 ++ .../resources.resjson/it-IT/resources.resjson | 97 ++ .../resources.resjson/ja-JP/resources.resjson | 97 ++ .../resources.resjson/ko-KR/resources.resjson | 97 ++ .../resources.resjson/ru-RU/resources.resjson | 97 ++ .../resources.resjson/zh-CN/resources.resjson | 97 ++ .../resources.resjson/zh-TW/resources.resjson | 97 ++ .../Tests/CSM.json | 8 + .../Tests/CSMwithBicep.bicep | 18 + .../Tests/CSMwithBicep.bicepparam | 3 + .../Tests/CSMwithBicepWithError.bicep | 20 + .../Tests/CSMwithBicepWithWarning.bicep | 19 + .../Tests/CSMwithComments.json | 5 + .../Tests/L0.ts | 267 ++++ .../Tests/createOrUpdate.ts | 104 ++ .../Tests/defaults.json | 10 + .../Tests/deleteResourceGroup.ts | 24 + .../Tests/faultyCSM.json | 3 + .../azure-arm-resource/LICENSE.txt | 21 + .../azure-arm-resource/README.md | 147 +++ .../azure-arm-resource/lib/resource.js | 20 + .../lib/resource/operations/index.js | 18 + .../lib/resource/operations/resourceGroup.js | 87 ++ .../operations/resourceGroupDeployments.js | 37 + .../lib/resource/resourceManagementClient.js | 45 + .../azure-arm-resource/package.json | 108 ++ .../ThirdPartyNotices.txt | 1138 +++++++++++++++++ .../icon.png | Bin 0 -> 962 bytes .../icon.svg | 6 + .../main.ts | 71 + .../make.json | 13 + .../models/TaskParameters.ts | 129 ++ .../models/Types.ts | 14 + .../operations/DeploymentParameters.ts | 12 + .../operations/DeploymentScopeBase.ts | 183 +++ .../operations/FileEncoding.ts | 105 ++ .../operations/ParameterParser.ts | 154 +++ .../operations/ResourceGroup.ts | 68 + .../operations/Utils.ts | 523 ++++++++ .../package-lock.json | 883 +++++++++++++ .../package.json | 16 + .../task.json | 342 +++++ .../task.loc.json | 342 +++++ .../tsconfig.json | 6 + .../resources.resjson/en-US/resources.resjson | 8 +- .../Tests/CSMwithBicep.bicep | 6 +- .../Tests/CSMwithBicep.bicepparam | 3 + .../Tests/L0.ts | 20 + .../Tests/createOrUpdate.ts | 10 +- .../operations/Utils.ts | 55 +- .../task.json | 14 +- .../task.loc.json | 12 +- 65 files changed, 6285 insertions(+), 54 deletions(-) create mode 100644 Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicepparam create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/README.md create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/de-DE/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/en-US/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/es-ES/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/fr-FR/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ja-JP/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ko-KR/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ru-RU/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/zh-CN/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/zh-TW/resources.resjson create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSM.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicep create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicepparam create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicepWithError.bicep create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicepWithWarning.bicep create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithComments.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/L0.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/createOrUpdate.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/defaults.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/deleteResourceGroup.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/faultyCSM.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/LICENSE.txt create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/README.md create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource.js create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/index.js create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/resourceGroup.js create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/resourceGroupDeployments.js create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/resourceManagementClient.js create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/package.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/ThirdPartyNotices.txt create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/icon.png create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/icon.svg create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/main.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/make.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/models/TaskParameters.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/models/Types.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/operations/DeploymentParameters.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/operations/DeploymentScopeBase.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/operations/FileEncoding.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/operations/ParameterParser.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/operations/ResourceGroup.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/operations/Utils.ts create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/package-lock.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/package.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/task.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/task.loc.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3/tsconfig.json create mode 100644 _generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/CSMwithBicep.bicepparam diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/en-US/resources.resjson b/Tasks/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/en-US/resources.resjson index 29eda715e723..1f180d7426ca 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/en-US/resources.resjson +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/en-US/resources.resjson @@ -3,7 +3,7 @@ "loc.helpMarkDown": "[Learn more about this task](https://aka.ms/armtaskreadme)", "loc.description": "Deploy an Azure Resource Manager (ARM) template to all the deployment scopes", "loc.instanceNameFormat": "ARM Template deployment: $(deploymentScope) scope", - "loc.releaseNotes": "- Added support for deployment at all the deployment scopes.\n- Removed all the VM related actions.", + "loc.releaseNotes": "- Added support for bicepparam.", "loc.group.displayName.AzureDetails": "Azure Details", "loc.group.displayName.Template": "Template", "loc.group.displayName.Advanced": "Advanced", @@ -27,7 +27,7 @@ "loc.input.label.csmFile": "Template", "loc.input.help.csmFile": "Specify the path or a pattern pointing to the Azure Resource Manager template. For more information about the templates see https://aka.ms/azuretemplates. To get started immediately use template https://aka.ms/sampletemplate. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0", "loc.input.label.csmParametersFile": "Template parameters", - "loc.input.help.csmParametersFile": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0", + "loc.input.help.csmParametersFile": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template. 'Linked artifact' also has support for Bicep Param files when the Azure CLI version > 2.47.0", "loc.input.label.overrideParameters": "Override template parameters", "loc.input.help.overrideParameters": "To view the template parameters in a grid, click on “…†next to Override Parameters textbox. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS. Or type the template parameters to override in the textbox. Example,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
If the parameter value you're using has multiple words, enclose them in quotes, even if you're passing them using variables. For example, -name \"parameter value\" -name2 \"$(var)\"
To override object type parameters use stringified JSON objects. For example, -options [\"option1\"] -map {\"key1\": \"value1\" }. ", "loc.input.label.deploymentMode": "Deployment mode", @@ -99,5 +99,7 @@ "loc.messages.LoginFailed": "Azure login failed: %s", "loc.messages.MSILoginFailed": "Azure login failed using Managed Service Identity: %s", "loc.messages.AuthSchemeNotSupported": "Auth Scheme %s is not supported", - "loc.messages.ErrorInSettingUpSubscription": "Error in setting up subscription: %s" + "loc.messages.ErrorInSettingUpSubscription": "Error in setting up subscription: %s", + "loc.messages.BicepParamBuildFailed": "\"az bicep build-param\" failed. Error: %s", + "loc.messages.IncompatibleAzureCLIVersionBicepParam": "Azure CLI version should be >= 2.47.0 to use .bicepparam file" } \ No newline at end of file diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicep b/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicep index ad2523a9f7b9..69219e35cb2b 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicep +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicep @@ -1,10 +1,10 @@ param location string = 'eastasia' -var storageAccountName_var = 'deepak2121' +var storageAccountName = 'deepak2121' var storageAccountType = 'Premium_LRS' resource storageAccount 'Microsoft.Storage/storageAccounts@2021-01-01' = { - name: toLower(take(storageAccountName_var, 24)) + name: toLower(take(storageAccountName, 24)) location: location sku: { name: storageAccountType @@ -15,4 +15,4 @@ resource storageAccount 'Microsoft.Storage/storageAccounts@2021-01-01' = { output storageAccount_Name string = storageAccount.name output storageAccount_Location string = storageAccount.location output storageAccount_SKUName string = storageAccount.sku.name -output storageAccount_Kind string = storageAccount.kind \ No newline at end of file +output storageAccount_Kind string = storageAccount.kind diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicepparam b/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicepparam new file mode 100644 index 000000000000..358b83b8dc21 --- /dev/null +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicepparam @@ -0,0 +1,3 @@ +using 'CSMwithBicep.bicep' + +param location = 'eastasia' diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/L0.ts b/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/L0.ts index bde033774ab4..f8fb2d0a8e24 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/L0.ts +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/L0.ts @@ -226,6 +226,26 @@ describe('Azure Resource Manager Template Deployment', function () { } }); + it('Successfully triggered createOrUpdate deployment using bicep file with bicepparam file', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSMwithBicep.bicep"; + process.env["csmParametersFile"] = "CSMwithBicep.bicepparam"; + process.env["deploymentOutputs"] = "someVar"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.succeeded, "Should have succeeded"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") > 0, "deployments.createOrUpdate function should have been called from azure-sdk"); + assert(tr.stdout.indexOf("##vso[task.setvariable variable=someVar;]") >= 0, "deploymentsOutput should have been updated"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + // it('createOrUpdate deployment should fail when bicep file contains error', (done) => { // let tp = path.join(__dirname, 'createOrUpdate.js'); // process.env["csmFile"] = "CSMwithBicepWithError.bicep"; diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/createOrUpdate.ts b/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/createOrUpdate.ts index 7ebbe798b903..c4c7d9ebc73c 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/createOrUpdate.ts +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/Tests/createOrUpdate.ts @@ -33,12 +33,14 @@ process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_AUTHENTICATIONTYPE"] = "key"; var CSMJson = path.join(__dirname, "CSM.json"); var CSMBicep = path.join(__dirname, "CSMwithBicep.bicep"); +var CSMBicepParam = path.join(__dirname, "CSMwithBicep.bicepparam"); var CSMBicepWithWarning = path.join(__dirname, "CSMwithBicepWithWarning.bicep"); var CSMBicepWithError = path.join(__dirname, "CSMwithBicepWithError.bicep"); var CSMwithComments = path.join(__dirname, "CSMwithComments.json"); var defaults = path.join(__dirname, "defaults.json"); var faultyCSM = path.join(__dirname, "faultyCSM.json"); var bicepbuildCmd = `az bicep build --file ${path.join(__dirname, "CSMwithBicep.bicep")}`; +var bicepparambuildCmd = `az bicep build-params --file ${path.join(__dirname, "CSMwithBicep.bicepparam")} --outfile ${path.join(__dirname, "CSMwithBicep.parameters.json")}`; var bicepbuildwithWarning = `az bicep build --file ${path.join(__dirname, "CSMwithBicepWithWarning.bicep")}`; var azloginCommand = `az login --service-principal -u "id" --password="key" --tenant "tenant" --allow-no-subscriptions`; var azaccountSet = `az account set --subscription "sId"`; @@ -50,6 +52,7 @@ const successExec = { "stdout": "Executed Successfully" } exec[bicepbuildCmd] = successExec; +exec[bicepparambuildCmd] = successExec; exec[bicepbuildwithWarning] = successExec; exec[azloginCommand] = successExec; exec[azaccountSet] = successExec; @@ -66,6 +69,7 @@ let a: ma.TaskLibAnswers = { "findMatch": { "CSM.json": [CSMJson], "CSMwithBicep.bicep": [CSMBicep], + "CSMwithBicep.bicepparam": [CSMBicepParam], "CSMwithBicepWithWarning.bicep": [CSMBicepWithWarning], "CSMwithBicepWithError.bicep": [CSMBicepWithError], "CSMwithComments.json": [CSMwithComments], @@ -85,10 +89,14 @@ tr.registerMock('azure-pipelines-tasks-azure-arm-rest/azure-arm-resource', requi const fsClone = Object.assign({}, fs); fsClone.readFileSync = function(fileName: string): Buffer { - if (fileName.indexOf("CSMwithBicep") >= 0) { + if (fileName.indexOf("CSMwithBicep.json") >= 0 || fileName.indexOf("CSMwithBicepWithWarning.json") >= 0) { const filePath = fileName.replace('.json', '.bicep'); cpExec(`az bicep build --file ${filePath}`); } + else if (fileName.indexOf("CSMwithBicep.parameters.json") >= 0) { + const filePath = fileName.replace('.parameters.json', '.bicepparam'); + cpExec(`az bicep build-params --file ${filePath} --outfile ${fileName}`); + } var buffer = fs.readFileSync(fileName); return buffer; } diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/operations/Utils.ts b/Tasks/AzureResourceManagerTemplateDeploymentV3/operations/Utils.ts index 53638b62bae2..88fd16cdcf26 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/operations/Utils.ts +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/operations/Utils.ts @@ -427,23 +427,34 @@ class Utils { private static async getFilePathForLinkedArtifact(filePath: string, taskParameters: armDeployTaskParameters.TaskParameters): Promise { var filePathExtension: string = filePath.split('.').pop(); - if(filePathExtension === 'bicep'){ + if(filePathExtension.startsWith('bicep')){ let azcliversion = await this.getAzureCliVersion() if(parseFloat(azcliversion)){ - if(this.isBicepAvailable(azcliversion)){ + if(this.isBicepAvailable(azcliversion, filePathExtension)){ setAzureCloudBasedOnServiceEndpoint(taskParameters.connectedService); await loginAzureRM(taskParameters.connectedService); await this.execBicepBuild(filePath) - filePath = filePath.replace('.bicep', '.json') - this.cleanupFileList.push(filePath) + if(filePathExtension === 'bicep'){ + filePath = filePath.replace('.bicep', '.json') + } + else{ + filePath = filePath.replace('.bicepparam', '.parameters.json') + } await this.logoutAzure(); }else{ - throw new Error(tl.loc("IncompatibleAzureCLIVersion")); + //Maintain backwards compatibility for runs that are not using bicep param and do not require higher version + if(filePathExtension === 'bicep'){ + throw new Error(tl.loc("IncompatibleAzureCLIVersion")); + } + else{ + throw new Error(tl.loc("IncompatibleAzureCLIVersionBicepParam")); + } } }else{ throw new Error(tl.loc("AzureCLINotFound")); } } + return filePath } @@ -463,10 +474,28 @@ class Utils { } private static async execBicepBuild(filePath): Promise { - const result: IExecSyncResult = tl.execSync("az", `bicep build --file ${filePath}`); - if(result && result.code !== 0){ - throw new Error(tl.loc("BicepBuildFailed", result.stderr)); + var filePathExtension: string = filePath.split('.').pop(); + var finalPathExtension: string = ".json" + + if(filePathExtension === 'bicep'){ + const result: IExecSyncResult = tl.execSync("az", `bicep build --file ${filePath}`); + if(result && result.code !== 0){ + throw new Error(tl.loc("BicepBuildFailed", result.stderr)); + } + } + else{ + var fileName: string = filePath.split(path.sep).pop().split('.')[0]; + var fileDir: string = filePath.replace(path.sep + fileName +'.bicepparam', '') + finalPathExtension = ".parameters.json" + + //Using --outfile to avoid overwriting primary bicep file in the case bicep and param file have the the same file name. + const result: IExecSyncResult = tl.execSync("az", `bicep build-params --file ${filePath} --outfile ${path.join(fileDir, fileName + finalPathExtension)}`); + if(result && result.code !== 0){ + throw new Error(tl.loc("BicepParamBuildFailed", result.stderr)); + } } + + this.cleanupFileList.push(filePath.replace('.' + filePathExtension, finalPathExtension)) } private static async logoutAzure() { @@ -476,11 +505,15 @@ class Utils { } } - private static isBicepAvailable(azcliversion): Boolean{ + private static isBicepAvailable(azcliversion,extension): Boolean{ let majorVersion = azcliversion.split('.')[0] let minorVersion = azcliversion.split('.')[1] - // Support Bicep was introduced in az-cli 2.20.0 - if((majorVersion == 2 && minorVersion >= 20) || majorVersion > 2){ + // Support for Bicep format was introduced in az-cli 2.20.0 + if(((majorVersion == 2 && minorVersion >= 20) && extension === 'bicep') || majorVersion > 2){ + return true + } + // Support for Bicep Param format was introduced in az-cli 2.47.0 + else if(((majorVersion == 2 && minorVersion >= 47) && extension === 'bicepparam') || majorVersion > 2){ return true } return false diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/task.json b/Tasks/AzureResourceManagerTemplateDeploymentV3/task.json index d2ccb27c769b..0fd4930321e8 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/task.json +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/task.json @@ -6,7 +6,7 @@ "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment", "helpMarkDown": "[Learn more about this task](https://aka.ms/armtaskreadme)", "category": "Deploy", - "releaseNotes": "- Added support for deployment at all the deployment scopes.\n- Removed all the VM related actions.", + "releaseNotes": "- Added support for bicepparam.", "visibility": [ "Build", "Release" @@ -14,7 +14,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 231, + "Minor": 235, "Patch": 0 }, "demands": [], @@ -331,6 +331,8 @@ "LoginFailed": "Azure login failed: %s", "MSILoginFailed": "Azure login failed using Managed Service Identity: %s", "AuthSchemeNotSupported": "Auth Scheme %s is not supported", - "ErrorInSettingUpSubscription": "Error in setting up subscription: %s" + "ErrorInSettingUpSubscription": "Error in setting up subscription: %s", + "BicepParamBuildFailed": "\"az bicep build-param\" failed. Error: %s", + "IncompatibleAzureCLIVersionBicepParam": "Azure CLI version should be >= 2.47.0 to use .bicepparam file" } } \ No newline at end of file diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/task.loc.json b/Tasks/AzureResourceManagerTemplateDeploymentV3/task.loc.json index fab5d191db78..e1c3d173bb3e 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/task.loc.json +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/task.loc.json @@ -14,7 +14,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 231, + "Minor": 235, "Patch": 0 }, "demands": [], @@ -331,6 +331,8 @@ "LoginFailed": "ms-resource:loc.messages.LoginFailed", "MSILoginFailed": "ms-resource:loc.messages.MSILoginFailed", "AuthSchemeNotSupported": "ms-resource:loc.messages.AuthSchemeNotSupported", - "ErrorInSettingUpSubscription": "ms-resource:loc.messages.ErrorInSettingUpSubscription" + "ErrorInSettingUpSubscription": "ms-resource:loc.messages.ErrorInSettingUpSubscription", + "BicepParamBuildFailed": "ms-resource:loc.messages.BicepParamBuildFailed", + "IncompatibleAzureCLIVersionBicepParam": "ms-resource:loc.messages.IncompatibleAzureCLIVersionBicepParam" } } \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3.versionmap.txt b/_generated/AzureResourceManagerTemplateDeploymentV3.versionmap.txt index e84a261b0a2d..22faa5c05d85 100644 --- a/_generated/AzureResourceManagerTemplateDeploymentV3.versionmap.txt +++ b/_generated/AzureResourceManagerTemplateDeploymentV3.versionmap.txt @@ -1,2 +1,2 @@ -Default|3.231.0 -Node20_229_2|3.231.2 +Default|3.235.0 +Node20_229_2|3.235.1 diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/README.md b/_generated/AzureResourceManagerTemplateDeploymentV3/README.md new file mode 100644 index 000000000000..3afbdae34fc4 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/README.md @@ -0,0 +1,144 @@ +# Azure Resource Manager (ARM) Template Deployment Task + +### Overview + +This task is used to deploy [Azure Resource Manager templates](https://azure.microsoft.com/en-in/documentation/articles/resource-group-template-deploy/) at resource group deployment scope, subscription deployment scope and management group [deployment scopes](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope). The task is also used to create or update a resource group in Azure. + +### What's new in Version 3.0 + - Added support for Subscription and Management Group deployment scopes. + - Removed all the VM related actions. + + +### Contact Information +Please report a problem at [Developer Community Forum](https://developercommunity.visualstudio.com/spaces/21/index.html) if you are facing problems in making this task work. You can also share feedback about the task like, what more functionality should be added to the task, what other tasks you would like to have, at the same place. + + +### Prerequisite for the task + +#### Azure Subscription + +To deploy to Azure, an Azure subscription has to be linked to Team Foundation Server or to Azure Pipelines using the Services tab in the Account Administration section. Add the Azure subscription to use in the Build or Release Management definition by opening the Account Administration screen (gear icon on the top-right of the screen) and then click on the Services Tab. Create a service endpoint of 'Azure Resource Manager' type. For more troubleshooting guidance around endpoint creation, refer [this](https://www.visualstudio.com/en-us/docs/build/actions/azure-rm-endpoint). + +For Azure MSDN accounts, one can either use a [Service Principal](https://go.microsoft.com/fwlink/?LinkID=623000&clcid=0x409) or a work account. It's easy to create a work account as shown below: + +1. Create an user in the Azure Active Directory from the [portal](https://msdn.microsoft.com/en-us/library/azure/hh967632.aspx) (this is the old Azure portal). After adding the account, the following two things need to be done to use the organization in Azure Pipelines: + - Add the Active Directory account to the co-administrators in the subscription. Go to the Settings and then click on administrators and add the account as a co-admin like, [testuser@joehotmail.onmicrosoft.com](mailto:testuser@joehotmail.onmicrosoft.com) + - Login to the portal with this Active Directory account wiz. [testuser@joehotmail.onmicrosoft.com](mailto:testuser@joehotmail.onmicrosoft.com), and change the password. Initially a temporary password is created and that needs to be changed at the first login. +2. Add that user and password in the service connections in Azure Pipelines and deployments will work with that account. + +#### Azure PowerShell + +The task needs the Azure PowerShell version to be installed on the automation agent, and that can be done easily using the [Azure PowerShell Installer v1.0.2](https://github.com/Azure/azure-powershell/releases/tag/v1.0.2-December2015). Refer to "Supported Azure and AzureRM module versions" section below for recommended versions. + +### Parameters of the task: + +The parameters of the task are described in details, including examples, to show how to input the parameters. The parameters listed with a \* are required parameters for the task: + + * **Deployment Scope**\*: Select the scope of deployment from the options: Resource Group, Subscription and Mangement Group. For more info refer this [link](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope) + + * **Azure Resource Manager connection**\*: Select the ARM service connection with appropriate access i.e. the ARM service connection should have access to the resource group, subscription or the management group where the ARM template is targetted. To configure new service connection, select the Azure subscription from the list and click 'Authorize'. If your subscription is not listed or if you want to use an existing Service Principal, you can setup an Azure service connection using 'Manage' link. + + * **Subscription**\*: Select the subscripton to which the deployment is targetted. + + * **Action**\*: If the deployment scope is 'Resource Group', select the action to be performed on the resource group. Following actions are available: + - Create or Update Resource Group: creates a new resource group or to update an existing one (using [Azure Resource Manager templates](https://azure.microsoft.com/en-in/documentation/articles/resource-group-template-deploy/)). + - Delete Resource Group + - Select Resource Group( not supported here - use Version 2.0 for this action ): reads the Resource Group information from Azure and creates an Output Variable with the VMs in the Resource Group + - Start, Stop, Deallocate, Restart, Delete Virtual Machines( not supported here - use Version 2.0 for this action ) + + * **Resource Group**\*: Enter the name of the resource group. If this is an existing resource group, and the selected action is to create or update the resource group, then the task will update the resource group with the resources specified in the Azure template. If no Resource Group with the name exists in the subscription, then a new one will be created. + + * **Location**\*: + - For Resource Group deployment scope: Location for deploying the resource group. If the resource group already exists in the subscription, then this value will be ignored. + - For other deployment scopes: Location for storing the deployment metadata. + + * **Template location**: The location of the Template & the Parameters JSON files. Select "Linked Artifact" if the files are part of the linked code/build artifacts. For "Linked Artifacts", you can also specify the path to a Bicep file. Select "URL of the file" if the JSON files are located at any publicly accessible http/https URLs. To use a file stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: /template.json?. To upload a parameters file to a storage account and generate a SAS token, you could use [Azure file copy task](https://aka.ms/azurefilecopyreadme) or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911). + + * **Template and its Parameters**: The templates and the templates parameters file are the Azure templates available at [GitHub](https://github.com/Azure/azure-quickstart-templates) or in the [Azure gallery](https://azure.microsoft.com/en-in/documentation/articles/powershell-azure-resource-manager/). To get started immediately use [this](https://aka.ms/sampletemplate) template that is available on GitHub. + - These files can be either be located at any publicly accessible http/https URLs or be in a checked in the Version Control or they can be part of the build itself. If the files are part of the Build, use the pre-defined [system variables](https://msdn.microsoft.com/Library/vs/alm/Build/scripts/variables) provided by the Build to specify their location. The variables to use are $(Build.Repository.LocalPath), if the templates are checked-in but are not built, or $(Agent.BuildDirectory), if the templates are built as part of the solution. Be sure to specify the full path like $(Build.Repository.LocalPath)\Azure Templates\AzureRGDeploy.json. Wildcards like \*\*\\\*.json or \*\*\\*.param.json are also supported and there needs to be only one file that matches the search pattern at the location. If more than one file matches the search pattern, then the task will error out. + + **NOTE**: Follow the Azure Naming guidelines while specifying parameters, few important one mentioned in below table_ + +| Kind | Length | Casing | Valid Chars | Globally Unique | +|:--------------------:|--------|------------------|---------------------------------------------------------------------------------------|:---------------:| +| Storage Account | 3-24 | lowercase | alphanumeric | Yes | +| Azure Resource Group | 2-64 | case-insensitive | alphanumeric periods, underscores, hyphens and parenthesis and cannot end in a period | No | +| Azure KeyVault | 3-24 | case-insensitive | alphanumeric | Yes | +| Azure DNS Name | 3-63 | lowercase | alphanumeric and hyphens | Yes | + + * **Override Template Parameters**: The Override template parameters is used to override the parameters, like `-storageAcctName azurerg -Username $(vmusername) -azureKeyVaultName $(fabrikamFibre)`. To avoid storing "secureString" parameters in plain text, it is recommended that you use secret variables, for example `$(variableName)`. By clicking on “…†next to Override template parameters textbox, template parameters can be viewed/overridden in a grid. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS. + + * **Deployment Mode**: This specifies the [deployment mode](https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-deploy) in which the Azure resources specified in the template have to be deployed. Incremental mode handles deployments as incremental updates to the resource group . It leaves unchanged resources that exist in the resource group but are not specified in the template. Complete mode deletes resources that are not in your template. [Validate mode](https://msdn.microsoft.com/en-us/library/azure/dn790547.aspx) enables you to find syntactical problems with the template before creating actual resources. By default, incremental mode is used. + + ### Deployment Outputs: + Outputs created by Azure Resource Manager template deployment. It can be used in the subsequent tasks (like Powershell and Azure CLI) for further processing. + + **How to use Deployment output** + The deployment output can be parsed to JSON object using "ConvertFrom-Json" Powershell cmdlet in Powershell/Azure Powershell task and then that object can be used in same task or subsequent tasks. + + Example: + ``` + $var=ConvertFrom-Json '$(storageAccountName)' + $value=$var.storageAccountName.value + Write-Host "##vso[task.setvariable variable=storageAccount;]$value" + ``` + + On linux agent, same technique can be used to create a JSON object. However, if you want to avoid Powershell task, you can use a script similar to below which converts the Outputs to valid JSON by adding double quotes. + + ``` + var=`echo "$(storageAccountName)" | \ + sed -e 's/ //g' | \ + sed -e 's/}/"\n}/g' | \ + sed -e 's/{/{\n"/g' | \ + sed -e 's/:/":"/g' | \ + sed -e 's/,/",\n"/g' | \ + sed -e 's/"}/}/g' | \ + sed -e 's/}"/}/g' | \ + sed -e 's/"{/{/g' | \ + sed -e 's/\[/\[\n"/g' | \ + sed -e 's/]/"\n]/g' | \ + sed -e 's/"\[/\[/g' | \ + sed -e 's/]"/]/g'` + sa_name=`echo $var | jq -r .storageAccountName.value` + echo $sa_name + ``` + + In case, you're accessing individual output values directly, values are being set after being converted via JSON.Stringify. To change this behavior, `Use individual output values without JSON.Stringify applied` checkbox can be used: + + Example: + Let's assume, we've `outputvalue` as output of the deployment. + + `Use individual output values without JSON.Stringify applied` set to `false (default)` + ``` + outputvalue => JSON.stringify(outputvalue) => "outputvalue": + + // setting variable as JSON.stringify's result + ##vso[task.setvariable variable=taskdeploymentoutputname.outputkey]"outputvalue" + + // variable will be read as JSON.stringify's result + $(outputvalue) => "outputvalue" + ``` + + `Use individual output values without JSON.Stringify applied` set to `true` + ``` + outputvalue => no operation: + + // setting variable as it is + ##vso[task.setvariable variable=taskdeploymentoutputname.outputkey]outputvalue + + // variable will be read as it is + $(outputvalue) => outputvalue + ``` + +### Supported Azure and AzureRM module versions: +| Azure Pipelines/TFS Release | Recommended Azure Version | Other Supported Versions | +|:------------------:|:---------------------------:|:-------------------------:| +| Azure Pipelines | [v1.3.2](https://github.com/Azure/azure-powershell/releases/tag/v1.3.2-April2016) | [v0.9.8](https://github.com/Azure/azure-powershell/releases/tag/v0.9.8-September2015) | +| TFS 2015 Update 3 | [v1.3.2](https://github.com/Azure/azure-powershell/releases/tag/v1.3.2-April2016) | [v0.9.8](https://github.com/Azure/azure-powershell/releases/tag/v0.9.8-September2015) | +| TFS 2015 Update 2 | [v1.0.2](https://github.com/Azure/azure-powershell/releases/tag/v1.0.2-December2015) | [v0.9.8](https://github.com/Azure/azure-powershell/releases/tag/v0.9.8-September2015) | +| TFS 2015 Update 1 | [v0.9.8](https://github.com/Azure/azure-powershell/releases/tag/v0.9.8-September2015) | | +| TFS 2015 RTM | [v0.9.8](https://github.com/Azure/azure-powershell/releases/tag/v0.9.8-September2015) | | + +### Limitations: + +- Does not support multiline strings in arm template/parameter json file. diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/de-DE/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/de-DE/resources.resjson new file mode 100644 index 000000000000..226ade8ca57e --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/de-DE/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "ARM-Vorlagenbereitstellung", + "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://aka.ms/armtaskreadme)", + "loc.description": "Azure Resource Manager-Vorlage (ARM) für alle Bereitstellungsbereiche bereitstellen", + "loc.instanceNameFormat": "ARM-Vorlagenbereitstellung: Bereich \"$(deploymentScope)\"", + "loc.releaseNotes": "– Unterstützung für die Bereitstellung in allen Bereitstellungsbereichen hinzugefügt.\n– Alle VM-bezogenen Aktionen wurden entfernt.", + "loc.group.displayName.AzureDetails": "Azure-Details", + "loc.group.displayName.Template": "Vorlage", + "loc.group.displayName.Advanced": "Erweitert", + "loc.input.label.deploymentScope": "Bereitstellungsbereich", + "loc.input.help.deploymentScope": "Der Bereitstellungsbereich der Bereitstellung. Weitere Informationen zu den Bereitstellungsbereichen finden Sie [hier](https://docs.microsoft.com/de-de/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope).", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager-Verbindung", + "loc.input.help.ConnectedServiceName": "Wählen Sie die Azure Resource Manager-Dienstverbindung aus, die Zugriff auf den ausgewählten Bereitstellungsbereich besitzt.", + "loc.input.label.subscriptionName": "Abonnement", + "loc.input.help.subscriptionName": "Wählen Sie das Azure-Abonnement aus.", + "loc.input.label.action": "Aktion", + "loc.input.help.action": "Die für Azure-Ressourcen oder -Ressourcengruppen auszuführende Aktion.", + "loc.input.label.resourceGroupName": "Ressourcengruppe", + "loc.input.help.resourceGroupName": "Geben Sie den Namen einer Ressourcengruppen an.", + "loc.input.label.location": "Standort", + "loc.input.help.location": "Für den Bereitstellungsbereich der Ressourcengruppe: Standort für die Bereitstellung der Ressourcengruppe. Wenn die Ressourcengruppe bereits im Abonnement vorhanden ist, wird dieser Wert ignoriert.\n Für andere Bereitstellungsbereiche: Standort zum Speichern von Bereitstellungsmetadaten.", + "loc.input.label.templateLocation": "Speicherort der Vorlage", + "loc.input.label.csmFileLink": "Vorlagenlink", + "loc.input.help.csmFileLink": "Geben Sie die URL der Vorlagendatei an. Beispiel: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nUm eine in einem privaten Speicherkonto gespeicherte Vorlage bereitzustellen, müssen Sie das Shared Access Signature (SAS)-Token abrufen und in die URL der Vorlage einbeziehen. Beispiel: \"/template.json?\" Um eine Vorlagendatei (oder eine verknüpfte Vorlage) in ein Speicherkonto hochzuladen und ein SAS-Token zu generieren, können Sie die Aufgabe [Azure-Dateikopiervorgang](https://aka.ms/azurefilecopyreadme) verwenden oder die Schritte mit [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) oder der [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911) ausführen.\n\nUm die Vorlagenparameter in einem Raster anzuzeigen, klicken Sie neben dem Textfeld zum Überschreiben der Vorlagenparameter auf \"…\". Für dieses Feature müssen Sie CORS-Regeln an der Quelle aktivieren. Wenn sich die Vorlagen im Azure Storage Blob befinden, finden Sie [hier](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) Informationen zum Aktivieren von CORS.", + "loc.input.label.csmParametersFileLink": "Vorlagenparameterlink", + "loc.input.help.csmParametersFileLink": "Geben Sie die URL der Parameterdatei an. Beispiel: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nUm eine in einem privaten Speicherkonto gespeicherte Vorlage abzurufen, müssen Sie das Shared Access Signature (SAS)-Token abrufen und in die URL der Vorlage einbeziehen. Beispiel: \"/template.json?\" Um eine Parameterdatei in ein Speicherkonto hochzuladen und ein SAS-Token zu generieren, können Sie die Aufgabe [Azure-Dateikopiervorgang](https://aka.ms/azurefilecopyreadme) verwenden oder die Schritte mit [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) oder der [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911) ausführen. \n\nUm die Vorlagenparameter in einem Raster anzuzeigen, klicken Sie neben dem Textfeld zum Überschreiben der Vorlagenparameter auf \"…\". Für dieses Feature müssen Sie CORS-Regeln an der Quelle aktivieren. Wenn sich die Vorlagen im Azure Storage Blob befinden, finden Sie [hier](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) weitere Informationen zum Aktivieren von CORS.", + "loc.input.label.csmFile": "Vorlage", + "loc.input.help.csmFile": "Geben Sie den Pfad oder ein Muster an, das auf die Azure Resource Manager Vorlage zeigt. Weitere Informationen zu den Vorlagen finden Sie unter https://aka.ms/azuretemplates. Um sofort zu beginnen, verwenden Sie vorlagenbasierte https://aka.ms/sampletemplate. \"Verknüpftes Artefakt\" bietet auch Unterstützung für Bicep-Dateien, wenn die Azure CLI Version > 2.20.0", + "loc.input.label.csmParametersFile": "Vorlagenparameter", + "loc.input.help.csmParametersFile": "Geben Sie den Pfad oder ein Muster an, das für die Parameterdatei für die Azure Resource Manager Vorlage zeigt. \"Verknüpftes Artefakt\" bietet auch Unterstützung für Bicep-Dateien, wenn die Azure CLI Version > 2.20.0", + "loc.input.label.overrideParameters": "Vorlagenparameter überschreiben", + "loc.input.help.overrideParameters": "Wenn Sie die Vorlagenparameter in einem Raster anzeigen möchten, klicken Sie neben dem Textfeld \"Parameter außer Kraft setzen\" auf \"...\". Für dieses Feature müssen CORS-Regeln an der Quelle aktiviert sein. Wenn sich Vorlagen im Azure Storage Blob befinden, finden Sie [hier](https://docs.microsoft.com/de-de/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) Informationen zum Aktivieren von CORS. Sie können alternativ auch die zu überschreibenden Vorlagenparameter in das Textfeld eingeben. Beispiel:
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
Wenn der verwendete Parameterwert mehrere Wörter umfasst, schließen Sie ihn in Anführungszeichen ein – selbst dann, wenn Sie der Wert mithilfe von Variablen übergeben wird. Beispiel: -name \"parameter value\" -name2 \"$(var)\"
Verwenden Sie zum Außerkraftsetzen von Objekttypparametern als Zeichenfolgen dargestellte JSON-Objekte. Beispiel: -options [\"option1\"] -map {\"key1\": \"value1\" }.", + "loc.input.label.deploymentMode": "Bereitstellungsmodus", + "loc.input.help.deploymentMode": "Weitere Informationen finden Sie [hier](https://docs.microsoft.com/de-de/azure/azure-resource-manager/deployment-modes). \n\nDer Modus \"Inkrementell\" verarbeitet Bereitstellungen als inkrementelle Updates für die Ressourcengruppe. Ressourcen, die in der Ressourcengruppe vorhanden, aber nicht in der Vorlage angegeben sind, bleiben unverändert. \n\n Im Modus \"Vollständig\" werden Ressourcen gelöscht, die nicht in Ihrer Vorlage enthalten sind. Der Modus \"Vollständig\" nimmt mehr Zeit in Anspruch als der inkrementelle Modus. Wenn es bei der Aufgabe zu einem Timeout kommt, erwägen Sie eine Änderung des Modus in \"Inkrementell\". \n **[Warnung] Durch den Modus \"Vollständig\" werden alle vorhandenen Ressourcen in der Ressourcengruppe gelöscht, die nicht in der Vorlage angegeben sind. Stellen Sie sicher, dass die Ressourcengruppe, in der die Bereitstellung erfolgt, keine notwendigen Ressourcen enthält, die nicht in der Vorlage angegeben sind.** \n\n Im Modus \"Überprüfen\" können Sie Probleme mit der Vorlage ermitteln, bevor tatsächliche Ressourcen erstellt werden. Beachten Sie, dass dieser Modus in jedem Fall eine Ressourcengruppe erstellt, auch wenn keine Ressource bereitgestellt wird.\n\n Standardmäßig wird der inkrementelle Modus verwendet.", + "loc.input.label.deploymentName": "Bereitstellungsname", + "loc.input.help.deploymentName": "Gibt den Namen der zu erstellenden Ressourcengruppenbereitstellung an.", + "loc.input.label.deploymentOutputs": "Bereitstellungsausgaben", + "loc.input.help.deploymentOutputs": "Geben Sie einen Namen für die Variable für die Ausgabevariable an, die den Ausgabenabschnitt des aktuellen Bereitstellungsobjekts im Zeichenfolgenformat enthält. Mit dem PowerShell-Cmdlet \"ConvertFrom-Json\" können Sie das JSON-Objekt analysieren und auf die einzelnen Ausgabewerte zugreifen. Weitere Informationen finden Sie [hier](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs).", + "loc.input.label.addSpnToEnvironment": "Auf Dienstprinzipaldetails in Außerkraftsetzungsparametern zugreifen", + "loc.input.help.addSpnToEnvironment": "Hiermit werden Dienstprinzipal-ID und -schlüssel des ausgewählten Azure-Endpunkts zur Ausführungsumgebung des Skripts hinzugefügt. Sie können die folgenden Variablen in Ihren Außerkraftsetzungsparametern wie \"-key $servicePrincipalKey\" verwenden: \"$servicePrincipalId\" und \"$servicePrincipalKey\".", + "loc.messages.CheckResourceGroupExistence": "Überprüfen, ob die folgende Ressourcengruppe vorhanden ist: %s.", + "loc.messages.ResourceGroupStatusFetchFailed": "Fehler beim Überprüfen des Ressourcengruppenstatus. Fehler: %s", + "loc.messages.ResourceGroupStatus": "Die Ressourcengruppe ist vorhanden: %s.", + "loc.messages.ResourceGroupCreationFailed": "Fehler beim Erstellen der Ressourcengruppe. Fehler: %s", + "loc.messages.CreatingNewRG": "Erstellen der Ressourcengruppe: %s", + "loc.messages.CreatedRG": "Ressourcengruppe erfolgreich erstellt.", + "loc.messages.CreatingTemplateDeployment": "Bereitstellungsparameter werden erstellt.", + "loc.messages.TemplateParsingFailed": "Die Vorlagendatei (\"%s\") muss gültig sein. Fehler bei der Aufgabe während des Analysierens: %s", + "loc.messages.FileFetchFailed": "Fehler beim Herunterladen der Datei. URL: \"%s\". Fehler: %s", + "loc.messages.ParametersFileParsingFailed": "Die Parameterdatei (\"%s\") muss gültig sein. Fehler bei der Aufgabe während des Analysierens: %s", + "loc.messages.StartingDeployment": "Die Bereitstellung wird gestartet.", + "loc.messages.CreateTemplateDeploymentSucceeded": "Vorlage erfolgreich bereitgestellt.", + "loc.messages.CreateTemplateDeploymentFailed": "Fehler bei der Aufgabe während des Erstellens oder Aktualisierens der Vorlagenbereitstellung.", + "loc.messages.ErrorsInYourDeployment": "In Ihrer Bereitstellung sind Fehler aufgetreten. Fehlercode: %s.", + "loc.messages.Details": "Details:", + "loc.messages.ErrorType": "Fehlertyp:", + "loc.messages.PolicyDefinitionName": "Name der Richtliniendefinition:", + "loc.messages.PolicyAssignmentName": "Name der Richtlinienzuweisung:", + "loc.messages.StartingValidation": "Überprüfung der Vorlage wird gestartet.", + "loc.messages.ValidDeployment": "Die Vorlagenbereitstellungsüberprüfung wurde erfolgreich abgeschlossen.", + "loc.messages.CreateTemplateDeploymentValidationFailed": "Fehler beim Validieren der Vorlage: %s.", + "loc.messages.DeletingResourceGroup": "Ressourcengruppe wird gelöscht: %s", + "loc.messages.CouldNotDeletedResourceGroup": "Die Ressourcengruppe konnte nicht gelöscht werden: \"%s\". Fehler beim Vorgang: %s", + "loc.messages.DeletedResourceGroup": "Ressourcengruppe gelöscht: %s", + "loc.messages.InvalidAction": "Diese Aktion ist nicht definiert. Wenden Sie sich an den Ersteller der Aufgabe.", + "loc.messages.ARGD_ConstructorFailed": "Fehler beim Initialisieren der Aufgabe. Fehler: %s", + "loc.messages.InvalidTemplateLocation": "Der angegebene Speicherort der Vorlage ist ungültig. Die Aufgabe unterstützt nur \"Verknüpftes Artefakt\" oder \"URL der Datei\".", + "loc.messages.EncodingNotSupported": "Die Codierung der Datei \"%s\" ist \"%s\". Dies wird nicht unterstützt. Unterstützte Dateicodierungen sind [\"utf-8\", \"tf-16le\"].", + "loc.messages.CouldNotDetectEncoding": "Codierung der Datei \"%s\" wurde nicht erkannt.", + "loc.messages.DetectedFileEncoding": "Die erkannte Codierung für die Datei \"%s\" ist \"%s\".", + "loc.messages.ErrorWhileParsingParameter": "Fehler beim Außerkraftsetzen von Parameter \"%s\" aufgrund von \"%s\". Stellen Sie sicher, dass das JSON-Format (JavaScript Object Notation) eingehalten wird.", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "Es wurden mehrere Dateien gefunden, die mit dem Vorlagendateimuster übereinstimmen: %s", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "Es wurden mehrere Dateien gefunden, die mit dem Parameterdateimuster übereinstimmen: %s", + "loc.messages.TemplateFilePatternMatchingNoFile": "Es wurde keine Datei gefunden, die mit dem Vorlagendateimuster übereinstimmt.", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "Es wurde keine Datei gefunden, die mit dem Vorlagendateimuster übereinstimmt.", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "Das Parameterdateimuster stimmt mit einem Verzeichnis und nicht mit einer Datei überein.", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "Das Vorlagendateimuster stimmt mit einem Verzeichnis und nicht mit einer Datei überein: %s", + "loc.messages.AddedOutputVariable": "Die Ausgabevariable \"%s\" wurde aktualisiert, die den Ausgabeabschnitt des aktuellen Bereitstellungsobjekts im Zeichenfolgenformat enthält.", + "loc.messages.UnableToReadResponseBody": "Antworttext konnte nicht gelesen werden. Fehler: %s", + "loc.messages.MoreInformationOnAzurePortal": "Weitere Informationen zum Azure-Portal", + "loc.messages.LogDeploymentName": "Der Bereitstellungsname lautet \"%s\".", + "loc.messages.ResourceGroupNameNotProvided": "Der Ressourcengruppenname muss angegeben werden.", + "loc.messages.LocationNotProvided": "Für die Bereitstellung wird ein Standort benötigt.", + "loc.messages.ARMServiceConnectionScope": "Bereitstellungsbereich für ARM-Dienstverbindung – %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "Stellen Sie sicher, dass dem Dienstprinzipal mit dem Namen \"/%\" die richtigen Rollen für die Entität \"%s\" zugewiesen sind. Klicken Sie auf den Link, um weitere Informationen zu erhalten: https://docs.microsoft.com/de-de/azure/role-based-access-control/role-assignments-portal", + "loc.messages.ServicePrincipalFetchFailed": "Fehler beim Abrufen der Dienstprinzipaldetails: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "Mit der Aufgabe wurde erfolgreich eine Azure Resource Manager-Bereitstellung erstellt, aber die Bereitstellung war nicht erfolgreich. Ausführlichere Azure Resource Manager-Bereitstellungsprotokolle finden Sie hier: (Link kopieren und einfügen) %s", + "loc.messages.ManagedServiceIdentityDetails": "Stellen Sie sicher, dass der zur Bereitstellung verwendeten verwalteten Dienstidentität die richtigen Rollen für die Ressourcengruppe \"%s\" zugewiesen sind. Klicken Sie auf den Link, um weitere Informationen zu erhalten: https://docs.microsoft.com/de-de/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "loc.messages.CompleteDeploymentModeNotSupported": "Der Bereitstellungsmodus \"Vollständig\" wird für die Bereitstellung im Bereich \"%s\" nicht unterstützt.", + "loc.messages.TemplateValidationFailure": "In der Azure Resource Manager-Vorlage wurden Überprüfungsfehler gefunden. Dies kann zu Fehlern bei der Vorlagenbereitstellung führen. %s. Folgen Sie den Anweisungen unter: https://docs.microsoft.com/de-de/azure/azure-resource-manager/templates/template-syntax", + "loc.messages.TroubleshootingGuide": "Überprüfen Sie anhand der Informationen im Leitfaden zur Problembehandlung, ob Ihr Issue behoben wurde: https://docs.microsoft.com/de-de/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "loc.messages.IncompatibleAzureCLIVersion": "Azure CLI-Version muss >= 2.20.0 sein.", + "loc.messages.AzureCLINotFound": "Azure CLI auf dem Agent nicht gefunden.", + "loc.messages.FailedToFetchAzureCLIVersion": "Fehler beim Abrufen der AZ CLI-Version vom Agent. Fehler: %s", + "loc.messages.BicepBuildFailed": "Fehler bei \"az bicep build\". Fehler: %s", + "loc.messages.BicepFileCleanupFailed": "Fehler beim Löschen der Bicep-Datei. Fehler: %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/en-US/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/en-US/resources.resjson new file mode 100644 index 000000000000..1f180d7426ca --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/en-US/resources.resjson @@ -0,0 +1,105 @@ +{ + "loc.friendlyName": "ARM template deployment", + "loc.helpMarkDown": "[Learn more about this task](https://aka.ms/armtaskreadme)", + "loc.description": "Deploy an Azure Resource Manager (ARM) template to all the deployment scopes", + "loc.instanceNameFormat": "ARM Template deployment: $(deploymentScope) scope", + "loc.releaseNotes": "- Added support for bicepparam.", + "loc.group.displayName.AzureDetails": "Azure Details", + "loc.group.displayName.Template": "Template", + "loc.group.displayName.Advanced": "Advanced", + "loc.input.label.deploymentScope": "Deployment scope", + "loc.input.help.deploymentScope": "Deployment scope of the deployment. To know more abour deployment scopes, refer this [link](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager connection", + "loc.input.help.ConnectedServiceName": "Select the Azure Resource Manager service connection having access to the selected deployment scope.", + "loc.input.label.subscriptionName": "Subscription", + "loc.input.help.subscriptionName": "Select the Azure subscription", + "loc.input.label.action": "Action", + "loc.input.help.action": "Action to be performed on the Azure resources or resource group.", + "loc.input.label.resourceGroupName": "Resource group", + "loc.input.help.resourceGroupName": "Provide the name of a resource group.", + "loc.input.label.location": "Location", + "loc.input.help.location": "For Resource Group deployment scope: Location for deploying the resource group. If the resource group already exists in the subscription, then this value will be ignored.\n For other deployment scope: Location to store deployment metadata.", + "loc.input.label.templateLocation": "Template location", + "loc.input.label.csmFileLink": "Template link", + "loc.input.help.csmFileLink": "Specify the URL of the template file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nTo deploy a template stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `/template.json?` To upload a template file (or a linked template) to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911).\n\nTo view the template parameters in a grid, click on “…†next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.", + "loc.input.label.csmParametersFileLink": "Template parameters link", + "loc.input.help.csmParametersFileLink": "Specify the URL of the parameters file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nTo use a file stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `/template.json?` To upload a parameters file to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911). \n\nTo view the template parameters in a grid, click on “…†next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.", + "loc.input.label.csmFile": "Template", + "loc.input.help.csmFile": "Specify the path or a pattern pointing to the Azure Resource Manager template. For more information about the templates see https://aka.ms/azuretemplates. To get started immediately use template https://aka.ms/sampletemplate. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0", + "loc.input.label.csmParametersFile": "Template parameters", + "loc.input.help.csmParametersFile": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template. 'Linked artifact' also has support for Bicep Param files when the Azure CLI version > 2.47.0", + "loc.input.label.overrideParameters": "Override template parameters", + "loc.input.help.overrideParameters": "To view the template parameters in a grid, click on “…†next to Override Parameters textbox. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS. Or type the template parameters to override in the textbox. Example,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
If the parameter value you're using has multiple words, enclose them in quotes, even if you're passing them using variables. For example, -name \"parameter value\" -name2 \"$(var)\"
To override object type parameters use stringified JSON objects. For example, -options [\"option1\"] -map {\"key1\": \"value1\" }. ", + "loc.input.label.deploymentMode": "Deployment mode", + "loc.input.help.deploymentMode": "Refer to [this](https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-modes) for more details. \n\n Incremental mode handles deployments as incremental updates to the resource group. It leaves unchanged resources that exist in the resource group but are not specified in the template. \n\n Complete mode deletes resources that are not in your template. Complete mode takes relatively more time than incremental mode. If the task times out, consider increasing the timeout, or changing the mode to 'Incremental'. \n **[Warning] Complete mode will delete all the existing resources in the resource group that are not specified in the template. Do review if the resource group you're deploying to doesn't contain any necessary resources that are not specified in the template.** \n\n Validate mode enables you to find problems with the template before creating actual resources. Validate mode enables you to find problems with the template before creating actual resources. Please note that this mode will anyways create a resource group even if it does not deploy any resource.\n\n By default, Incremental mode is used.", + "loc.input.label.deploymentName": "Deployment name", + "loc.input.help.deploymentName": "Specifies the name of the resource group deployment to create.", + "loc.input.label.deploymentOutputs": "Deployment outputs", + "loc.input.help.deploymentOutputs": "Provide a name for the variable for the output variable which will contain the outputs section of the current deployment object in string format. You can use the “ConvertFrom-Json†PowerShell cmdlet to parse the JSON object and access the individual output values. For more details refer to [this](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "loc.input.label.addSpnToEnvironment": "Access service principal details in override parameters", + "loc.input.help.addSpnToEnvironment": "Adds service principal id and key of the Azure endpoint you chose to the script's execution environment. You can use these variables: `$servicePrincipalId` and `$servicePrincipalKey` in your override parameters like `-key $servicePrincipalKey`", + "loc.input.label.useWithoutJSON": "Use individual output values without JSON.Stringify applied", + "loc.input.help.useWithoutJSON": "Individual output values are being converted via JSON.Stringify by default. If you want to use the output values as it is without converting them via JSON.Stringify, enable this option. For more details refer to [this](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "loc.messages.CheckResourceGroupExistence": "Checking if the following resource group exists: %s.", + "loc.messages.ResourceGroupStatusFetchFailed": "Failed to check the resource group status. Error: %s.", + "loc.messages.ResourceGroupStatus": "Resource group exists: %s.", + "loc.messages.ResourceGroupCreationFailed": "Failed to create the resource group. Error: %s", + "loc.messages.CreatingNewRG": "Creating resource Group: %s", + "loc.messages.CreatedRG": "Resource Group created successfully.", + "loc.messages.CreatingTemplateDeployment": "Creating deployment parameters.", + "loc.messages.TemplateParsingFailed": "Ensure the Template file ( '%s' ) is valid. Task failed while parsing with following error: %s", + "loc.messages.FileFetchFailed": "Failed to download the file. URL: '%s'. Error: %s", + "loc.messages.ParametersFileParsingFailed": "Ensure the Parameters file ( '%s' ) is valid. Task failed while parsing with following error: %s", + "loc.messages.StartingDeployment": "Starting Deployment.", + "loc.messages.CreateTemplateDeploymentSucceeded": "Successfully deployed the template.", + "loc.messages.CreateTemplateDeploymentFailed": "Task failed while creating or updating the template deployment.", + "loc.messages.ErrorsInYourDeployment": "There were errors in your deployment. Error code: %s.", + "loc.messages.Details": "Details:", + "loc.messages.ErrorType": "Error Type:", + "loc.messages.PolicyDefinitionName": "Policy Definition Name :", + "loc.messages.PolicyAssignmentName": "Policy Assignment Name :", + "loc.messages.StartingValidation": "Starting template validation.", + "loc.messages.ValidDeployment": "Template deployment validation was completed successfully.", + "loc.messages.CreateTemplateDeploymentValidationFailed": "Template validation failed. Error: %s.", + "loc.messages.DeletingResourceGroup": "Deleting resource group: %s", + "loc.messages.CouldNotDeletedResourceGroup": "Could not delete resource group: '%s'. Operation failed with error: %s", + "loc.messages.DeletedResourceGroup": "Deleted resource group: %s", + "loc.messages.InvalidAction": "This action is not defined. Check with the task author.", + "loc.messages.ARGD_ConstructorFailed": "Task failed while initializing. Error: %s", + "loc.messages.InvalidTemplateLocation": "The template location supplied is invalid. Task only supports 'Linked artifact' or 'URL of the file'", + "loc.messages.EncodingNotSupported": "Encoding of the file '%s' is '%s' which is not supported. Supported file encodings are ['utf-8', 'utf-16le']", + "loc.messages.CouldNotDetectEncoding": "Could not detect encoding of file '%s'", + "loc.messages.DetectedFileEncoding": "The detected encoding for file '%s' is '%s'", + "loc.messages.ErrorWhileParsingParameter": "There was an error while overriding '%s' parameter because of '%s', make sure it follows JavaScript Object Notation (JSON)", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "Found multiple files matching template file pattern: %s", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "Found multiple files matching template parameters file pattern: %s", + "loc.messages.TemplateFilePatternMatchingNoFile": "Could not find any file matching the template file pattern", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "Could not find any file matching the template file pattern", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "Parameters file pattern matches a directory instead of a file.", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "Template file pattern matches a directory instead of a file: %s", + "loc.messages.AddedOutputVariable": "Updated output variable '%s', which contains the outputs section of the current deployment object in string format.", + "loc.messages.UnableToReadResponseBody": "Unable to read response body. Error: %s", + "loc.messages.MoreInformationOnAzurePortal": "More information on Azure Portal", + "loc.messages.LogDeploymentName": "Deployment name is %s", + "loc.messages.ResourceGroupNameNotProvided": "Resource Group name should be provided", + "loc.messages.LocationNotProvided": "Location is required for deployment", + "loc.messages.ARMServiceConnectionScope": "ARM Service Connection deployment scope - %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "Please make sure the Service Principal with name %s is assigned the right roles for the entity %s. Follow the link for more details: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal", + "loc.messages.ServicePrincipalFetchFailed": "Error while fetching Service Principal details: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "Task successfully created an Azure Resource Manager deployment, but the deployment failed. Please see more detailed Azure resource manager deployment logs at: (Please Copy-Paste the link) %s", + "loc.messages.ManagedServiceIdentityDetails": "Please make sure the Managed Service Identity used for deployment is assigned the right roles for the Resource Group %s. Follow the link for more details: https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "loc.messages.CompleteDeploymentModeNotSupported": "Deployment mode 'Complete' is not supported for deployment at '%s' scope", + "loc.messages.TemplateValidationFailure": "Validation errors were found in the Azure Resource Manager template. This can potentially cause template deployment to fail. %s. Please follow https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-syntax", + "loc.messages.TroubleshootingGuide": "Check out the troubleshooting guide to see if your issue is addressed: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "loc.messages.IncompatibleAzureCLIVersion": "Azure CLI version should be >= 2.20.0", + "loc.messages.AzureCLINotFound": "Azure CLI not found on the agent.", + "loc.messages.FailedToFetchAzureCLIVersion": "Failed to fetch az cli version from agent. Error: %s", + "loc.messages.BicepBuildFailed": "\"az bicep build\" failed. Error: %s", + "loc.messages.BicepFileCleanupFailed": "Failed to delete Bicep file. Error: %s", + "loc.messages.LoginFailed": "Azure login failed: %s", + "loc.messages.MSILoginFailed": "Azure login failed using Managed Service Identity: %s", + "loc.messages.AuthSchemeNotSupported": "Auth Scheme %s is not supported", + "loc.messages.ErrorInSettingUpSubscription": "Error in setting up subscription: %s", + "loc.messages.BicepParamBuildFailed": "\"az bicep build-param\" failed. Error: %s", + "loc.messages.IncompatibleAzureCLIVersionBicepParam": "Azure CLI version should be >= 2.47.0 to use .bicepparam file" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/es-ES/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/es-ES/resources.resjson new file mode 100644 index 000000000000..abfb66267ef0 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/es-ES/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "Implementación de la plantilla de ARM", + "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://aka.ms/armtaskreadme)", + "loc.description": "Implementa una plantilla de Azure Resource Manager (ARM) en todos los ámbitos de implementación.", + "loc.instanceNameFormat": "Implementación de la plantilla de ARM: ámbito $(deploymentScope)", + "loc.releaseNotes": "- Se ha agregado compatibilidad con la implementación en todos los ámbitos de implementación.\n- Se han eliminado todas las acciones relacionadas con VM.", + "loc.group.displayName.AzureDetails": "Detalles de Azure", + "loc.group.displayName.Template": "Plantilla", + "loc.group.displayName.Advanced": "Avanzado", + "loc.input.label.deploymentScope": "Ãmbito de la implementación", + "loc.input.help.deploymentScope": "Ãmbito de la implementación. Para obtener más información sobre los ámbitos de implementación, consulte este [vínculo](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope).", + "loc.input.label.ConnectedServiceName": "Conexión de Azure Resource Manager", + "loc.input.help.ConnectedServiceName": "Seleccione la conexión de servicio de Azure Resource Manager con acceso al ámbito de implementación seleccionado.", + "loc.input.label.subscriptionName": "Suscripción", + "loc.input.help.subscriptionName": "Seleccionar la suscripción de Azure", + "loc.input.label.action": "Acción", + "loc.input.help.action": "Acción que se va a ejecutar en los recursos o el grupo de recursos de Azure.", + "loc.input.label.resourceGroupName": "Grupo de recursos", + "loc.input.help.resourceGroupName": "Proporcione el nombre de un grupo de recursos.", + "loc.input.label.location": "Ubicación", + "loc.input.help.location": "Para el ámbito de implementación del grupo de recursos: ubicación para implementar el grupo de recursos. Si el grupo de recursos ya existe en la suscripción, este valor se ignorará.\n Para otro ámbito de implementación: ubicación para almacenar los metadatos de implementación.", + "loc.input.label.templateLocation": "Ubicación de la plantilla", + "loc.input.label.csmFileLink": "Vínculo de plantilla", + "loc.input.help.csmFileLink": "Especifique la dirección URL del archivo de plantilla. Ejemplo: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nPara implementar una plantilla almacenada en una cuenta de almacenamiento privada, recupere e incluya el token SAS (firma de acceso compartido) en la dirección URL de la plantilla. Ejemplo: \"/template.json?\". Para cargar un archivo de plantilla (o una plantilla vinculada) a una cuenta de almacenamiento y generar un token SAS, puede usar la tarea [Copia de archivos de Azure](https://aka.ms/azurefilecopyreadme) o seguir los pasos usando [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) o [la CLI de Azure](https://go.microsoft.com/fwlink/?linkid=836911).\n\nPara ver los parámetros de plantilla en una cuadrícula, haga clic en “…†junto al cuadro de texto Reemplazar parámetros de plantilla. Esta característica requiere que estén habilitadas las reglas CORS en el origen. Si las plantillas están en Azure Storage Blob, consulte [este artículo](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) para habilitar CORS.", + "loc.input.label.csmParametersFileLink": "Vínculo de parámetros de la plantilla", + "loc.input.help.csmParametersFileLink": "Especifique la dirección URL del archivo de parámetros. Ejemplo: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json). \n\nPara usar un archivo almacenado en una cuenta de almacenamiento privada, recupere e incluya el token SAS (firma de acceso compartido) en la dirección URL de la plantilla. Ejemplo: \"/template.json?\". Para cargar un archivo de parámetros en una cuenta de almacenamiento y generar un token SAS, utilice la tarea [Copia de archivos de Azure](https://aka.ms/azurefilecopyreadme) o siga los pasos usando [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) o [la CLI de Azure](https://go.microsoft.com/fwlink/?linkid=836911). \n\nPara ver los parámetros de plantilla en una cuadrícula, haga clic en “…†junto al cuadro de texto Reemplazar parámetros de plantilla. Esta característica requiere que estén habilitadas las reglas CORS en el origen. Si las plantillas están en Azure Storage Blob, consulte [este artículo](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) para habilitar CORS.", + "loc.input.label.csmFile": "Plantilla", + "loc.input.help.csmFile": "Especifique la ruta de acceso o un patrón que apunten a la plantilla de Azure Resource Manager. Para obtener más información sobre las plantillas, consulte: https://aka.ms/azuretemplates. Para comenzar a usar una plantilla de inmediato, consulte https://aka.ms/sampletemplate. \"Artefacto vinculado\" también admite archivos Bicep en versiones de CLI de Azure > 2.20.0", + "loc.input.label.csmParametersFile": "Parámetros de la plantilla", + "loc.input.help.csmParametersFile": "Especifique la ruta de acceso o un patrón que apunte al archivo de parámetros de la plantilla de Azure Resource Manager. \"Artefacto vinculado\" también admite archivos Bícep en versiones de CLI de Azure > 2.20.0", + "loc.input.label.overrideParameters": "Reemplazar parámetros de plantilla", + "loc.input.help.overrideParameters": "Para ver los parámetros de plantilla en una cuadrícula, haga clic en “…†junto al cuadro de texto Parámetros de reemplazo. Esta característica requiere que estén habilitadas las reglas CORS en el origen. Si las plantillas están en Azure Blob Storage, consulte [este artículo](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) para habilitar CORS. También puede escribir los parámetros de plantilla para reemplazar en el cuadro de texto. Ejemplo,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
Si el valor de parámetro que usa tiene varias palabras, escríbalas entre comillas, aunque se estén pasando con variables. Por ejemplo, -name \"valor parámetro\" -name2 \"$(var)\"
Para reemplazar los parámetros de tipo de objeto, use objetos JSON con formato de cadena. Por ejemplo, -options [\"opción1\"] -map {\"clave1\": \"valor1\" }. ", + "loc.input.label.deploymentMode": "Modo de implementación", + "loc.input.help.deploymentMode": "Consulte [aquí](https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-modes) más detalles. \n\n El modo incremental trata las implementaciones como actualizaciones incrementales para el grupo de recursos. Deja como están los recursos que existen en el grupo de recursos, pero que no se especifican en la plantilla. \n\n El modo completo elimina los recursos que no están en la plantilla. Dicho modo tarda relativamente más que el modo incremental. Si se agota el tiempo de espera de la tarea, considere la posibilidad de incrementarlo o de cambiar al modo \"Incremental\". \n **[Advertencia] El modo completo eliminará todos los recursos existentes en el grupo de recursos que no se hayan especificado en la plantilla. Revise si el grupo de recursos en el que está implementando no contiene algún recurso necesario que no se especifique en la plantilla.** \n\n El modo de validación le permite encontrar problemas con la plantilla antes de crear los recursos en sí. El modo de validación le permite localizar problemas con la plantilla antes de crear los recursos en sí. Tenga en cuenta que este modo creará igualmente un grupo de recursos aunque no implemente ningún recurso.\n\n De forma predeterminada se usa el modo incremental.", + "loc.input.label.deploymentName": "Nombre de implementación", + "loc.input.help.deploymentName": "Especifica el nombre de la implementación del grupo de recursos que se va a crear.", + "loc.input.label.deploymentOutputs": "Salidas de implementación", + "loc.input.help.deploymentOutputs": "Proporcione un nombre para la variable de salida que contendrá la sección de salidas del objeto de implementación actual en formato de cadena. Puede usar el cmdlet de PowerShell \"ConvertFrom-Json\" para analizar el objeto JSON y acceder a los valores de salida individuales. Para obtener más detalles, consulte [este sitio](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "loc.input.label.addSpnToEnvironment": "Acceder a los detalles de la entidad de servicio en los parámetros de invalidación", + "loc.input.help.addSpnToEnvironment": "Agregue el identificador de entidad de servicio y la clave del punto de conexión de Azure que ha seleccionado al entorno de ejecución del script. Puede usar las variables \"$servicePrincipalId\" y \"$servicePrincipalKey\" en los parámetros de reemplazo, como \"-key $servicePrincipalKey\".", + "loc.messages.CheckResourceGroupExistence": "Comprobando si existe el siguiente grupo de recursos: %s.", + "loc.messages.ResourceGroupStatusFetchFailed": "No se pudo comprobar el estado del grupo de recursos. Error: %s.", + "loc.messages.ResourceGroupStatus": "El grupo de recursos existe: %s.", + "loc.messages.ResourceGroupCreationFailed": "No se pudo crear el grupo de recursos. Error: %s", + "loc.messages.CreatingNewRG": "Creando el grupo de recursos: %s", + "loc.messages.CreatedRG": "El grupo de recursos se ha creado correctamente.", + "loc.messages.CreatingTemplateDeployment": "Creando los parámetros de implementación.", + "loc.messages.TemplateParsingFailed": "Asegúrese de que el archivo de plantilla \"%s\" es válido. No se pudo ejecutar la tarea durante el análisis debido al error: %s", + "loc.messages.FileFetchFailed": "No se pudo descargar el archivo. URL: \"%s\". Error: %s", + "loc.messages.ParametersFileParsingFailed": "Asegúrese de que el archivo de parámetros \"%s\" es válido. No se pudo ejecutar la tarea durante el análisis debido al error: %s", + "loc.messages.StartingDeployment": "Iniciando la implementación.", + "loc.messages.CreateTemplateDeploymentSucceeded": "La plantilla se implementó correctamente.", + "loc.messages.CreateTemplateDeploymentFailed": "No se pudo realizar la tarea mientras se creaba o actualizaba la implementación de plantilla.", + "loc.messages.ErrorsInYourDeployment": "Hubo errores en la implementación. Código de error: %s.", + "loc.messages.Details": "Detalles:", + "loc.messages.ErrorType": "Tipo de error:", + "loc.messages.PolicyDefinitionName": "Nombre de definición de directiva:", + "loc.messages.PolicyAssignmentName": "Nombre de asignación de directiva:", + "loc.messages.StartingValidation": "Iniciando la validación de la plantilla.", + "loc.messages.ValidDeployment": "La validación de la implementación de la plantilla finalizó correctamente.", + "loc.messages.CreateTemplateDeploymentValidationFailed": "No se pudo validar la plantilla. Error: %s.", + "loc.messages.DeletingResourceGroup": "Eliminando el grupo de recursos: %s", + "loc.messages.CouldNotDeletedResourceGroup": "No se pudo eliminar el grupo de recursos: \"%s\". Error: %s", + "loc.messages.DeletedResourceGroup": "Grupo de recursos eliminado: %s", + "loc.messages.InvalidAction": "Esta acción no está definida. Consulte al autor de la tarea.", + "loc.messages.ARGD_ConstructorFailed": "No se pudo inicializar la tarea. Error: %s", + "loc.messages.InvalidTemplateLocation": "La ubicación de plantilla proporcionada no es válida. La tarea solo admite \"Artefacto vinculado\" o \"Dirección URL del archivo\"", + "loc.messages.EncodingNotSupported": "La codificación del archivo \"%s\" es \"%s\", que no se admite. Las codificaciones de archivo admitidas son [\"utf-8\", \"utf-16le\"]", + "loc.messages.CouldNotDetectEncoding": "No se pudo detectar la codificación del archivo \"%s\"", + "loc.messages.DetectedFileEncoding": "La codificación detectada para el archivo \"%s\" es \"%s\"", + "loc.messages.ErrorWhileParsingParameter": "Error al reemplazar el parámetro \"%s\" debido a \"%s\". Asegúrese de que sigue la notación de objetos JavaScript (JSON)", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "Se han encontrado varios archivos que coinciden con el patrón del archivo de plantilla: %s", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "Se han encontrado varios archivos que coinciden con el patrón del archivo de parámetros: %s", + "loc.messages.TemplateFilePatternMatchingNoFile": "No se encuentra ningún archivo que coincida con el patrón del archivo de plantilla", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "No se encuentra ningún archivo que coincida con el patrón del archivo de plantilla", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "El patrón del archivo de parámetros coincide con un directorio en lugar de un archivo.", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "El patrón del archivo de plantilla coincide con un directorio en lugar de un archivo: %s", + "loc.messages.AddedOutputVariable": "Se actualizó la variable de salida \"%s\", que contiene la sección de salidas del objeto de implementación actual con formato de cadena.", + "loc.messages.UnableToReadResponseBody": "No se puede leer el cuerpo de la respuesta. Error: %s", + "loc.messages.MoreInformationOnAzurePortal": "Más información sobre Azure Portal", + "loc.messages.LogDeploymentName": "El nombre de la implementación es %s", + "loc.messages.ResourceGroupNameNotProvided": "Debe proporcionarse el nombre del grupo de recursos.", + "loc.messages.LocationNotProvided": "La ubicación es necesaria para la implementación.", + "loc.messages.ARMServiceConnectionScope": "Ãmbito de implementación de la conexión de servicio de ARM: %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "Asegúrese de que la entidad de servicio con el nombre %s tiene asignados los roles correctos para la entidad %s. Siga el vínculo para obtener más detalles: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal", + "loc.messages.ServicePrincipalFetchFailed": "Error al capturar los detalles de la entidad de servicio: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "La tarea creó correctamente una implementación de Azure Resource Manager, pero hubo un error al implementar. Consulte registros de implementación de Azure Resource Manager más detallados en: (copiar y pegar el vínculo) %s", + "loc.messages.ManagedServiceIdentityDetails": "Asegúrese de que la instancia de Managed Service Identity que se usa para la implementación tiene asignados los roles adecuados para el grupo de recursos %s. Siga el vínculo para obtener más detalles: https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "loc.messages.CompleteDeploymentModeNotSupported": "No se admite el modo de implementación \"Completo\" para la implementación en el ámbito \"%s\".", + "loc.messages.TemplateValidationFailure": "Se encontraron errores de validación en la plantilla de Azure Resource Manager. Esto puede causar un error de implementación de la plantilla. %s. Visite https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-syntax", + "loc.messages.TroubleshootingGuide": "Consulte la guía de solución de problemas para ver si se trata su problema: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "loc.messages.IncompatibleAzureCLIVersion": "La versión CLI de Azure debe ser >= 2.20.0", + "loc.messages.AzureCLINotFound": "No se ha encontrado la versión CLI de Azure en el agente.", + "loc.messages.FailedToFetchAzureCLIVersion": "No se pudo capturar la versión CLI de la zona de disponibilidad del agente. Error: %s", + "loc.messages.BicepBuildFailed": "Error de \"compilación de al zona de disponibilidad del Bicep\". Error: %s", + "loc.messages.BicepFileCleanupFailed": "No se pudo eliminar el archivo Bicep. Error: %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/fr-FR/resources.resjson new file mode 100644 index 000000000000..c8c128cd201d --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/fr-FR/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "Déploiement de modèle ARM", + "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://aka.ms/armtaskreadme)", + "loc.description": "Déployer un modèle ARM (Azure Resource Manager) sur toutes les étendues de déploiement", + "loc.instanceNameFormat": "Déploiement du modèle ARM : $(deploymentScope) scope", + "loc.releaseNotes": "- Ajout de la prise en charge du déploiement sur toutes les étendues de déploiement.\n- Suppression de toutes les actions liées aux machines virtuelles.", + "loc.group.displayName.AzureDetails": "Détails relatifs à Azure", + "loc.group.displayName.Template": "Modèle", + "loc.group.displayName.Advanced": "Avancé", + "loc.input.label.deploymentScope": "Étendue du déploiement", + "loc.input.help.deploymentScope": "Étendue de déploiement du déploiement. Pour en savoir plus sur les étendues de déploiement, consultez ce [lien](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "loc.input.label.ConnectedServiceName": "Connexion Azure Resource Manager", + "loc.input.help.ConnectedServiceName": "Sélectionnez la connexion de service Azure Resource Manager ayant accès à l'étendue de déploiement sélectionnée.", + "loc.input.label.subscriptionName": "Abonnement", + "loc.input.help.subscriptionName": "Sélectionner l'abonnement Azure", + "loc.input.label.action": "Action", + "loc.input.help.action": "Action à exécuter sur les ressources ou le groupe de ressources Azure.", + "loc.input.label.resourceGroupName": "Groupe de ressources", + "loc.input.help.resourceGroupName": "Indiquez le nom d'un groupe de ressources.", + "loc.input.label.location": "Emplacement", + "loc.input.help.location": "Pour l'étendue de déploiement du groupe de ressources : emplacement de déploiement du groupe de ressources. Si le groupe de ressources existe déjà dans l'abonnement, cette valeur est ignorée.\n Pour une autre étendue de déploiement : emplacement de stockage des métadonnées de déploiement.", + "loc.input.label.templateLocation": "Emplacement du modèle", + "loc.input.label.csmFileLink": "Lien du modèle", + "loc.input.help.csmFileLink": "Spécifiez l'URL du fichier de modèle. Exemple : [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nPour déployer un modèle stocké dans un compte de stockage privé, récupérez et incluez le jeton SAP (signature d'accès partagé) dans l'URL du modèle. Exemple : '/template.json?' Pour charger un fichier de modèle (ou un modèle lié) vers un compte de stockage et générer un jeton SAP, vous pouvez utiliser la tâche [Copie de fichiers Azure](https://aka.ms/azurefilecopyreadme) ou suivre les étapes liées à [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) ou [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911).\n\nPour afficher les paramètres du modèle dans une grille, cliquez sur \"…\" en regard de la zone de texte Remplacer les paramètres du modèle. Cette fonctionnalité nécessite l'activation des règles CORS à la source. Si les modèles se trouvent dans Azure Storage Blob, consultez [ceci](https://docs.microsoft.com/fr-fr/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) pour activer CORS.", + "loc.input.label.csmParametersFileLink": "Lien des paramètres de modèle", + "loc.input.help.csmParametersFileLink": "Spécifiez l'URL du fichier de paramètres. Exemple : [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nPour utiliser un fichier stocké dans un compte de stockage privé, récupérez et incluez le jeton SAP (signature d'accès partagé) dans l'URL du modèle. Exemple : '/template.json?' Pour charger un fichier de paramètres vers un compte de stockage et générer un jeton SAP, vous pouvez utiliser la tâche [Copie de fichiers Azure](https://aka.ms/azurefilecopyreadme) ou suivre les étapes liées à [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) ou [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911). \n\nPour afficher les paramètres du modèle dans une grille, cliquez sur \"…\" en regard de la zone de texte Remplacer les paramètres du modèle. Cette fonctionnalité nécessite l'activation des règles CORS à la source. Si les modèles se trouvent dans Azure Storage Blob, consultez [ceci](https://docs.microsoft.com/fr-fr/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) pour activer CORS.", + "loc.input.label.csmFile": "Modèle", + "loc.input.help.csmFile": "Spécifiez le chemin d’accès ou un modèle pointant vers le modèle Azure Resource Manager. Pour plus d’informations sur les modèles, consultez https://aka.ms/azuretemplates. Pour commencer immédiatement, utilisez https://aka.ms/sampletemplate de modèle. « Artefact lié » prend également en charge les fichiers Bicep lorsque la version Azure CLI > 2.20.0", + "loc.input.label.csmParametersFile": "Paramètres du modèle", + "loc.input.help.csmParametersFile": "Spécifiez le chemin d’accès ou un modèle pointant vers le fichier de paramètres du modèle azure Resource Manager. « Artefact lié » prend également en charge les fichiers Bicep lorsque la version Azure CLI > 2.20.0", + "loc.input.label.overrideParameters": "Remplacer les paramètres du modèle", + "loc.input.help.overrideParameters": "Pour afficher les paramètres du modèle dans une grille, cliquez sur \"…\" en regard de la zone de texte Remplacer les paramètres. Cette fonctionnalité nécessite l'activation des règles CORS à la source. Si les modèles se trouvent dans Azure Storage Blob, consultez [ceci](https://docs.microsoft.com/fr-fr/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) pour activer CORS. Sinon, tapez les paramètres de modèle à remplacer dans la zone de texte. Exemple :
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
Si la valeur de paramètre que vous utilisez contient plusieurs mots, placez-les entre des guillemets, même si vous les passez à l'aide de variables. Exemple : -name \"valeur de paramètre\" -name2 \"$(var)\"
Pour remplacer les paramètres de type d'objet, utilisez des objets JSON convertis en chaîne. Exemple : -options [\"option1\"] -map {\"clé1\": \"valeur1\" }. ", + "loc.input.label.deploymentMode": "Mode de déploiement", + "loc.input.help.deploymentMode": "Pour plus d’informations, consultez [this](https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-modes). \n\n mode incrémentiel gère les déploiements en tant que mises à jour incrémentielles du groupe de ressources. Il laisse les ressources inchangées qui existent dans le groupe de ressources, mais qui ne sont pas spécifiées dans le modèle. \n\n Le mode Complet supprime les ressources qui ne se trouvent pas dans votre modèle. Le mode complet prend relativement plus de temps que le mode incrémentiel. Si la tâche expire, envisagez d’augmenter le délai d’expiration ou de remplacer le mode par « Incrémentiel ». \n Le mode complet **[Avertissement] supprime toutes les ressources existantes du groupe de ressources qui ne sont pas spécifiées dans le modèle. Vérifiez si le groupe de ressources sur lequel vous effectuez le déploiement ne contient aucune ressource nécessaire qui n’est pas spécifiée dans le modèle.** \n\n Le mode Valider vous permet de trouver des problèmes avec le modèle avant de créer des ressources réelles. Le mode Validation vous permet de rechercher des problèmes avec le modèle avant de créer des ressources réelles. Notez que ce mode crée quand même un groupe de ressources même s’il ne déploie aucune ressource.\n\n Par défaut, le mode incrémentiel est utilisé.", + "loc.input.label.deploymentName": "Nom du déploiement", + "loc.input.help.deploymentName": "Spécifie le nom du déploiement de groupe de ressources à créer.", + "loc.input.label.deploymentOutputs": "Sorties de déploiement", + "loc.input.help.deploymentOutputs": "Donnez un nom à la variable de sortie qui contient la section outputs de l'objet de déploiement actuel au format chaîne. Vous pouvez utiliser l'applet de commande PowerShell \"ConvertFrom-Json\" pour analyser l'objet JSON et accéder aux valeurs de sortie individuelles. Pour plus d'informations, consultez [ceci](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "loc.input.label.addSpnToEnvironment": "Accéder aux détails du principal de service dans les paramètres de substitution", + "loc.input.help.addSpnToEnvironment": "Ajoute l'ID et la clé de principal de service du point de terminaison Azure choisi à l'environnement d'exécution du script. Vous pouvez utiliser les variables '$servicePrincipalId' et '$servicePrincipalKey' dans vos paramètres de substitution, par exemple '-key $servicePrincipalKey'", + "loc.messages.CheckResourceGroupExistence": "Vérification de l'existence du groupe de ressources suivant : %s.", + "loc.messages.ResourceGroupStatusFetchFailed": "Échec de la vérification de l'état du groupe de ressources. Erreur : %s.", + "loc.messages.ResourceGroupStatus": "Le groupe de ressources existe : %s.", + "loc.messages.ResourceGroupCreationFailed": "Échec de la création du groupe de ressources. Erreur : %s", + "loc.messages.CreatingNewRG": "Création du groupe de ressources : %s", + "loc.messages.CreatedRG": "Création réussie du groupe de ressources.", + "loc.messages.CreatingTemplateDeployment": "Création des paramètres de déploiement.", + "loc.messages.TemplateParsingFailed": "Vérifiez que le fichier de modèle ( '%s' ) est valide. Échec de la tâche durant l'analyse avec l'erreur suivante : %s", + "loc.messages.FileFetchFailed": "Échec du téléchargement du fichier. URL : '%s'. Erreur : %s", + "loc.messages.ParametersFileParsingFailed": "Vérifiez que le fichier de paramètres ( '%s' ) est valide. Échec de la tâche durant l'analyse avec l'erreur suivante : %s", + "loc.messages.StartingDeployment": "Démarrage du déploiement.", + "loc.messages.CreateTemplateDeploymentSucceeded": "Déploiement réussi du modèle.", + "loc.messages.CreateTemplateDeploymentFailed": "Échec de la tâche durant la création ou la mise à jour du déploiement du modèle.", + "loc.messages.ErrorsInYourDeployment": "Des erreurs se sont produites durant le déploiement. Code d'erreur : %s.", + "loc.messages.Details": "Détails :", + "loc.messages.ErrorType": "Type d'erreur :", + "loc.messages.PolicyDefinitionName": "Nom de la définition de stratégie :", + "loc.messages.PolicyAssignmentName": "Nom de l'affectation de stratégie :", + "loc.messages.StartingValidation": "Démarrage de la validation du modèle.", + "loc.messages.ValidDeployment": "La validation du déploiement de modèle a réussi.", + "loc.messages.CreateTemplateDeploymentValidationFailed": "Échec de la validation du modèle. Erreur : %s.", + "loc.messages.DeletingResourceGroup": "Suppression du groupe de ressources : %s", + "loc.messages.CouldNotDeletedResourceGroup": "Impossible de supprimer le groupe de ressources : '%s'. Échec de l'opération. Erreur : %s", + "loc.messages.DeletedResourceGroup": "Groupe de ressources supprimé : %s", + "loc.messages.InvalidAction": "Cette action n'est pas définie. Vérifiez auprès de l'auteur de la tâche.", + "loc.messages.ARGD_ConstructorFailed": "Échec de la tâche durant l'initialisation. Erreur : %s", + "loc.messages.InvalidTemplateLocation": "L'emplacement du modèle fourni est non valide. La tâche prend uniquement en charge 'Artefact lié' ou 'URL du fichier'", + "loc.messages.EncodingNotSupported": "L'encodage du fichier '%s' est '%s', ce qui n'est pas pris en charge. Les encodages de fichiers pris en charge sont ['utf-8', 'utf-16le']", + "loc.messages.CouldNotDetectEncoding": "Impossible de détecter l'encodage du fichier '%s'", + "loc.messages.DetectedFileEncoding": "L'encodage détecté pour le fichier '%s' est '%s'", + "loc.messages.ErrorWhileParsingParameter": "Une erreur s'est produite durant le remplacement du paramètre '%s' en raison de '%s'. Vérifiez qu'il respecte le format JSON (JavaScript Object Notation)", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "Plusieurs fichiers correspondent au modèle du fichier de modèle : %s", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "Plusieurs fichiers correspondent au modèle du fichier de paramètres de modèle : %s", + "loc.messages.TemplateFilePatternMatchingNoFile": "Le fichier correspondant au modèle du fichier de modèle est introuvable", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "Le fichier correspondant au modèle du fichier de modèle est introuvable", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "Le modèle du fichier de paramètres correspond à un répertoire au lieu d'un fichier.", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "Le modèle du fichier de modèle correspond à un répertoire au lieu d'un fichier : %s", + "loc.messages.AddedOutputVariable": "Mise à jour effectuée de la variable de sortie '%s', qui contient la section outputs de l'objet de déploiement actuel au format chaîne.", + "loc.messages.UnableToReadResponseBody": "Impossible de lire le corps de la réponse. Erreur : %s", + "loc.messages.MoreInformationOnAzurePortal": "Plus d'informations sur le Portail Azure", + "loc.messages.LogDeploymentName": "Le nom du déploiement est %s", + "loc.messages.ResourceGroupNameNotProvided": "Le nom du groupe de ressources doit être fourni", + "loc.messages.LocationNotProvided": "L'emplacement est obligatoire pour le déploiement", + "loc.messages.ARMServiceConnectionScope": "Étendue du déploiement de connexion de service ARM - %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "Vérifiez que les rôles appropriés sont attribués au principal de service nommé %s pour l'entité %s. Pour plus d'informations, accédez au lien suivant : https://docs.microsoft.com/fr-fr/azure/role-based-access-control/role-assignments-portal", + "loc.messages.ServicePrincipalFetchFailed": "Erreur durant la récupération (fetch) des détails du principal de service : %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "La tâche a réussi à créer un déploiement Azure Resource Manager, mais le déploiement a été un échec. Pour plus d'informations, consultez les journaux de déploiement d'Azure Resource Manager à l'adresse suivante : (copiez-collez le lien) %s", + "loc.messages.ManagedServiceIdentityDetails": "Vérifiez que l'identité de service managé utilisée pour le déploiement est affectée aux rôles appropriés du groupe de ressources %s. Pour plus d'informations, accédez au lien suivant : https://docs.microsoft.com/fr-fr/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "loc.messages.CompleteDeploymentModeNotSupported": "Le mode de déploiement 'Complet' n'est pas pris en charge pour le déploiement dans l'étendue '%s'", + "loc.messages.TemplateValidationFailure": "Des erreurs de validation ont été trouvées dans le modèle Azure Resource Manager. Cela peut entraîner l'échec du déploiement du modèle. %s. Accédez à https://docs.microsoft.com/fr-fr/azure/azure-resource-manager/templates/template-syntax", + "loc.messages.TroubleshootingGuide": "Consultez le guide de résolution des problèmes pour voir si votre problème y est traité : https://docs.microsoft.com/fr-fr/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "loc.messages.IncompatibleAzureCLIVersion": "Azure CLI version doit être >= 2.20.0", + "loc.messages.AzureCLINotFound": "Azure CLI introuvable sur l’agent.", + "loc.messages.FailedToFetchAzureCLIVersion": "Échec de la récupération de la version cli az de l’agent. Erreur : %s", + "loc.messages.BicepBuildFailed": "Échec de la génération du biceps az. Erreur : %s", + "loc.messages.BicepFileCleanupFailed": "Échec de la suppression du fichier Bicep. Erreur : %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson new file mode 100644 index 000000000000..63f7903eb6e1 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "Distribuzione del modello di Azure Resource Manager", + "loc.helpMarkDown": "[Altre informazioni su questa attività](https://aka.ms/armtaskreadme)", + "loc.description": "Distribuisce un modello di Azure Resource Manager in tutti gli ambiti di distribuzione", + "loc.instanceNameFormat": "Distribuzione di modelli di Azure Resource Manager: ambito $(deploymentScope)", + "loc.releaseNotes": "- Aggiunta del supporto per la distribuzione in tutti gli ambiti di distribuzione.\n- Rimozione di tutte le azioni correlate alle macchine virtuali.", + "loc.group.displayName.AzureDetails": "Dettagli su Azure", + "loc.group.displayName.Template": "Modello", + "loc.group.displayName.Advanced": "Avanzate", + "loc.input.label.deploymentScope": "Ambito di distribuzione", + "loc.input.help.deploymentScope": "Ambito di distribuzione della distribuzione. Per altre informazioni sugli ambiti di distribuzione, vedere questo [collegamento] (https://docs.microsoft.com/it-it/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "loc.input.label.ConnectedServiceName": "Connessione ad Azure Resource Manager", + "loc.input.help.ConnectedServiceName": "Selezionare la connessione al servizio Azure Resource Manager con accesso all'ambito di distribuzione selezionato.", + "loc.input.label.subscriptionName": "Sottoscrizione", + "loc.input.help.subscriptionName": "Selezionare la sottoscrizione di Azure", + "loc.input.label.action": "Azione", + "loc.input.help.action": "Azione da eseguire sulle risorse o sul gruppo di risorse di Azure.", + "loc.input.label.resourceGroupName": "Gruppo di risorse", + "loc.input.help.resourceGroupName": "Specificare il nome di un gruppo di risorse.", + "loc.input.label.location": "Località", + "loc.input.help.location": "Per l'ambito di distribuzione Gruppo di risorse: percorso per la distribuzione del gruppo di risorse. Se il gruppo di risorse esiste già nella sottoscrizione, questo valore verrà ignorato.\n Per altri ambiti di distribuzione: percorso in cui archiviare i metadati della distribuzione.", + "loc.input.label.templateLocation": "Posizione del modello", + "loc.input.label.csmFileLink": "Collegamento al modello", + "loc.input.help.csmFileLink": "Specificare l'URL del file di modello. Esempio: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nPer distribuire un modello archiviato in un account di archiviazione privato, recuperare e includere il token di firma di accesso condiviso nell'URL del modello. Esempio: `/template.json?`. Per caricare un file di modello o un modello collegato in un account di archiviazione e generare un token di firma di accesso condiviso, è possibile usare l'attività [Copia dei file di Azure](https://aka.ms/azurefilecopyreadme) oppure eseguire la procedura con [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) o con l'[interfaccia della riga di comando di Azure](https://go.microsoft.com/fwlink/?linkid=836911).\n\nPer visualizzare i parametri del modello in una griglia, fare clic su \"…\" accanto alla casella di testo Esegui override dei parametri del modello. Questa funzionalità richiede che le regole di Condivisione risorse tra le origini (CORS) siano abilitate nell'origine. Se i modelli si trovano nel BLOB del servizio di archiviazione di Azure, vedere [qui](https://docs.microsoft.com/it-it/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) per abilitare CORS.", + "loc.input.label.csmParametersFileLink": "Collegamento ai parametri del modello", + "loc.input.help.csmParametersFileLink": "Specificare l'URL del file di parametri. Esempio: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nPer usare un file archiviato in un account di archiviazione privato, recuperare e includere il token di firma di accesso condiviso nell'URL del modello. Esempio: `/template.json?`. Per caricare un file di parametri in un account di archiviazione e generare un token di firma di accesso condiviso, è possibile usare l'attività [Copia dei file di Azure](https://aka.ms/azurefilecopyreadme) oppure eseguire la procedura con [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) o con l'[interfaccia della riga di comando di Azure](https://go.microsoft.com/fwlink/?linkid=836911). \n\nPer visualizzare i parametri del modello in una griglia, fare clic su \"…\" accanto alla casella di testo Esegui override dei parametri del modello. Questa funzionalità richiede che le regole di Condivisione risorse tra le origini (CORS) siano abilitate nell'origine. Se i modelli si trovano nel BLOB del servizio di archiviazione di Azure, vedere [qui](https://docs.microsoft.com/it-it/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) per abilitare CORS.", + "loc.input.label.csmFile": "Modello", + "loc.input.help.csmFile": "Consente di specificare il percorso o un criterio che punta al modello di Azure Resource Manager. Per altre informazioni sui modelli, vedere https://aka.ms/azuretemplates. Per iniziare subito, usare il modello https://aka.ms/sampletemplate. 'Artefatto collegato' offre anche supporto per file Bicep quando la versione dell'interfaccia della riga di comando di Azure è > 2.20.0", + "loc.input.label.csmParametersFile": "Parametri del modello", + "loc.input.help.csmParametersFile": "Specificare il percorso o un criterio che punta al file di parametri del modello di Azure Resource Manager. 'Artefatto collegato' offre anche supporto per file Bicep quando la versione dell'interfaccia della riga di comando di Azure è > 2.20.0", + "loc.input.label.overrideParameters": "Esegui override dei parametri del modello", + "loc.input.help.overrideParameters": "Per visualizzare i parametri del modello in una griglia, fare clic su \"…\" accanto alla casella di testo Parametri di sostituzione. Con questa funzionalità è richiesta l'abilitazione delle regole CORS nell'origine. Se i modelli si trovano nel BLOB del servizio di archiviazione di Azure, vedere [qui](https://docs.microsoft.com/it-it/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) per abilitare CORS. In alternativa, digitare nella casella di testo i parametri del modello di cui eseguire l'override. Esempio:
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
Se il valore del parametro usato include più parole, racchiuderle tra virgolette anche se verranno passate con le variabili. Ad esempio, -name \"valore parametro\" -name2 \"$(var)\"
Per eseguire l'override di parametri di tipo oggetto, usare oggetti JSON sotto forma di stringa. Ad esempio, -options [\"option1\"] -map {\"key1\": \"value1\" }. ", + "loc.input.label.deploymentMode": "Modalità di distribuzione", + "loc.input.help.deploymentMode": "Per altri dettagli, vedere [questo articolo](https://docs.microsoft.com/it-it/azure/azure-resource-manager/deployment-modes). \n\n La modalità Incrementale gestisce le distribuzioni come aggiornamenti incrementali del gruppo di risorse. Lascia invariate le risorse esistenti nel gruppo di risorse, ma non specificate nel modello. \n\n La modalità Completa elimina le risorse non presenti nel modello. Richiede un tempo relativamente maggiore rispetto alla modalità Incrementale. In caso di timeout dell'attività, provare ad aumentare il timeout o a passare alla modalità 'Incrementale'. \n **[Avviso] Con la modalità Completa verranno eliminate tutte le risorse esistenti nel gruppo di risorse non specificate nel modello. Eseguire una verifica se il gruppo di risorse di destinazione della distribuzione non contiene tutte le risorse necessarie non specificate nel modello.** \n\n La modalità di convalida consente di individuare eventuali problemi relativi al modello prima di creare le risorse effettive. Si noti che questa modalità creerà sempre un gruppo di risorse, anche se non distribuisce alcuna risorsa.\n\n Per impostazione predefinita, viene usata la modalità Incrementale.", + "loc.input.label.deploymentName": "Nome della distribuzione", + "loc.input.help.deploymentName": "Specifica il nome della distribuzione del gruppo di risorse da creare.", + "loc.input.label.deploymentOutputs": "Output di distribuzione", + "loc.input.help.deploymentOutputs": "Specificare un nome per la variabile di output che conterrà la sezione degli output dell'oggetto distribuzione corrente in formato stringa. È possibile usare il cmdlet \"ConvertFrom-Json\" di PowerShell per analizzare l'oggetto JSON e accedere ai singoli valori di output. Per maggiori dettagli, vedere [questo articolo](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "loc.input.label.addSpnToEnvironment": "Accedi ai dettagli dell'entità servizio nei parametri di override", + "loc.input.help.addSpnToEnvironment": "Aggiunge l'ID entità servizio e la chiave dell'endpoint di Azure scelto all'ambiente di esecuzione dello script. Nei parametri di override è possibile usare le variabili `$servicePrincipalId` e `$servicePrincipalKey`, ad esempio `-key $servicePrincipalKey`", + "loc.messages.CheckResourceGroupExistence": "Verifica dell'esistenza del gruppo di risorse seguente: %s.", + "loc.messages.ResourceGroupStatusFetchFailed": "Non è stato possibile verificare lo stato del gruppo di risorse: Errore: %s.", + "loc.messages.ResourceGroupStatus": "Il gruppo di risorse %s esiste già.", + "loc.messages.ResourceGroupCreationFailed": "Non è stato possibile creare il gruppo di risorse. Errore: %s", + "loc.messages.CreatingNewRG": "Creazione del gruppo di risorse: %s", + "loc.messages.CreatedRG": "Il gruppo di risorse è stato creato.", + "loc.messages.CreatingTemplateDeployment": "Creazione dei parametri di distribuzione.", + "loc.messages.TemplateParsingFailed": "Assicurarsi che il file modello ('%s') sia valido. L'attività non è riuscita durante l'analisi. Errore: %s", + "loc.messages.FileFetchFailed": "Non è stato possibile scaricare il file. URL: '%s'. Errore: %s", + "loc.messages.ParametersFileParsingFailed": "Assicurarsi che il file di parametri ('%s') sia valido. L'attività non è riuscita durante l'analisi. Errore: %s", + "loc.messages.StartingDeployment": "Avvio della distribuzione.", + "loc.messages.CreateTemplateDeploymentSucceeded": "Il modello è stato distribuito.", + "loc.messages.CreateTemplateDeploymentFailed": "L'attività non è riuscita durante la creazione o l'aggiornamento della distribuzione del modello.", + "loc.messages.ErrorsInYourDeployment": "Si sono verificati errori nella distribuzione. Codice errore: %s.", + "loc.messages.Details": "Dettagli:", + "loc.messages.ErrorType": "Tipo di errore:", + "loc.messages.PolicyDefinitionName": "Nome della definizione dei criteri:", + "loc.messages.PolicyAssignmentName": "Nome dell'assegnazione dei criteri:", + "loc.messages.StartingValidation": "Avvio della convalida del modello.", + "loc.messages.ValidDeployment": "La convalida della distribuzione modello è stata completata.", + "loc.messages.CreateTemplateDeploymentValidationFailed": "La convalida del modello non è riuscita. Errore: %s.", + "loc.messages.DeletingResourceGroup": "Eliminazione del gruppo di risorse: %s", + "loc.messages.CouldNotDeletedResourceGroup": "Non è stato possibile eliminare il gruppo di risorse: '%s'. L'operazione non è riuscita. Errore: %s", + "loc.messages.DeletedResourceGroup": "Gruppo di risorse eliminato: %s", + "loc.messages.InvalidAction": "Questa azione non è definita. Verificarla con l'autore dell'attività.", + "loc.messages.ARGD_ConstructorFailed": "L'attività non è riuscita durante l'inizializzazione. Errore: %s", + "loc.messages.InvalidTemplateLocation": "La posizione del modello specificata non è valida. L'attività supporta solo 'Artefatto collegato' o 'URL del file'", + "loc.messages.EncodingNotSupported": "La codifica del file '%s' è '%s', ma non è supportata. Le codifiche dei file supportate sono ['utf-8', 'utf-16le']", + "loc.messages.CouldNotDetectEncoding": "Non è stato possibile rilevare la codifica del file '%s'", + "loc.messages.DetectedFileEncoding": "La codifica rilevata per il file '%s' è '%s'", + "loc.messages.ErrorWhileParsingParameter": "Si è verificato un errore durante l'override del parametro '%s' a causa di '%s'. Assicurarsi che sia conforme al formato JavaScript Object Notation (JSON)", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "Sono stati trovati più file che corrispondono al criterio dei file modello: %s", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "Sono stati trovati più file che corrispondono al criterio dei file di parametri: %s", + "loc.messages.TemplateFilePatternMatchingNoFile": "Non è stato possibile trovare alcun file che corrisponde al criterio dei file modello", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "Non è stato possibile trovare alcun file che corrisponde al criterio dei file modello", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "Il criterio dei file di parametri corrisponde a una directory anziché a un file.", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "Il criterio dei file modello corrisponde a una directory anziché a un file: %s", + "loc.messages.AddedOutputVariable": "La variabile di output '%s', che contiene la sezione di output dell'oggetto distribuzione corrente in formato stringa, è stata aggiornata.", + "loc.messages.UnableToReadResponseBody": "Non è possibile leggere il corpo della risposta. Errore: %s", + "loc.messages.MoreInformationOnAzurePortal": "Altre informazioni sul portale di Azure", + "loc.messages.LogDeploymentName": "Il nome della distribuzione è %s", + "loc.messages.ResourceGroupNameNotProvided": "È necessario specificare il nome del gruppo di risorse", + "loc.messages.LocationNotProvided": "Il percorso è obbligatorio per la distribuzione", + "loc.messages.ARMServiceConnectionScope": "Ambito di distribuzione Connessione al servizio ARM - %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "Assicurarsi che all'entità servizio denominata %s siano assegnati i ruoli corretti per l'entità %s. Per maggiori dettagli, vedere il collegamento: https://docs.microsoft.com/it-it/azure/role-based-access-control/role-assignments-portal", + "loc.messages.ServicePrincipalFetchFailed": "Si è verificato un errore durante il recupero dei dettagli dell'entità servizio: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "L'attività ha creato una distribuzione Azure Resource Manager, ma la distribuzione non è riuscita. Per informazioni più dettagliate, vedere i log di distribuzione di Azure Resource Manager in: (copiare e incollare il collegamento) %s", + "loc.messages.ManagedServiceIdentityDetails": "Assicurarsi che all'identità del servizio gestita usata per la distribuzione siano assegnati i ruoli corretti per il gruppo di risorse %s. Per maggiori dettagli, vedere il collegamento: https://docs.microsoft.com/it-it/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "loc.messages.CompleteDeploymentModeNotSupported": "La modalità di distribuzione 'Completa' non è supportata per la distribuzione nell'ambito '%s'", + "loc.messages.TemplateValidationFailure": "Sono stati trovati errori di convalida nel modello di Azure Resource Manager. L'errore potrebbe impedire la corretta distribuzione del modello. %s. Vedere https://docs.microsoft.com/it-it/azure/azure-resource-manager/templates/template-syntax", + "loc.messages.TroubleshootingGuide": "Vedere la guida alla risoluzione dei problemi per verificare se il problema è stato risolto: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "loc.messages.IncompatibleAzureCLIVersion": "La versione dell'interfaccia della riga di comando di Azure deve essere >= 2.20.0", + "loc.messages.AzureCLINotFound": "L'interfaccia della riga di comando di Azure non è stata trovata nell'agente.", + "loc.messages.FailedToFetchAzureCLIVersion": "Non è stato possibile recuperare la versione dell'interfaccia della riga di comando di Azure dall'agente. Errore: %s", + "loc.messages.BicepBuildFailed": "\"az bicep build\" non riuscito. Errore: %s", + "loc.messages.BicepFileCleanupFailed": "Non è stato possibile eliminare il file Bicep. Errore: %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ja-JP/resources.resjson new file mode 100644 index 000000000000..6b7e6bf19a4c --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ja-JP/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "ARM テンプレートã®ãƒ‡ãƒ—ロイ", + "loc.helpMarkDown": "[ã“ã®ã‚¿ã‚¹ã‚¯ã®è©³ç´°ã‚’表示](https://aka.ms/armtaskreadme)", + "loc.description": "ã™ã¹ã¦ã®ãƒ‡ãƒ—ロイ スコープ㫠Azure Resource Manager (ARM) テンプレートをデプロイã—ã¾ã™", + "loc.instanceNameFormat": "ARM テンプレートã®ãƒ‡ãƒ—ロイ: $(deploymentScope) スコープ", + "loc.releaseNotes": "- ã™ã¹ã¦ã®ãƒ‡ãƒ—ロイ スコープã§ãƒ‡ãƒ—ロイã®ã‚µãƒãƒ¼ãƒˆãŒè¿½åŠ ã•ã‚Œã¾ã—ãŸã€‚\n- ã™ã¹ã¦ã® VM 関連アクションãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚", + "loc.group.displayName.AzureDetails": "Azure ã®è©³ç´°", + "loc.group.displayName.Template": "テンプレート", + "loc.group.displayName.Advanced": "詳細設定", + "loc.input.label.deploymentScope": "デプロイ スコープ", + "loc.input.help.deploymentScope": "デプロイã®ãƒ‡ãƒ—ロイ スコープ。デプロイ スコープã®è©³ç´°ã«ã¤ã„ã¦ã¯ã€ã“ã® [リンク](https://docs.microsoft.com/ja-jp/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope) ã‚’å‚ç…§ã—ã¦ãã ã•ã„", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager 接続", + "loc.input.help.ConnectedServiceName": "é¸æŠžã—ãŸãƒ‡ãƒ—ロイ スコープã¸ã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©ã‚’æŒã¤ Azure Resource Manager サービス接続をé¸æŠžã—ã¾ã™ã€‚", + "loc.input.label.subscriptionName": "サブスクリプション", + "loc.input.help.subscriptionName": "Azure サブスクリプションをé¸æŠžã—ã¾ã™", + "loc.input.label.action": "アクション", + "loc.input.help.action": "Azure リソースã¾ãŸã¯ãƒªã‚½ãƒ¼ã‚¹ グループã§å®Ÿè¡Œã•ã‚Œã‚‹ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã€‚", + "loc.input.label.resourceGroupName": "リソース グループ", + "loc.input.help.resourceGroupName": "リソース グループã®åå‰ã‚’指定ã—ã¾ã™ã€‚", + "loc.input.label.location": "場所", + "loc.input.help.location": "リソース グループã®ãƒ‡ãƒ—ロイ スコープã®å ´åˆ: リソース グループをデプロイã™ã‚‹å ´æ‰€ã€‚サブスクリプションã«ãƒªã‚½ãƒ¼ã‚¹ グループãŒæ—¢ã«å­˜åœ¨ã™ã‚‹å ´åˆã€ã“ã®å€¤ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚\n ãã®ä»–ã®ãƒ‡ãƒ—ロイ スコープã®å ´åˆ: デプロイ メタデータをä¿å­˜ã™ã‚‹å ´æ‰€ã€‚", + "loc.input.label.templateLocation": "テンプレートã®å ´æ‰€", + "loc.input.label.csmFileLink": "テンプレートã®ãƒªãƒ³ã‚¯", + "loc.input.help.csmFileLink": "テンプレート ファイル㮠URL を指定ã—ã¾ã™ã€‚例: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nプライベート ストレージ アカウントã«ä¿å­˜ã•ã‚Œã¦ã„るテンプレートをé…ç½®ã™ã‚‹ã«ã¯ã€ãƒ†ãƒ³ãƒ—レート㮠URL ã«ã‚ã‚‹ Shared Access Signature (SAS) トークンをå–å¾—ã—ã€ãれをå«ã‚ã¾ã™ã€‚例: `/template.json?`。テンプレート ファイル (ã¾ãŸã¯ãƒªãƒ³ã‚¯ã•ã‚ŒãŸãƒ†ãƒ³ãƒ—レート) をストレージ アカウントã«ã‚¢ãƒƒãƒ—ロードã—㦠SAS トークンを生æˆã™ã‚‹ã«ã¯ã€[Azure ファイル コピー](https://aka.ms/azurefilecopyreadme) タスクを使用ã™ã‚‹ã‹ã€[PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) ã¾ãŸã¯ [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911) を使用ã—ãŸæ‰‹é †ã«å¾“ã„ã¾ã™ã€‚\n\nテンプレート パラメーターをグリッドã§ç¢ºèªã™ã‚‹ã«ã¯ã€[テンプレート パラメーターã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰] テキスト ボックスã®éš£ã® […] をクリックã—ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹ã«ã¯ CORS ルールãŒã‚½ãƒ¼ã‚¹ã§æœ‰åŠ¹ã«ãªã£ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。テンプレート㌠Azure Storage BLOB ã«ã‚ã‚‹å ´åˆã«ã¯ã€[ã“ã¡ã‚‰](https://docs.microsoft.com/ja-jp/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)ã‚’å‚ç…§ã—㦠CORS を有効ã«ã—ã¦ãã ã•ã„。", + "loc.input.label.csmParametersFileLink": "テンプレート パラメーターã®ãƒªãƒ³ã‚¯", + "loc.input.help.csmParametersFileLink": "パラメーター ファイル㮠URL を指定ã—ã¾ã™ã€‚例: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nプライベート ストレージ アカウントã«ä¿å­˜ã•ã‚Œã¦ã„るファイルを使用ã™ã‚‹ã«ã¯ã€ãƒ†ãƒ³ãƒ—レート㮠URL ã«ã‚ã‚‹ Shared Access Signature (SAS) トークンをå–å¾—ã—ã€ãれをå«ã‚ã¾ã™ã€‚例: `/template.json?`。パラメーター ファイルをストレージ アカウントã«ã‚¢ãƒƒãƒ—ロードã—㦠SAS トークンを生æˆã™ã‚‹ã«ã¯ã€[Azure ファイル コピー](https://aka.ms/azurefilecopyreadme) タスクを使用ã™ã‚‹ã‹ã€[PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) ã¾ãŸã¯ [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911) を使用ã—ãŸæ‰‹é †ã«å¾“ã„ã¾ã™ã€‚\n\nテンプレート パラメーターをグリッドã§ç¢ºèªã™ã‚‹ã«ã¯ã€[テンプレート パラメーターã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰] テキスト ボックスã®éš£ã® […] をクリックã—ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹ã«ã¯ CORS ルールãŒã‚½ãƒ¼ã‚¹ã§æœ‰åŠ¹ã«ãªã£ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。テンプレート㌠Azure Storage BLOB ã«ã‚ã‚‹å ´åˆã«ã¯ã€[ã“ã¡ã‚‰](https://docs.microsoft.com/ja-jp/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)ã‚’å‚ç…§ã—㦠CORS を有効ã«ã—ã¦ãã ã•ã„。", + "loc.input.label.csmFile": "テンプレート", + "loc.input.help.csmFile": "Azure Resource Manager テンプレートを指ã™ãƒ‘スã¾ãŸã¯ãƒ‘ターンを指定ã—ã¾ã™ã€‚テンプレートã®è©³ç´°ã«ã¤ã„ã¦ã¯ã€ã€Œhttps://aka.ms/azuretemplatesã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。ã™ãã«é–‹å§‹ã™ã‚‹ã«ã¯ã€ãƒ†ãƒ³ãƒ—レート https://aka.ms/sampletemplate を使用ã—ã¾ã™ã€‚Azure CLI ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ 2.20.0 よりも新ã—ã„å ´åˆã€'リンクã•ã‚ŒãŸæˆæžœç‰©' ã«ã¯ Bicep ファイルã®ã‚µãƒãƒ¼ãƒˆã‚‚å«ã¾ã‚Œã¾ã™ã€‚", + "loc.input.label.csmParametersFile": "テンプレート パラメーター", + "loc.input.help.csmParametersFile": "Azure Resource Manager テンプレートã®ãƒ‘ラメーター ファイルを指ã™ãƒ‘スã¾ãŸã¯ãƒ‘ターンを指定ã—ã¾ã™ã€‚Azure CLI ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ 2.20.0 よりも新ã—ã„å ´åˆã€'リンクã•ã‚ŒãŸæˆæžœç‰©' ã«ã¯ Bicep ファイルã®ã‚µãƒãƒ¼ãƒˆã‚‚å«ã¾ã‚Œã¾ã™ã€‚", + "loc.input.label.overrideParameters": "テンプレート パラメーターã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰", + "loc.input.help.overrideParameters": "グリッドã§ãƒ†ãƒ³ãƒ—レートã®ãƒ‘ラメーターを表示ã™ã‚‹ã«ã¯ã€[パラメーターã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰] ã®ãƒ†ã‚­ã‚¹ãƒˆãƒœãƒƒã‚¯ã‚¹ã®æ¨ªã«ã‚ã‚‹ [...] をクリックã—ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯ã€ã‚½ãƒ¼ã‚¹ã§ CORS ルールãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚テンプレート㌠Azure Storage BLOB ã«ã‚ã‚‹å ´åˆã¯ã€[ã“ã¡ã‚‰](https://docs.microsoft.com/ja-jp/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) ã‚’å‚ç…§ã—㦠CORS を有効ã«ã—ã¾ã™ã€‚ã¾ãŸã¯ã€ãƒ†ã‚­ã‚¹ãƒˆãƒœãƒƒã‚¯ã‚¹ã«ãƒ†ãƒ³ãƒ—レート パラメーターを入力ã—ã¦ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™ã€‚ãŸã¨ãˆã°ã€
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre) ã§ã™ã€‚
使用ã—ã¦ã„るパラメーターã®å€¤ã«è¤‡æ•°ã®å˜èªžãŒå«ã¾ã‚Œã‚‹å ´åˆã€å¤‰æ•°ã‚’使用ã—ã¦ãれらã®å˜èªžã‚’渡ã™ã¨ã—ã¦ã‚‚ã€å¼•ç”¨ç¬¦ã§å›²ã¿ã¾ã™ã€‚ãŸã¨ãˆã°ã€-name \"parameter value\" -name2 \"$(var)\" ã§ã™
オブジェクトã®ç¨®é¡žã®ãƒ‘ラメーターを上書ãã™ã‚‹ã«ã¯ã€æ–‡å­—列化ã—㟠JSON オブジェクトを使用ã—ã¾ã™ã€‚ãŸã¨ãˆã°ã€-options [\"option1\"] -map {\"key1\": \"value1\" } ã§ã™ã€‚", + "loc.input.label.deploymentMode": "é…置モード", + "loc.input.help.deploymentMode": "詳細ã«ã¤ã„ã¦ã¯ã€[ã“ã¡ã‚‰](https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/deployment-modes) ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n\n 増分モードã§ã¯ã€ãƒ‡ãƒ—ロイã¯ãƒªã‚½ãƒ¼ã‚¹ グループã¸ã®å¢—分更新ã¨ã—ã¦å‡¦ç†ã•ã‚Œã¾ã™ã€‚ã“ã®ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã€ãƒªã‚½ãƒ¼ã‚¹ グループã«ã¯å­˜åœ¨ã—ã¦ã„ã¦ã‚‚テンプレートã§ã¯æŒ‡å®šã•ã‚Œã¦ã„ãªã„ã€å¤‰æ›´ã•ã‚Œã¦ã„ãªã„リソースãŒæ®‹ã•ã‚Œã¾ã™ã€‚\n\n完全モードã§ã¯ã€ãƒ†ãƒ³ãƒ—レートã«ãªã„リソースãŒå‰Šé™¤ã•ã‚Œã¾ã™ã€‚完全モードã¯ã€å¢—分モードよりも時間ãŒã‹ã‹ã‚Šã¾ã™ã€‚タスクãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã«ãªã‚‹å ´åˆã€ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆæ™‚間を増やã™ã‹ã€ãƒ¢ãƒ¼ãƒ‰ã‚’ '増分' ã«å¤‰æ›´ã™ã‚‹ã“ã¨ã‚’ã”検討ãã ã•ã„。\n **[警告] 完全モードã§ã¯ã€ãƒªã‚½ãƒ¼ã‚¹ グループã®æ—¢å­˜ãƒªã‚½ãƒ¼ã‚¹ã®ã†ã¡ã€ãƒ†ãƒ³ãƒ—レートã§æŒ‡å®šã•ã‚Œã¦ã„ãªã„ã‚‚ã®ãŒã™ã¹ã¦å‰Šé™¤ã•ã‚Œã¾ã™ã€‚デプロイ先ã®ãƒªã‚½ãƒ¼ã‚¹ グループã«ã€å¿…è¦ãªãƒªã‚½ãƒ¼ã‚¹ã®ã†ã¡ã€ãƒ†ãƒ³ãƒ—レートã§æŒ‡å®šã•ã‚Œã¦ã„ãªã„ã‚‚ã®ãŒå«ã¾ã‚Œã¦ã„ãªã„ã“ã¨ã‚’ã”確èªãã ã•ã„。**\n\n 検証モードã§ã¯ã€å®Ÿéš›ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’作æˆã™ã‚‹å‰ã«ãƒ†ãƒ³ãƒ—レートã«é–¢ã™ã‚‹å•é¡Œã‚’見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚検証モードã§ã¯ã€å®Ÿéš›ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’作æˆã™ã‚‹å‰ã«ãƒ†ãƒ³ãƒ—レートã«é–¢ã™ã‚‹å•é¡Œã‚’見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã€ãƒªã‚½ãƒ¼ã‚¹ãŒãƒ‡ãƒ—ロイã•ã‚Œã¦ã„ãªã„å ´åˆã§ã‚‚ã€ãƒªã‚½ãƒ¼ã‚¹ グループãŒä½œæˆã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。\n\n 既定ã§ã¯å¢—分モードãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚", + "loc.input.label.deploymentName": "デプロイå", + "loc.input.help.deploymentName": "作æˆã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ グループé…ç½®ã®åå‰ã‚’指定ã—ã¾ã™ã€‚", + "loc.input.label.deploymentOutputs": "é…置出力", + "loc.input.help.deploymentOutputs": "出力変数ã®å¤‰æ•°ã®åå‰ã‚’指定ã—ã¾ã™ã€‚ã“ã‚Œã«ã¯ã€ç¾åœ¨ã®ãƒ‡ãƒ—ロイ オブジェクトã®å‡ºåŠ›ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãŒæ–‡å­—列形å¼ã§å«ã¾ã‚Œã¾ã™ã€‚\"ConvertFrom-Json\" PowerShell コマンドレットを使用ã—㦠JSON オブジェクトを解æžã—ã€å€‹ã€…ã®å‡ºåŠ›å€¤ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€[ã“ã¡ã‚‰](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs) ã‚’å‚ç…§ã—ã¦ãã ã•ã„", + "loc.input.label.addSpnToEnvironment": "オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ パラメーターã§ã‚µãƒ¼ãƒ“ス プリンシパルã®è©³ç´°ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹", + "loc.input.help.addSpnToEnvironment": "é¸æŠžã—㟠Azure エンドãƒã‚¤ãƒ³ãƒˆã®ã‚µãƒ¼ãƒ“ス プリンシパル ID ã¨ã‚­ãƒ¼ã‚’ã€ã‚¹ã‚¯ãƒªãƒ—トã®å®Ÿè¡Œç’°å¢ƒã«è¿½åŠ ã—ã¾ã™ã€‚オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ パラメーター㧠`-key $servicePrincipalKey` ã®ã‚ˆã†ã«ã€`$servicePrincipalId` 㨠`$servicePrincipalKey` ã®å¤‰æ•°ã‚’使用ã§ãã¾ã™", + "loc.messages.CheckResourceGroupExistence": "次ã®ãƒªã‚½ãƒ¼ã‚¹ グループãŒå­˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ç¢ºèªã—ã¦ã„ã¾ã™: %s。", + "loc.messages.ResourceGroupStatusFetchFailed": "リソース グループã®çŠ¶æ…‹ã‚’確èªã§ãã¾ã›ã‚“ã§ã—ãŸã€‚エラー: %s。", + "loc.messages.ResourceGroupStatus": "リソース グループãŒå­˜åœ¨ã—ã¦ã„ã¾ã™: %s。", + "loc.messages.ResourceGroupCreationFailed": "リソース グループを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚エラー: %s", + "loc.messages.CreatingNewRG": "リソース グループ %s を作æˆã—ã¦ã„ã¾ã™", + "loc.messages.CreatedRG": "リソース グループãŒæ­£å¸¸ã«ä½œæˆã•ã‚Œã¾ã—ãŸã€‚", + "loc.messages.CreatingTemplateDeployment": "展開パラメーターを作æˆã—ã¦ã„ã¾ã™ã€‚", + "loc.messages.TemplateParsingFailed": "テンプレート ファイル ( '%s' ) ãŒæœ‰åŠ¹ã§ã‚ã‚‹ã“ã¨ã‚’ã”確èªãã ã•ã„。次ã®ã‚¨ãƒ©ãƒ¼ã«ã‚ˆã‚Šã€è§£æžä¸­ã«ã‚¿ã‚¹ã‚¯ãŒå¤±æ•—ã—ã¾ã—ãŸ: %s", + "loc.messages.FileFetchFailed": "ファイルをダウンロードã§ãã¾ã›ã‚“ã§ã—ãŸã€‚URL: '%s'。エラー: %s", + "loc.messages.ParametersFileParsingFailed": "パラメーター ファイル ( '%s' ) ãŒæœ‰åŠ¹ã§ã‚ã‚‹ã“ã¨ã‚’ã”確èªãã ã•ã„。次ã®ã‚¨ãƒ©ãƒ¼ã«ã‚ˆã‚Šã€è§£æžä¸­ã«ã‚¿ã‚¹ã‚¯ãŒå¤±æ•—ã—ã¾ã—ãŸ: %s", + "loc.messages.StartingDeployment": "é…置を開始ã—ã¦ã„ã¾ã™ã€‚", + "loc.messages.CreateTemplateDeploymentSucceeded": "テンプレートãŒæ­£å¸¸ã«å±•é–‹ã•ã‚Œã¾ã—ãŸã€‚", + "loc.messages.CreateTemplateDeploymentFailed": "テンプレート展開ã®ä½œæˆä¸­ã¾ãŸã¯æ›´æ–°ä¸­ã«ã‚¿ã‚¹ã‚¯ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚", + "loc.messages.ErrorsInYourDeployment": "é…ç½®ã«ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚Šã¾ã—ãŸã€‚エラー コード: %s。", + "loc.messages.Details": "詳細:", + "loc.messages.ErrorType": "誤差ã®ç¨®é¡ž:", + "loc.messages.PolicyDefinitionName": "ãƒãƒªã‚·ãƒ¼ã®å®šç¾©å:", + "loc.messages.PolicyAssignmentName": "ãƒãƒªã‚·ãƒ¼ã®å‰²ã‚Šå½“ã¦å:", + "loc.messages.StartingValidation": "テンプレートã®æ¤œè¨¼ã‚’開始ã—ã¦ã„ã¾ã™ã€‚", + "loc.messages.ValidDeployment": "テンプレートã®é…ç½®ã®æ¤œè¨¼ãŒæ­£å¸¸ã«å®Œäº†ã—ã¾ã—ãŸã€‚", + "loc.messages.CreateTemplateDeploymentValidationFailed": "テンプレートã®æ¤œè¨¼ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚エラー: %s。", + "loc.messages.DeletingResourceGroup": "削除中ã®ãƒªã‚½ãƒ¼ã‚¹ グループ: %s", + "loc.messages.CouldNotDeletedResourceGroup": "リソース グループ '%s' を削除ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚æ“作ã¯æ¬¡ã®ã‚¨ãƒ©ãƒ¼ã«ã‚ˆã‚Šå¤±æ•—ã—ã¾ã—ãŸ: %s", + "loc.messages.DeletedResourceGroup": "削除ã•ã‚ŒãŸãƒªã‚½ãƒ¼ã‚¹ グループ: %s", + "loc.messages.InvalidAction": "ã“ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“。タスクã®ä½œæˆè€…ã«ã”確èªãã ã•ã„。", + "loc.messages.ARGD_ConstructorFailed": "åˆæœŸåŒ–中ã«ã‚¿ã‚¹ã‚¯ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚エラー: %s", + "loc.messages.InvalidTemplateLocation": "指定ã•ã‚ŒãŸãƒ†ãƒ³ãƒ—レートã®å ´æ‰€ãŒç„¡åŠ¹ã§ã™ã€‚タスク㯠'リンクã•ã‚ŒãŸæˆæžœç‰©' ã¾ãŸã¯ 'ファイル㮠URL' ã®ã¿ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™", + "loc.messages.EncodingNotSupported": "ファイル '%s' ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã¯ '%s' ã§ã™ãŒã€ã“ã‚Œã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„るファイル エンコード㯠['utf-8'ã€'utf-16le'] ã§ã™", + "loc.messages.CouldNotDetectEncoding": "ファイル '%s' ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã‚’検出ã§ãã¾ã›ã‚“ã§ã—ãŸ", + "loc.messages.DetectedFileEncoding": "ファイル '%s' ã‹ã‚‰æ¤œå‡ºã•ã‚ŒãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã¯ '%s' ã§ã™", + "loc.messages.ErrorWhileParsingParameter": "'%s' パラメーターをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã„ã‚‹ã¨ãã«ã€'%s' ãŒåŽŸå› ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚JavaScript Object Notation (JSON) ã«å¾“ã£ã¦ã„ã‚‹ã“ã¨ã‚’ã”確èªãã ã•ã„", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "テンプレート ファイル パターン %s ã«ä¸€è‡´ã™ã‚‹è¤‡æ•°ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "テンプレート パラメーター ファイル パターン %s ã«ä¸€è‡´ã™ã‚‹è¤‡æ•°ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ", + "loc.messages.TemplateFilePatternMatchingNoFile": "テンプレート ファイル パターンã«ä¸€è‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "テンプレート ファイル パターンã«ä¸€è‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "パラメーター ファイル パターンãŒãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ãªãディレクトリã¨ä¸€è‡´ã—ã¾ã—ãŸã€‚", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "テンプレート ファイル パターンãŒãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ãªãディレクトリã¨ä¸€è‡´ã—ã¾ã—ãŸ: %s", + "loc.messages.AddedOutputVariable": "出力変数 '%s' ãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚ã“ã®å¤‰æ•°ã«ã¯ã€ç¾åœ¨ã®é…置オブジェクトã®å‡ºåŠ›ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãŒæ–‡å­—列形å¼ã§æ ¼ç´ã•ã‚Œã¦ã„ã¾ã™ã€‚", + "loc.messages.UnableToReadResponseBody": "応答本文を読ã¿å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。エラー: %s", + "loc.messages.MoreInformationOnAzurePortal": "詳細㯠Azure portal ã«ã‚ã‚Šã¾ã™", + "loc.messages.LogDeploymentName": "é…ç½®å㯠%s ã§ã™", + "loc.messages.ResourceGroupNameNotProvided": "リソース グループåを指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™", + "loc.messages.LocationNotProvided": "デプロイã«ã¯å ´æ‰€ãŒå¿…è¦ã§ã™", + "loc.messages.ARMServiceConnectionScope": "ARM サービス接続ã®ãƒ‡ãƒ—ロイ スコープ - %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "åå‰ %s ã®ã‚µãƒ¼ãƒ“ス プリンシパルã«ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ %s ã®é©åˆ‡ãªãƒ­ãƒ¼ãƒ«ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’ã”確èªãã ã•ã„。詳細ã«ã¤ã„ã¦ã¯ã€ãƒªãƒ³ã‚¯ https://docs.microsoft.com/ja-jp/azure/role-based-access-control/role-assignments-portal ã‚’å‚ç…§ã—ã¦ãã ã•ã„", + "loc.messages.ServicePrincipalFetchFailed": "サービス プリンシパルã®è©³ç´°ã‚’å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "タスク㧠Azure Resource Manager デプロイãŒæ­£å¸¸ã«ä½œæˆã•ã‚Œã¾ã—ãŸãŒã€ãƒ‡ãƒ—ロイã«å¤±æ•—ã—ã¾ã—ãŸã€‚詳細㪠Azure Resource Manager デプロイ ログをã”確èªãã ã•ã„: (リンクをコピーã—ã¦è²¼ã‚Šä»˜ã‘ã¦ãã ã•ã„) %s", + "loc.messages.ManagedServiceIdentityDetails": "デプロイã«ä½¿ç”¨ã™ã‚‹ãƒžãƒãƒ¼ã‚¸ãƒ‰ サービス ID ã«ã€ãƒªã‚½ãƒ¼ã‚¹ グループ %s ã«å¯¾ã™ã‚‹é©åˆ‡ãªãƒ­ãƒ¼ãƒ«ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。詳細ã«ã¤ã„ã¦ã¯æ¬¡ã®ãƒªãƒ³ã‚¯ã‚’ã”覧ãã ã•ã„: https://docs.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "loc.messages.CompleteDeploymentModeNotSupported": "デプロイ モード 'Complete' 㯠'%s' スコープã§ã®ãƒ‡ãƒ—ロイã§ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“", + "loc.messages.TemplateValidationFailure": "Azure Resource Manager テンプレートã§æ¤œè¨¼ã‚¨ãƒ©ãƒ¼ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ãƒ†ãƒ³ãƒ—レートã®ãƒ‡ãƒ—ロイãŒå¤±æ•—ã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚%s。https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/templates/template-syntax ã®å†…容ã«å¾“ã£ã¦ãã ã•ã„", + "loc.messages.TroubleshootingGuide": "トラブルシューティング ガイドをå‚ç…§ã—ã¦ã€è‡ªåˆ†ã®å•é¡ŒãŒå–り上ã’られã¦ã„ãªã„ã‹ã”確èªãã ã•ã„。https://docs.microsoft.com/ja-jp/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "loc.messages.IncompatibleAzureCLIVersion": "Azure CLI ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ 2.20.0 以é™ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™", + "loc.messages.AzureCLINotFound": "Azure CLI ãŒã‚¨ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆã«è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。", + "loc.messages.FailedToFetchAzureCLIVersion": "エージェントã‹ã‚‰ az cli ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’フェッãƒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚エラー: %s", + "loc.messages.BicepBuildFailed": "\"az bicep build\" ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚エラー: %s", + "loc.messages.BicepFileCleanupFailed": "Bicep ファイルを削除ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚エラー: %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ko-KR/resources.resjson new file mode 100644 index 000000000000..159f3afd775f --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ko-KR/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "ARM 템플릿 ë°°í¬", + "loc.helpMarkDown": "[ì´ ìž‘ì—…ì— ëŒ€í•œ ìžì„¸í•œ ì •ë³´](https://aka.ms/armtaskreadme)", + "loc.description": "ARM(Azure Resource Manager) í…œí”Œë¦¿ì„ ëª¨ë“  ë°°í¬ ë²”ìœ„ì— ë°°í¬", + "loc.instanceNameFormat": "ARM 템플릿 ë°°í¬: $(deploymentScope) 범위", + "loc.releaseNotes": "- 모든 ë°°í¬ ë²”ìœ„ì—ì„œ ë°°í¬ ì§€ì›ì´ 추가ë˜ì—ˆìŠµë‹ˆë‹¤.\n - 모든 VM 관련 ìž‘ì—…ì„ ì œê±°í–ˆìŠµë‹ˆë‹¤.", + "loc.group.displayName.AzureDetails": "Azure 세부 ì •ë³´", + "loc.group.displayName.Template": "템플릿", + "loc.group.displayName.Advanced": "고급", + "loc.input.label.deploymentScope": "ë°°í¬ ë²”ìœ„", + "loc.input.help.deploymentScope": "ë°°í¬ì˜ ë°°í¬ ë²”ìœ„ìž…ë‹ˆë‹¤. ë°°í¬ ë²”ìœ„ì— ëŒ€í•œ ìžì„¸í•œ ë‚´ìš©ì€ ì´ [ë§í¬](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)를 참조하세요.", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager ì—°ê²°", + "loc.input.help.ConnectedServiceName": "ì„ íƒí•œ ë°°í¬ ë²”ìœ„ì— ì•¡ì„¸ìŠ¤í•  수 있는 Azure Resource Manager 서비스 ì—°ê²°ì„ ì„ íƒí•©ë‹ˆë‹¤.", + "loc.input.label.subscriptionName": "구ë…", + "loc.input.help.subscriptionName": "Azure êµ¬ë… ì„ íƒ", + "loc.input.label.action": "ìž‘ì—…", + "loc.input.help.action": "Azure 리소스 ë˜ëŠ” 리소스 그룹ì—ì„œ 수행할 작업입니다.", + "loc.input.label.resourceGroupName": "리소스 그룹", + "loc.input.help.resourceGroupName": "리소스 ê·¸ë£¹ì˜ ì´ë¦„ì„ ì œê³µí•©ë‹ˆë‹¤.", + "loc.input.label.location": "위치", + "loc.input.help.location": "리소스 그룹 ë°°í¬ ë²”ìœ„ì˜ ê²½ìš° 리소스 ê·¸ë£¹ì„ ë°°í¬í•  위치입니다. 구ë…ì— ì´ë¯¸ 리소스 ê·¸ë£¹ì´ ìžˆìœ¼ë©´ ì´ ê°’ì€ ë¬´ì‹œë©ë‹ˆë‹¤.\n 다른 ë°°í¬ ë²”ìœ„ì˜ ê²½ìš° ë°°í¬ ë©”íƒ€ë°ì´í„°ë¥¼ 저장할 위치입니다.", + "loc.input.label.templateLocation": "템플릿 위치", + "loc.input.label.csmFileLink": "템플릿 ë§í¬", + "loc.input.help.csmFileLink": "템플릿 파ì¼ì˜ URLì„ ì§€ì •í•©ë‹ˆë‹¤. 예를 들면 [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json)입니다. \n\nê°œì¸ ì €ìž¥ì†Œ ê³„ì •ì— ì €ìž¥ëœ í…œí”Œë¦¿ì„ ë°°í¬í•˜ë ¤ë©´ í…œí”Œë¦¿ì˜ URLì— SAS(공유 액세스 서명)를 검색하여 í¬í•¨í•˜ì„¸ìš”. 예를 들면 /template.json?`입니다. 템플릿 íŒŒì¼ ë˜ëŠ” ì—°ê²°ëœ í…œí”Œë¦¿ì„ ì €ìž¥ì†Œ 계정으로 업로드하고 SAS 토í°ì„ ìƒì„±í•˜ë ¤ë©´ [Azure íŒŒì¼ ë³µì‚¬](https://aka.ms/azurefilecopyreadme) ìž‘ì—…ì„ ì‚¬ìš©í•˜ê±°ë‚˜ [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080)ì´ë‚˜ [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911)를 사용하여 단계를 수행합니다.\n\ní‘œì—ì„œ 템플릿 매개 변수를 확ì¸í•˜ë ¤ë©´ [템플릿 매개 변수 재정ì˜] í…스트 ìƒìž ì˜†ì— ìžˆëŠ” “…â€ì„ í´ë¦­í•˜ì„¸ìš”. ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë ¤ë©´ 소스ì—ì„œ CORS ê·œì¹™ì´ ì‚¬ìš©í•˜ë„ë¡ ì„¤ì •ë˜ì–´ 있어야 합니다. í…œí”Œë¦¿ì´ Azure Storage Blobì— ìžˆëŠ” 경우ì—는 [여기](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)를 참조하여 CORS를 사용하ë„ë¡ ì„¤ì •í•˜ì„¸ìš”.", + "loc.input.label.csmParametersFileLink": "템플릿 매개 변수 ë§í¬", + "loc.input.help.csmParametersFileLink": "매개 변수 파ì¼ì˜ URLì„ ì§€ì •í•©ë‹ˆë‹¤. 예를 들면 [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json)입니다. \n\n매개 변수 파ì¼ì„ ê°œì¸ ì €ìž¥ì†Œ 계정으로 업로드하려면 í…œí”Œë¦¿ì˜ URLì— SAS(공유 액세스 서명)를 검색하여 í¬í•¨í•˜ì„¸ìš”. 예를 들면 `/template.json?`입니다. 매개 변수 파ì¼ì„ 저장소 계정으로 업로드하여 SAS 토í°ì„ ìƒì„±í•˜ë ¤ë©´ [Azure íŒŒì¼ ë³µì‚¬](https://aka.ms/azurefilecopyreadme) ìž‘ì—…ì„ ì‚¬ìš©í•˜ê±°ë‚˜ [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) ë˜ëŠ” [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911)를 사용하여 단계를 수행합니다.\n\ní‘œì—ì„œ 템플릿 매개 변수를 보려면 [템플릿 매개 변수 재정ì˜] í…스트 ìƒìž ì˜†ì— ìžˆëŠ” “…â€ì„ í´ë¦­í•˜ì„¸ìš”. ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë ¤ë©´ 소스ì—ì„œ CORS ê·œì¹™ì´ ì‚¬ìš©í•˜ë„ë¡ ì„¤ì •ë˜ì–´ 있어야 합니다. í…œí”Œë¦¿ì´ Azure Storage Blobì— ìžˆëŠ” 경우ì—는 [여기](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)를 참조하여 CORS를 사용하ë„ë¡ ì„¤ì •í•˜ì„¸ìš”.", + "loc.input.label.csmFile": "템플릿", + "loc.input.help.csmFile": "Azure Resource Manager í…œí”Œë¦¿ì„ ê°€ë¦¬í‚¤ëŠ” 경로 ë˜ëŠ” íŒ¨í„´ì„ ì§€ì •í•©ë‹ˆë‹¤. í…œí”Œë¦¿ì— ëŒ€í•œ ìžì„¸í•œ ë‚´ìš©ì€ https://aka.ms/azuretemplates를 참조하세요. 즉시 시작하려면 https://aka.ms/sampletemplate í…œí”Œë¦¿ì„ ì‚¬ìš©í•˜ì„¸ìš”. 'ì—°ê²°ëœ ì•„í‹°íŒ©íŠ¸'는 Azure CLI 버전 > 2.20.0ì¸ ê²½ìš° Bicep 파ì¼ë„ 지ì›í•©ë‹ˆë‹¤.", + "loc.input.label.csmParametersFile": "템플릿 매개 변수", + "loc.input.help.csmParametersFile": "Azure Resource Manager í…œí”Œë¦¿ì˜ ë§¤ê°œ 변수 파ì¼ì„ 가리키는 경로 ë˜ëŠ” íŒ¨í„´ì„ ì§€ì •í•©ë‹ˆë‹¤. 'ì—°ê²°ëœ ì•„í‹°íŒ©íŠ¸'는 Azure CLI 버전 > 2.20.0ì¸ ê²½ìš° Bicep 파ì¼ë„ 지ì›í•©ë‹ˆë‹¤.", + "loc.input.label.overrideParameters": "템플릿 매개 변수 재정ì˜", + "loc.input.help.overrideParameters": "템플릿 매개 변수를 í‘œ 형태로 보려면 [매개 변수 재정ì˜] í…스트 ìƒìž ì˜†ì— ìžˆëŠ” \"...\"ì„ í´ë¦­í•©ë‹ˆë‹¤. ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë ¤ë©´ 소스ì—ì„œ CORS ê·œì¹™ì„ ì‚¬ìš©í•˜ë„ë¡ ì„¤ì •í•´ì•¼ 합니다. í…œí”Œë¦¿ì´ Azure Storage Blobì— ìžˆëŠ” 경우 [ì´ ë¬¸ì„œ](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)를 참조하여 CORS를 사용하ë„ë¡ ì„¤ì •í•˜ì„¸ìš”. ë˜ëŠ” í…스트 ìƒìžì— 재정ì˜í•  템플릿 매개 변수를 입력합니다. 예:
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
사용 ì¤‘ì¸ ë§¤ê°œ 변수 ê°’ì´ ì—¬ëŸ¬ 단어로 ì´ë£¨ì–´ì§„ 경우ì—는 변수를 사용해서 전달하ë”ë¼ë„ 따옴표로 묶으세요. 예: -name \"parameter value\" -name2 \"$(var)\"
개체 í˜•ì‹ ë§¤ê°œ 변수를 재정ì˜í•˜ë ¤ë©´ ë¬¶ì€ JSON 개체를 사용합니다. 예: -options [\"option1\"] -map {\"key1\": \"value1\" }. ", + "loc.input.label.deploymentMode": "ë°°í¬ ëª¨ë“œ", + "loc.input.help.deploymentMode": "ìžì„¸í•œ ë‚´ìš©ì€ [ì´ í•­ëª©](https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-modes)ì„ ì°¸ì¡°í•˜ì„¸ìš”. \n\n ì¦ë¶„ 모드는 ë°°í¬ë¥¼ 리소스 ê·¸ë£¹ì— ëŒ€í•œ ì¦ë¶„ ì—…ë°ì´íŠ¸ë¡œ 처리합니다. 리소스 ê·¸ë£¹ì— ì¡´ìž¬í•˜ì§€ë§Œ í…œí”Œë¦¿ì— ì§€ì •ë˜ì§€ ì•Šì€ ë³€ê²½ë˜ì§€ ì•Šì€ ë¦¬ì†ŒìŠ¤ë¥¼ 그대로 둡니다. \n\n ì „ì²´ 모드는 í…œí”Œë¦¿ì— ì—†ëŠ” 리소스를 삭제합니다. 완료 모드는 ì¦ë¶„ 모드보다 ìƒëŒ€ì ìœ¼ë¡œ ì‹œê°„ì´ ë” ê±¸ë¦½ë‹ˆë‹¤. ìž‘ì—… ì‹œê°„ì´ ì´ˆê³¼ë˜ë©´ 시간 초과를 늘리거나 모드를 'ì¦ë¶„'으로 변경하는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤. \n **[경고] ì „ì²´ 모드는 í…œí”Œë¦¿ì— ì§€ì •ë˜ì§€ ì•Šì€ ë¦¬ì†ŒìŠ¤ ê·¸ë£¹ì˜ ê¸°ì¡´ 리소스를 ëª¨ë‘ ì‚­ì œí•©ë‹ˆë‹¤. ë°°í¬í•  리소스 ê·¸ë£¹ì— í…œí”Œë¦¿ì— ì§€ì •ë˜ì§€ ì•Šì€ í•„ìˆ˜ 리소스가 없는지 검토하세요.** \n\n 유효성 검사 모드를 사용하면 실제 리소스를 ìƒì„±í•˜ê¸° ì „ì— í…œí”Œë¦¿ì˜ ë¬¸ì œë¥¼ ì°¾ì„ ìˆ˜ 있습니다. 유효성 검사 모드를 사용하면 실제 리소스를 ìƒì„±í•˜ê¸° ì „ì— í…œí”Œë¦¿ì˜ ë¬¸ì œë¥¼ ì°¾ì„ ìˆ˜ 있습니다. ì´ ëª¨ë“œëŠ” 리소스를 ë°°í¬í•˜ì§€ ì•Šë”ë¼ë„ 어쨌든 리소스 ê·¸ë£¹ì„ ìƒì„±í•©ë‹ˆë‹¤.\n\n 기본ì ìœ¼ë¡œ ì¦ë¶„ 모드가 사용ë©ë‹ˆë‹¤.", + "loc.input.label.deploymentName": "ë°°í¬ ì´ë¦„", + "loc.input.help.deploymentName": "만들 리소스 그룹 ë°°í¬ì˜ ì´ë¦„ì„ ì§€ì •í•©ë‹ˆë‹¤.", + "loc.input.label.deploymentOutputs": "ë°°í¬ ì¶œë ¥", + "loc.input.help.deploymentOutputs": "현재 ë°°í¬ ê°œì²´ì˜ ì¶œë ¥ ì„¹ì…˜ì´ í¬í•¨ë  출력 ë³€ìˆ˜ì˜ ë³€ìˆ˜ ì´ë¦„ì„ ë¬¸ìžì—´ 형ì‹ìœ¼ë¡œ 제공합니다. \"ConvertFrom-Json\" PowerShell cmdletì„ ì‚¬ìš©í•˜ì—¬ JSON 개체를 구문 분ì„하고 개별 출력 ê°’ì— ì•¡ì„¸ìŠ¤í•  수 있습니다. ìžì„¸í•œ ë‚´ìš©ì€ [ì´ ë§í¬](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)를 참조하세요.", + "loc.input.label.addSpnToEnvironment": "ìž¬ì •ì˜ ë§¤ê°œ ë³€ìˆ˜ì˜ ì„œë¹„ìŠ¤ 주체 ì •ë³´ 액세스", + "loc.input.help.addSpnToEnvironment": "ì„ íƒí•œ Azure 엔드í¬ì¸íŠ¸ì˜ 서비스 주체 ID ë° í‚¤ë¥¼ 스í¬ë¦½íŠ¸ì˜ 실행 í™˜ê²½ì— ì¶”ê°€í•©ë‹ˆë‹¤. ìž¬ì •ì˜ ë§¤ê°œ ë³€ìˆ˜ì— '$servicePrincipalId' ë° '$servicePrincipalKey' 변수를 사용할 수 있습니다(예: '-key $servicePrincipalKey').", + "loc.messages.CheckResourceGroupExistence": "리소스 그룹 %sì´(ê°€) 있는지 확ì¸í•˜ëŠ” 중입니다.", + "loc.messages.ResourceGroupStatusFetchFailed": "리소스 그룹 ìƒíƒœë¥¼ 확ì¸í•˜ì§€ 못했습니다. 오류: %s.", + "loc.messages.ResourceGroupStatus": "리소스 ê·¸ë£¹ì´ ìžˆìŒ: %s.", + "loc.messages.ResourceGroupCreationFailed": "리소스 ê·¸ë£¹ì„ ë§Œë“¤ì§€ 못했습니다. 오류: %s", + "loc.messages.CreatingNewRG": "리소스 ê·¸ë£¹ì„ ë§Œë“œëŠ” 중: %s", + "loc.messages.CreatedRG": "리소스 ê·¸ë£¹ì„ ë§Œë“¤ì—ˆìŠµë‹ˆë‹¤.", + "loc.messages.CreatingTemplateDeployment": "ë°°í¬ ë§¤ê°œ 변수를 만드는 중입니다.", + "loc.messages.TemplateParsingFailed": "템플릿 파ì¼('%s')ì´ ìœ íš¨í•œì§€ 확ì¸í•˜ì„¸ìš”. 구문 분ì„하는 ë™ì•ˆ %s 오류로 ì¸í•´ ìž‘ì—…ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.", + "loc.messages.FileFetchFailed": "파ì¼ì„ 다운로드하지 못했습니다. URL: '%s'. 오류: %s", + "loc.messages.ParametersFileParsingFailed": "매개 변수 파ì¼('%s')ì´ ìœ íš¨í•œì§€ 확ì¸í•˜ì„¸ìš”. 구문 분ì„하는 ë™ì•ˆ %s 오류로 ì¸í•´ ìž‘ì—…ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.", + "loc.messages.StartingDeployment": "ë°°í¬ë¥¼ 시작하는 중입니다.", + "loc.messages.CreateTemplateDeploymentSucceeded": "í…œí”Œë¦¿ì„ ë°°í¬í–ˆìŠµë‹ˆë‹¤.", + "loc.messages.CreateTemplateDeploymentFailed": "템플릿 ë°°í¬ë¥¼ 만들거나 ì—…ë°ì´íŠ¸í•˜ëŠ” ë™ì•ˆ ìž‘ì—…ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.", + "loc.messages.ErrorsInYourDeployment": "ë°°í¬ ì‹œ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. 오류 코드: %s.", + "loc.messages.Details": "세부 ì •ë³´:", + "loc.messages.ErrorType": "오류 유형:", + "loc.messages.PolicyDefinitionName": "ì •ì±… ì •ì˜ ì´ë¦„:", + "loc.messages.PolicyAssignmentName": "ì •ì±… 할당 ì´ë¦„:", + "loc.messages.StartingValidation": "템플릿 유효성 검사를 시작하는 중입니다.", + "loc.messages.ValidDeployment": "템플릿 ë°°í¬ ìœ íš¨ì„± 검사가 완료ë˜ì—ˆìŠµë‹ˆë‹¤.", + "loc.messages.CreateTemplateDeploymentValidationFailed": "템플릿 유효성 ê²€ì‚¬ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. 오류: %s.", + "loc.messages.DeletingResourceGroup": "리소스 그룹 ì‚­ì œ 중: %s", + "loc.messages.CouldNotDeletedResourceGroup": "리소스 그룹 '%s'ì„(를) 삭제할 수 없습니다. %s 오류가 ë°œìƒí•˜ì—¬ ìž‘ì—…ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.", + "loc.messages.DeletedResourceGroup": "리소스 그룹 ì‚­ì œë¨: %s", + "loc.messages.InvalidAction": "ì´ ìž‘ì—…ì€ ì •ì˜ë˜ì§€ 않았습니다. ìž‘ì—… 작성ìžì—게 확ì¸í•˜ì„¸ìš”.", + "loc.messages.ARGD_ConstructorFailed": "초기화 중 ìž‘ì—…ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. 오류: %s", + "loc.messages.InvalidTemplateLocation": "ì œê³µëœ í…œí”Œë¦¿ 위치가 잘못ë˜ì—ˆìŠµë‹ˆë‹¤. ìž‘ì—…ì€ 'ì—°ê²°ëœ ì•„í‹°íŒ©íŠ¸' ë˜ëŠ” '파ì¼ì˜ URL'만 지ì›í•©ë‹ˆë‹¤.", + "loc.messages.EncodingNotSupported": "'%s' 파ì¼ì˜ ì¸ì½”딩 '%s'ì´(ê°€) 지ì›ë˜ì§€ 않습니다. 지ì›ë˜ëŠ” íŒŒì¼ ì¸ì½”ë”©ì€ ['utf-8', 'utf-16le']입니다.", + "loc.messages.CouldNotDetectEncoding": "'%s' 파ì¼ì˜ ì¸ì½”ë”©ì„ ê²€ìƒ‰í•  수 없습니다.", + "loc.messages.DetectedFileEncoding": "ê²€ìƒ‰ëœ '%s' 파ì¼ì˜ ì¸ì½”ë”©ì€ '%s'입니다.", + "loc.messages.ErrorWhileParsingParameter": "'%s' 매개 변수를 재정ì˜í•˜ëŠ” ë™ì•ˆ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤(ì›ì¸: '%s'). JSON(JavaScript Object Notation)ì„ ë”°ë¥´ëŠ”ì§€ 확ì¸í•˜ì„¸ìš”.", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "템플릿 íŒŒì¼ íŒ¨í„´ê³¼ ì¼ì¹˜í•˜ëŠ” 파ì¼ì´ 여러 ê°œ 있습니다. %s", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "템플릿 매개 변수 íŒŒì¼ íŒ¨í„´ê³¼ ì¼ì¹˜í•˜ëŠ” 파ì¼ì´ 여러 ê°œ 있습니다. %s", + "loc.messages.TemplateFilePatternMatchingNoFile": "템플릿 íŒŒì¼ íŒ¨í„´ê³¼ ì¼ì¹˜í•˜ëŠ” 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다.", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "템플릿 íŒŒì¼ íŒ¨í„´ê³¼ ì¼ì¹˜í•˜ëŠ” 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다.", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "매개 변수 íŒŒì¼ íŒ¨í„´ì´ íŒŒì¼ì´ ì•„ë‹ˆë¼ ë””ë ‰í„°ë¦¬ë¥¼ 찾습니다.", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "템플릿 íŒŒì¼ íŒ¨í„´ì´ íŒŒì¼ì´ ì•„ë‹ˆë¼ ë””ë ‰í„°ë¦¬ë¥¼ 찾습니다. %s", + "loc.messages.AddedOutputVariable": "현재 ë°°í¬ ê°œì²´ì˜ ì¶œë ¥ ì„¹ì…˜ì„ ë¬¸ìžì—´ 형ì‹ìœ¼ë¡œ í¬í•¨í•˜ëŠ” 출력 변수 '%s'ì„(를) ì—…ë°ì´íŠ¸í–ˆìŠµë‹ˆë‹¤.", + "loc.messages.UnableToReadResponseBody": "ì‘답 ë³¸ë¬¸ì„ ì½ì„ 수 없습니다. 오류: %s", + "loc.messages.MoreInformationOnAzurePortal": "Azure Portalì— ëŒ€í•œ ìžì„¸í•œ ì •ë³´", + "loc.messages.LogDeploymentName": "ë°°í¬ ì´ë¦„ì€ %s입니다.", + "loc.messages.ResourceGroupNameNotProvided": "리소스 그룹 ì´ë¦„ì„ ì œê³µí•´ì•¼ 합니다.", + "loc.messages.LocationNotProvided": "ë°°í¬ì˜ 위치가 필요합니다.", + "loc.messages.ARMServiceConnectionScope": "ARM 서비스 ì—°ê²° ë°°í¬ ë²”ìœ„ - %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "ì´ë¦„ì´ %sì¸ ì„œë¹„ìŠ¤ 주체ì—게 엔터티 %sì— ëŒ€í•œ 올바른 ì—­í• ì´ í• ë‹¹ë˜ì—ˆëŠ”지 확ì¸í•˜ì„¸ìš”. ìžì„¸í•œ ë‚´ìš©ì„ ë³´ë ¤ë©´ https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal ë§í¬ë¥¼ 참조하세요.", + "loc.messages.ServicePrincipalFetchFailed": "서비스 주체 세부 정보를 가져오는 ë™ì•ˆ 오류 ë°œìƒ: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "Azure Resource Manager ë°°í¬ì—ì„œ ìž‘ì—…ì„ ë§Œë“¤ì—ˆì§€ë§Œ ë°°í¬í•˜ì§€ 못했습니다. (ë§í¬ 복사하여 붙여넣기) %sì—ì„œ ìžì„¸í•œ Azure Resource Manager ë°°í¬ ë¡œê·¸ë¥¼ 참조하세요.", + "loc.messages.ManagedServiceIdentityDetails": "ë°°í¬ì— 사용ë˜ëŠ” 관리 서비스 IDì— ë¦¬ì†ŒìŠ¤ 그룹 %sì— ëŒ€í•œ 올바른 ì—­í• ì´ í• ë‹¹ë˜ì–´ 있는지 확ì¸í•˜ì„¸ìš”. ìžì„¸í•œ ë‚´ìš©ì€ https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal ë§í¬ë¥¼ 참조하세요.", + "loc.messages.CompleteDeploymentModeNotSupported": "ë°°í¬ ëª¨ë“œ '완료'는 '%s' ë²”ìœ„ì˜ ë°°í¬ì— 대해 지ì›ë˜ì§€ 않습니다.", + "loc.messages.TemplateValidationFailure": "Azure Resource Manager í…œí”Œë¦¿ì— ìœ íš¨ì„± 검사 오류가 있습니다. ì´ë¡œ ì¸í•´ 템플릿 ë°°í¬ê°€ 실패할 수 있습니다. %s. https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-syntax를 ë”°ë¼ ì´ë™í•˜ì„¸ìš”.", + "loc.messages.TroubleshootingGuide": "문제가 í•´ê²°ë˜ì—ˆëŠ”지 확ì¸í•˜ë ¤ë©´ https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshootingì—ì„œ 문제 í•´ê²° ê°€ì´ë“œë¥¼ 확ì¸í•˜ì„¸ìš”.", + "loc.messages.IncompatibleAzureCLIVersion": "Azure CLI ë²„ì „ì€ >= 2.20.0ì´ì–´ì•¼ 합니다.", + "loc.messages.AzureCLINotFound": "ì—ì´ì „트ì—ì„œ Azure CLI를 ì°¾ì„ ìˆ˜ 없습니다.", + "loc.messages.FailedToFetchAzureCLIVersion": "ì—ì´ì „트ì—ì„œ az cli ë²„ì „ì„ ê°€ì ¸ì˜¤ì§€ 못했습니다. 오류: %s", + "loc.messages.BicepBuildFailed": "\"az bicep 빌드\"ê°€ 실패했습니다. 오류: %s", + "loc.messages.BicepFileCleanupFailed": "Bicep 파ì¼ì„ 삭제하지 못했습니다. 오류: %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ru-RU/resources.resjson new file mode 100644 index 000000000000..eb012c0c506e --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/ru-RU/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "Развертывание шаблона ARM", + "loc.helpMarkDown": "[См. дополнительные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± Ñтой задаче](https://aka.ms/armtaskreadme)", + "loc.description": "Развертывание шаблона Azure Resource Manager (ARM) во вÑех облаÑÑ‚ÑÑ… развертываниÑ", + "loc.instanceNameFormat": "Развертывание шаблона ARM: облаÑÑ‚ÑŒ $(deploymentScope)", + "loc.releaseNotes": "— Добавлена поддержка Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð²Ð¾ вÑех облаÑÑ‚ÑÑ… развертываниÑ.\n— Удалены вÑе дейÑтвиÑ, отноÑÑщиеÑÑ Ðº виртуальной машине.", + "loc.group.displayName.AzureDetails": "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± Azure", + "loc.group.displayName.Template": "Шаблон", + "loc.group.displayName.Advanced": "Дополнительно", + "loc.input.label.deploymentScope": "ОблаÑÑ‚ÑŒ развертываниÑ", + "loc.input.help.deploymentScope": "ОблаÑÑ‚ÑŒ развертываниÑ. Дополнительные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± облаÑÑ‚ÑÑ… Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ñм. по Ñтой [ÑÑылке](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "loc.input.label.ConnectedServiceName": "Подключение к Azure Resource Manager", + "loc.input.help.ConnectedServiceName": "Выберите подключение Ñлужбы Azure Resource Manager, имеющее доÑтуп к выбранной облаÑти развертываниÑ.", + "loc.input.label.subscriptionName": "ПодпиÑка", + "loc.input.help.subscriptionName": "Выберите подпиÑку Azure", + "loc.input.label.action": "ДейÑтвие", + "loc.input.help.action": "ДейÑтвие, выполнÑемое Ñ Ñ€ÐµÑурÑами или группой реÑурÑов Azure.", + "loc.input.label.resourceGroupName": "Группа реÑурÑов", + "loc.input.help.resourceGroupName": "Укажите Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ реÑурÑов.", + "loc.input.label.location": "РаÑположение", + "loc.input.help.location": "Ð”Ð»Ñ Ð¾Ð±Ð»Ð°Ñти Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ реÑурÑов — раÑположение Ð´Ð»Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ реÑурÑов. ЕÑли группа реÑурÑов уже ÑущеÑтвует в подпиÑке, Ñто значение будет проигнорировано.\n Ð”Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ облаÑти развертываниÑ — раÑположение Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… развертываниÑ.", + "loc.input.label.templateLocation": "РаÑположение шаблона", + "loc.input.label.csmFileLink": "СÑылка на шаблон", + "loc.input.help.csmFileLink": "Укажите URL-Ð°Ð´Ñ€ÐµÑ Ñ„Ð°Ð¹Ð»Ð° шаблона. Пример: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json). \n\nЧтобы развернуть шаблон, который хранитÑÑ Ð² закрытой учетной запиÑи хранениÑ, извлеките маркер подпиÑанного URL-адреÑа (SAS) и добавьте его в URL-Ð°Ð´Ñ€ÐµÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°. Пример: \"/template.json?<маркер_SAS>\". Чтобы отправить файл шаблона (или ÑвÑзанный шаблон) в учетную запиÑÑŒ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸ Ñгенерировать маркер SAS, можно воÑпользоватьÑÑ Ð·Ð°Ð´Ð°Ñ‡ÐµÐ¹ [Копирование файлов Azure](https://aka.ms/azurefilecopyreadme) или выполнить необходимые дейÑÑ‚Ð²Ð¸Ñ Ð² [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) или [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911).\n\nЧтобы проÑмотреть таблицу параметров шаблона, щелкните многоточие (\"…\") Ñ€Ñдом Ñ Ñ‚ÐµÐºÑтовым полем \"Переопределить параметры шаблона\". Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» CORS в иÑточнике. ЕÑли шаблоны находÑÑ‚ÑÑ Ð² хранилище BLOB-объектов Azure, обратитеÑÑŒ к [Ñтой Ñтатье](https://docs.microsoft.com/ru-ru/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests), в которой опиÑываетÑÑ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ CORS.", + "loc.input.label.csmParametersFileLink": "СÑылка на параметры шаблона", + "loc.input.help.csmParametersFileLink": "Укажите URL-Ð°Ð´Ñ€ÐµÑ Ñ„Ð°Ð¹Ð»Ð° параметров. Пример: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json). \n\nЧтобы воÑпользоватьÑÑ Ñ„Ð°Ð¹Ð»Ð¾Ð¼, который хранитÑÑ Ð² закрытой учетной запиÑи хранениÑ, извлеките маркер подпиÑанного URL-адреÑа (SAS) и добавьте его в URL-Ð°Ð´Ñ€ÐµÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°. Пример: \"/template.json?<маркер_SAS>\". Чтобы отправить файл параметров в учетную запиÑÑŒ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸ Ñгенерировать маркер SAS, можно воÑпользоватьÑÑ Ð·Ð°Ð´Ð°Ñ‡ÐµÐ¹ [Копирование файлов Azure](https://aka.ms/azurefilecopyreadme) или выполнить необходимые дейÑÑ‚Ð²Ð¸Ñ Ð² [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) или [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911). \n\nЧтобы проÑмотреть таблицу параметров шаблона, щелкните многоточие (\"…\") Ñ€Ñдом Ñ Ñ‚ÐµÐºÑтовым полем \"Переопределить параметры шаблона\". Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» CORS в иÑточнике. ЕÑли шаблоны находÑÑ‚ÑÑ Ð² хранилище BLOB-объектов Azure, обратитеÑÑŒ к [Ñтой Ñтатье](https://docs.microsoft.com/ru-ru/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests), в которой опиÑываетÑÑ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ CORS.", + "loc.input.label.csmFile": "Шаблон", + "loc.input.help.csmFile": "Укажите путь или шаблон пути к шаблону диÑпетчера Azure Resource Manager. Дополнительные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ шаблонах Ñм. по ÑÑылке https://aka.ms/azuretemplates. Чтобы начать работу немедленно, иÑпользуйте шаблон https://aka.ms/sampletemplate. \"СвÑзанный артефакт\" также поддерживает файлы Bicep, еÑли верÑÐ¸Ñ Azure CLI > 2.20.0", + "loc.input.label.csmParametersFile": "Параметры шаблона", + "loc.input.help.csmParametersFile": "Укажите путь или шаблон Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° параметров шаблона Azure Resource Manager. \"СвÑзанный артефакт\" также поддерживает файлы Bicep, еÑли верÑÐ¸Ñ Azure CLI > 2.20.0", + "loc.input.label.overrideParameters": "Переопределить параметры шаблона", + "loc.input.help.overrideParameters": "Чтобы проÑмотреть параметры шаблона в Ñетке, щелкните \"…\" Ñ€Ñдом Ñ Ñ‚ÐµÐºÑтовым полем \"Переопределить параметры\". Ð”Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтой функции на иÑточнике должны быть включены правила CORS. ЕÑли шаблоны находÑÑ‚ÑÑ Ð² BLOB-объекте Ñлужбы хранилища Azure, обратитеÑÑŒ к [Ñтой Ñтатье](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests), чтобы включить CORS, или укажите переопределÑемые параметры шаблона в текÑтовом поле. Ðапример:
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
ЕÑли значение иÑпользуемого параметра ÑоÑтоит из неÑкольких Ñлов, заключите их в кавычки, даже еÑли они передаютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ переменных. Ðапример: -name \"значение параметра\" -name2 \"$(var)\"
Чтобы переопределить параметры типов объектов, иÑпользуйте объекты JSON, преобразованные в Ñтроку. Ðапример: -options [\"параметр1\"] -map {\"key1\": \"значение1\" }. ", + "loc.input.label.deploymentMode": "Режим развертываниÑ", + "loc.input.help.deploymentMode": "Дополнительные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ñм. [здеÑÑŒ](https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-modes). \n\n Ð’ добавочном режиме Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÑŽÑ‚ÑÑ ÐºÐ°Ðº добавочные Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð² группе реÑурÑов. РеÑурÑÑ‹, которые имеютÑÑ Ð² группе реÑурÑов, но не указаны в шаблоне, не изменÑÑŽÑ‚ÑÑ. \n\n Ð’ полном режиме реÑурÑÑ‹, отÑутÑтвующие в шаблоне, удалÑÑŽÑ‚ÑÑ. Ð”Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ режима требуетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµ времени, чем Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ режима. ЕÑли Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð·Ð°Ð´Ð°Ñ‡Ð¸ иÑтекло, увеличьте Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ измените режим на добавочный. \n **[Внимание!] Ð’ полном режиме будут удалены вÑе имеющиеÑÑ Ñ€ÐµÑурÑÑ‹ в группе реÑурÑов, которые не указаны в шаблоне. Проверьте, еÑÑ‚ÑŒ ли в развертываемой группе реÑурÑов нужные реÑурÑÑ‹, которые не указаны в шаблоне.** \n\n Режим проверки позволÑет обнаружить проблемы Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼ до ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ñ… реÑурÑов. Обратите внимание, что в Ñтом режиме будет Ñоздана группа реÑурÑов, даже еÑли развертывание реÑурÑов не проиÑходит.\n\n По умолчанию иÑпользуетÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¾Ñ‡Ð½Ñ‹Ð¹ режим.", + "loc.input.label.deploymentName": "Ð˜Ð¼Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ", + "loc.input.help.deploymentName": "Указывает Ð¸Ð¼Ñ Ñоздаваемого Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ реÑурÑов.", + "loc.input.label.deploymentOutputs": "Выходные данные развертываниÑ", + "loc.input.help.deploymentOutputs": "Укажите Ð¸Ð¼Ñ Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ переменной, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñодержать раздел выходных данных текущего объекта Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² Ñтроковом формате. Ð’Ñ‹ можете иÑпользовать командлет ConvertFrom-Json PowerShell Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° объекта JSON и доÑтупа к отдельным выходным значениÑм. Дополнительные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ñм. [здеÑÑŒ](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "loc.input.label.addSpnToEnvironment": "ДоÑтуп к ÑведениÑм о Ñубъекте-Ñлужбе в параметрах переопределениÑ", + "loc.input.help.addSpnToEnvironment": "ДобавлÑет идентификатор Ñубъекта-Ñлужбы и ключ выбранной конечной точки Azure в Ñреду Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñкрипта. Переменные \"$servicePrincipalId\" и \"$servicePrincipalKey\" можно иÑпользовать в таких параметрах переопределениÑ, как \"-key $servicePrincipalKey\"", + "loc.messages.CheckResourceGroupExistence": "Проверка Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ñледующей группы реÑурÑов: %s.", + "loc.messages.ResourceGroupStatusFetchFailed": "Ðе удалоÑÑŒ проверить ÑоÑтоÑние группы реÑурÑов. Ошибка: %s.", + "loc.messages.ResourceGroupStatus": "Ð¢Ð°ÐºÐ°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° реÑурÑов ÑущеÑтвует: %s.", + "loc.messages.ResourceGroupCreationFailed": "Ðе удалоÑÑŒ Ñоздать группу реÑурÑов. Ошибка: %s", + "loc.messages.CreatingNewRG": "Создание группы реÑурÑов: %s", + "loc.messages.CreatedRG": "Группа реÑурÑов уÑпешно Ñоздана.", + "loc.messages.CreatingTemplateDeployment": "Создание параметров развертываниÑ.", + "loc.messages.TemplateParsingFailed": "УбедитеÑÑŒ, что файл шаблона (\"%s\") допуÑтимый. Ðе удалоÑÑŒ выполнить задачу при ÑинтакÑичеÑком анализе Ñледующей ошибки: %s", + "loc.messages.FileFetchFailed": "Ðе удалоÑÑŒ Ñкачать файл. URL-адреÑ: \"%s\". Ошибка: %s", + "loc.messages.ParametersFileParsingFailed": "УбедитеÑÑŒ в том, что файл параметров (\"%s\") ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым. Ðе удалоÑÑŒ выполнить задачу при ÑинтакÑичеÑком анализе Ñледующей ошибки: %s", + "loc.messages.StartingDeployment": "ЗапуÑк развертываниÑ.", + "loc.messages.CreateTemplateDeploymentSucceeded": "Шаблон уÑпешно развернут.", + "loc.messages.CreateTemplateDeploymentFailed": "Сбой задачи при Ñоздании или обновлении Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°.", + "loc.messages.ErrorsInYourDeployment": "Ð’ развертывании обнаружены ошибки. Код ошибки: %s.", + "loc.messages.Details": "СведениÑ:", + "loc.messages.ErrorType": "Тип ошибки:", + "loc.messages.PolicyDefinitionName": "Ð˜Ð¼Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ñ‚Ð¸ÐºÐ¸:", + "loc.messages.PolicyAssignmentName": "Ð˜Ð¼Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ñ‚Ð¸ÐºÐ¸:", + "loc.messages.StartingValidation": "ЗапуÑк проверки шаблона.", + "loc.messages.ValidDeployment": "Проверка Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° выполнена уÑпешно.", + "loc.messages.CreateTemplateDeploymentValidationFailed": "Сбой при проверке шаблона. Ошибка: %s.", + "loc.messages.DeletingResourceGroup": "Удаление группы реÑурÑов: %s", + "loc.messages.CouldNotDeletedResourceGroup": "Ðе удалоÑÑŒ удалить группу реÑурÑов: \"%s\". ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð°ÑÑŒ ошибкой: %s", + "loc.messages.DeletedResourceGroup": "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° реÑурÑов: %s", + "loc.messages.InvalidAction": "Это дейÑтвие не определено. СвÑжитеÑÑŒ Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð¾Ð¼ задачи.", + "loc.messages.ARGD_ConstructorFailed": "Сбой при инициализации задачи. Ошибка: %s", + "loc.messages.InvalidTemplateLocation": "Указано недопуÑтимое раÑположение шаблона. Задача поддерживает только параметры \"СвÑзанный артефакт\" или \"URL-Ð°Ð´Ñ€ÐµÑ Ñ„Ð°Ð¹Ð»Ð°\".", + "loc.messages.EncodingNotSupported": "Кодировка файла \"%s\" (\"%s\") не поддерживаетÑÑ. Поддерживаемые кодировки файлов: [\"utf-8\", \"utf-16le\"]", + "loc.messages.CouldNotDetectEncoding": "Ðе удалоÑÑŒ определить кодировку файла \"%s\"", + "loc.messages.DetectedFileEncoding": "Ð”Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\" обнаружена кодировка \"%s\"", + "loc.messages.ErrorWhileParsingParameter": "Произошла ошибка при переопределении параметра \"%s\" из-за \"%s\". УбедитеÑÑŒ, что Ñтот параметр ÑоответÑтвует нотации объектов JavaScript (JSON)", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "Ðайдено неÑколько файлов, ÑоответÑтвующих шаблону пути к файлу шаблона: %s", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "Ðайдено неÑколько файлов, ÑоответÑтвующих шаблону пути к файлу параметров: %s", + "loc.messages.TemplateFilePatternMatchingNoFile": "Ðе удалоÑÑŒ найти ни один файл, ÑоответÑтвующий шаблону", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "Ðе удалоÑÑŒ найти ни один файл, ÑоответÑтвующий шаблону", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "Шаблон пути к файлу параметров ÑоответÑтвует каталогу, а не файлу.", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "Шаблон пути к файлу шаблона ÑоответÑтвует каталогу, а не файлу: %s", + "loc.messages.AddedOutputVariable": "Обновлена Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ \"%s\", ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñодержит раздел выходных данных текущего объекта Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² Ñтроковом формате.", + "loc.messages.UnableToReadResponseBody": "Ðе удалоÑÑŒ прочитать текÑÑ‚ ответа. Ошибка: %s", + "loc.messages.MoreInformationOnAzurePortal": "Дополнительные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ портале Azure", + "loc.messages.LogDeploymentName": "Ð˜Ð¼Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ: %s", + "loc.messages.ResourceGroupNameNotProvided": "Ðеобходимо указать Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ реÑурÑов", + "loc.messages.LocationNotProvided": "Ð”Ð»Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ÑÑ Ñ€Ð°Ñположение", + "loc.messages.ARMServiceConnectionScope": "ОблаÑÑ‚ÑŒ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº Ñлужбе ARM — %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "УбедитеÑÑŒ, что Ñубъекту-Ñлужбе Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %s назначены нужные роли Ð´Ð»Ñ ÑущноÑти %s. Чтобы получить дополнительные ÑведениÑ, перейдите по ÑÑылке https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal", + "loc.messages.ServicePrincipalFetchFailed": "Ошибка при извлечении Ñведений о Ñубъекте-Ñлужбе: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "Задача уÑпешно Ñоздала развертывание Azure Resource Manager, но Ñто развертывание выполнить не удалоÑÑŒ. Подробные журналы Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Azure Resource Manager Ñм. по адреÑу (Ñкопируйте и вÑтавьте ÑÑылку) %s", + "loc.messages.ManagedServiceIdentityDetails": "УбедитеÑÑŒ, что УправлÑемому удоÑтоверению Ñлужбы, иÑпользуемому Ð´Ð»Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ, назначены нужные роли Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ реÑурÑов %s. Чтобы получить дополнительные ÑведениÑ, перейдите по ÑÑылке https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "loc.messages.CompleteDeploymentModeNotSupported": "Режим Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ \"Полный\" не поддерживаетÑÑ Ð´Ð»Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² облаÑти \"%s\"", + "loc.messages.TemplateValidationFailure": "Ð’ шаблоне Azure Resource Manager обнаружены ошибки проверки. Это может привеÑти к Ñбою Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°. %s. Следуйте указаниÑм на Ñледующей Ñтранице: https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-syntax", + "loc.messages.TroubleshootingGuide": "ОзнакомьтеÑÑŒ Ñ Ñ€ÑƒÐºÐ¾Ð²Ð¾Ð´Ñтвом по уÑтранению неполадок, чтобы узнать, решена ли ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð²Ð°Ð¼Ð¸ проблема: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting.", + "loc.messages.IncompatibleAzureCLIVersion": "ВерÑÐ¸Ñ Azure CLI должна быть >= 2.20.0", + "loc.messages.AzureCLINotFound": "Azure CLI не найден в агенте.", + "loc.messages.FailedToFetchAzureCLIVersion": "Ðе удалоÑÑŒ получить верÑию AZ CLI от агента. Ошибка: %s", + "loc.messages.BicepBuildFailed": "Ðе удалоÑÑŒ выполнить команду \"az bicep build\". Ошибка: %s", + "loc.messages.BicepFileCleanupFailed": "Ðе удалоÑÑŒ удалить файл Bicep. Ошибка: %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/zh-CN/resources.resjson new file mode 100644 index 000000000000..5c539646256d --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/zh-CN/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "ARM 模æ¿éƒ¨ç½²", + "loc.helpMarkDown": "[详细了解此任务](https://aka.ms/armtaskreadme)", + "loc.description": "å°† Azure 资æºç®¡ç†å™¨(ARM)模æ¿éƒ¨ç½²åˆ°æ‰€æœ‰éƒ¨ç½²èŒƒå›´", + "loc.instanceNameFormat": "ARM 模æ¿éƒ¨ç½²: $(deploymentScope)范围", + "loc.releaseNotes": "- 已在所有部署范围添加部署支æŒã€‚\n- 已删除所有 VM 相关æ“作。", + "loc.group.displayName.AzureDetails": "Azure 详细信æ¯", + "loc.group.displayName.Template": "模æ¿", + "loc.group.displayName.Advanced": "高级", + "loc.input.label.deploymentScope": "部署范围", + "loc.input.help.deploymentScope": "部署的部署范围。若è¦äº†è§£éƒ¨ç½²èŒƒå›´çš„详细信æ¯ï¼Œè¯·å‚阅此[链接](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "loc.input.label.ConnectedServiceName": "Azure 资æºç®¡ç†å™¨è¿žæŽ¥", + "loc.input.help.ConnectedServiceName": "选择有æƒè®¿é—®æ‰€é€‰éƒ¨ç½²èŒƒå›´çš„ Azure 资æºç®¡ç†å™¨æœåŠ¡è¿žæŽ¥ã€‚", + "loc.input.label.subscriptionName": "订阅", + "loc.input.help.subscriptionName": "选择 Azure 订阅", + "loc.input.label.action": "æ“作", + "loc.input.help.action": "将对 Azure 资æºæˆ–资æºç»„执行的æ“作。", + "loc.input.label.resourceGroupName": "资æºç»„", + "loc.input.help.resourceGroupName": "æ供资æºç»„çš„å称。", + "loc.input.label.location": "ä½ç½®", + "loc.input.help.location": "资æºç»„部署范围: 部署资æºç»„çš„ä½ç½®ã€‚如果订阅中已存在该资æºç»„,则将忽略此值。\n其他部署范围: 存储部署元数æ®çš„ä½ç½®ã€‚", + "loc.input.label.templateLocation": "模æ¿ä½ç½®", + "loc.input.label.csmFileLink": "模æ¿é“¾æŽ¥", + "loc.input.help.csmFileLink": "指定模æ¿æ–‡ä»¶çš„ URL。例如: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nè‹¥è¦éƒ¨ç½²å­˜å‚¨åœ¨ç§æœ‰å­˜å‚¨å¸æˆ·ä¸­çš„模æ¿ï¼Œè¯·æ£€ç´¢å…±äº«è®¿é—®ç­¾å(SAS)令牌并将其包括在模æ¿çš„ URL 中。例如: \"/template.json?\" è‹¥è¦å°†æ¨¡æ¿æ–‡ä»¶(或链接的模æ¿)上传到存储å¸æˆ·å¹¶ç”Ÿæˆ SAS 令牌,å¯ä»¥ä½¿ç”¨ [Azure 文件å¤åˆ¶](https://aka.ms/azurefilecopyreadme)任务,或者使用 [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) 或 [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911)按步骤æ“作。\n\nè‹¥è¦ä»¥ç½‘格方å¼æŸ¥çœ‹æ¨¡æ¿å‚数,请å•å‡»â€œæ›¿ä»£â€æ¨¡æ¿å‚数文本框æ—的“…â€ã€‚此功能è¦æ±‚在æºä¸­å¯ç”¨ CORS 规则。如果模æ¿åœ¨ Azure 存储 blob 中,请å‚阅[此文](https://docs.microsoft.com/zh-cn/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)æ¥å¯ç”¨ CORS。", + "loc.input.label.csmParametersFileLink": "模æ¿å‚数链接", + "loc.input.help.csmParametersFileLink": "指定å‚数文件的 URL。例如: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nè‹¥è¦ä½¿ç”¨å­˜å‚¨åœ¨ç§æœ‰å­˜å‚¨å¸æˆ·ä¸­çš„文件,请检索共享访问签å(SAS)令牌并将其包括在模æ¿çš„ URL 中。例如: \"/template.json?\"è‹¥è¦å°†å‚数文件上传到存储å¸æˆ·å¹¶ç”Ÿæˆ SAS 令牌,å¯ä»¥ä½¿ç”¨ [Azure 文件å¤åˆ¶](https://aka.ms/azurefilecopyreadme)任务,或者使用 [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) 或 [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911)按步骤æ“作。\n\nè‹¥è¦ä»¥ç½‘格方å¼æŸ¥çœ‹æ¨¡æ¿å‚数,请å•å‡»â€œæ›¿ä»£â€æ¨¡æ¿å‚数文本框æ—的“…â€ã€‚此功能è¦æ±‚在æºä¸­å¯ç”¨ CORS 规则。如果模æ¿åœ¨ Azure 存储 blob 中,请å‚阅[此文](https://docs.microsoft.com/zh-cn/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)æ¥å¯ç”¨ CORS。", + "loc.input.label.csmFile": "模æ¿", + "loc.input.help.csmFile": "æŒ‡å®šæŒ‡å‘ Azure 资æºç®¡ç†å™¨æ¨¡æ¿çš„路径或模å¼ã€‚有关模æ¿çš„详细信æ¯ï¼Œè¯·å‚阅 https://aka.ms/azuretemplates。è¦ç«‹å³å¼€å§‹ä½¿ç”¨æ¨¡æ¿ï¼Œè¯·å‚阅 https://aka.ms/sampletemplate。当 Azure CLI版本 > 2.20.0 时,“链接项目â€è¿˜æ”¯æŒ Bicep 文件", + "loc.input.label.csmParametersFile": "模æ¿å‚æ•°", + "loc.input.help.csmParametersFile": "为 Azure 资æºç®¡ç†å™¨æ¨¡æ¿çš„å‚数文件指定路径或模å¼æŒ‡å‘。当 Azure CLI版本 > 2.20.0 时,“链接项目â€è¿˜æ”¯æŒ Bicep 文件", + "loc.input.label.overrideParameters": "替代模æ¿å‚æ•°", + "loc.input.help.overrideParameters": "è‹¥è¦æŸ¥çœ‹ç½‘格中的模æ¿å‚数,请å•å‡»â€œæ›¿ä»£å‚æ•°â€æ–‡æœ¬æ¡†æ—çš„ \"…\"。此功能需è¦åœ¨æºå¯ç”¨ CORS 规则。如果模æ¿ä½äºŽ Azure 存储 blob 中,请å‚阅 [此文章](https://docs.microsoft.com/zh-cn/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)以å¯ç”¨ CORS。或键入文本框中é‡å†™çš„模æ¿å‚数。例如,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre)。
如果正在使用的å‚数值具有多个è¯ï¼Œè¯·å°†å®ƒä»¬æ‹¬åœ¨å¼•å·ä¸­ï¼Œå³ä½¿å°†ä½¿ç”¨å˜é‡ä¼ é€’它们。例如 -name \"parameter value\" -name2 \"$(var)\"
è‹¥è¦æ›¿ä»£å¯¹è±¡ç±»åž‹å‚数,请使用 stringified JSON 对象。例如 -options [\"option1\"] -map {\"key1\": \"value1\" }。", + "loc.input.label.deploymentMode": "部署模å¼", + "loc.input.help.deploymentMode": "有关详细信æ¯ï¼Œè¯·å‚阅[此处](https://docs.microsoft.com/zh-cn/azure/azure-resource-manager/deployment-modes)。\n\n增é‡æ¨¡å¼å°†éƒ¨ç½²ä½œä¸ºèµ„æºç»„的增é‡æ›´æ–°è¿›è¡Œå¤„ç†ã€‚它会ä¿ç•™å­˜åœ¨äºŽèµ„æºç»„中但未在模æ¿ä¸­æŒ‡å®šçš„未更改资æºã€‚\n\n完整模å¼ä¼šåˆ é™¤ä¸åœ¨æ¨¡æ¿ä¸­çš„资æºã€‚与增é‡æ¨¡å¼ç›¸æ¯”,完整模å¼è¾ƒä¸ºè€—时。如果任务超时,请考虑增加超时时间,或将模å¼æ›´æ”¹ä¸ºâ€œå¢žé‡â€ã€‚\n**[警告]完整模å¼å°†åˆ é™¤èµ„æºç»„中未在模æ¿ä¸­æŒ‡å®šçš„所有现有资æºã€‚如果è¦éƒ¨ç½²åˆ°çš„资æºç»„ä¸åŒ…å«æœªåœ¨æ¨¡æ¿ä¸­æŒ‡å®šçš„任何必è¦èµ„æºï¼Œè¯·è¿›è¡Œå®¡æŸ¥ã€‚\n\n使用验è¯æ¨¡å¼ï¼Œå¯ä»¥åœ¨åˆ›å»ºå®žé™…资æºä¹‹å‰æŸ¥æ‰¾æ¨¡æ¿çš„问题。通过验è¯æ¨¡å¼ï¼Œå¯åœ¨åˆ›å»ºå®žé™…资æºä¹‹å‰å‘现模æ¿çš„问题。请注æ„,å³ä½¿ä¸åˆ›å»ºä»»ä½•èµ„æºï¼Œæ­¤æ¨¡å¼ä»å°†åˆ›å»ºèµ„æºç»„。\n\n默认使用“增é‡â€æ¨¡å¼ã€‚", + "loc.input.label.deploymentName": "部署å称", + "loc.input.help.deploymentName": "指定è¦åˆ›å»ºçš„资æºç»„部署的å称。", + "loc.input.label.deploymentOutputs": "部署输出", + "loc.input.help.deploymentOutputs": "æ供输出å˜é‡çš„å˜é‡å称,该输出å˜é‡ä¸­å°†åŒ…å«å­—符串格å¼çš„当å‰éƒ¨ç½²å¯¹è±¡çš„输出部分。å¯ä½¿ç”¨ \"ConvertFrom-Json\" PowerShell cmdlet åˆ†æž JSON 对象并访问å•ä¸ªè¾“出值。有关详细信æ¯ï¼Œè¯·å‚阅[此链接](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "loc.input.label.addSpnToEnvironment": "在替代å‚数中访问æœåŠ¡ä¸»ä½“详细信æ¯", + "loc.input.help.addSpnToEnvironment": "将选择的 Azure 终结点的æœåŠ¡ä¸»ä½“ ID 和密钥添加到脚本的执行环境中。å¯ä»¥åœ¨ \"-key $servicePrincipalKey\" 等替代å‚数中使用以下å˜é‡: \"$servicePrincipalId\" å’Œ \"$servicePrincipalKey\"", + "loc.messages.CheckResourceGroupExistence": "正在检查是å¦å­˜åœ¨ä»¥ä¸‹èµ„æºç»„: %s。", + "loc.messages.ResourceGroupStatusFetchFailed": "未能检查资æºç»„状æ€ã€‚错误: %s。", + "loc.messages.ResourceGroupStatus": "资æºç»„已存在: %s。", + "loc.messages.ResourceGroupCreationFailed": "未能创建资æºç»„。错误: %s", + "loc.messages.CreatingNewRG": "正在创建资æºç»„: %s", + "loc.messages.CreatedRG": "å·²æˆåŠŸåˆ›å»ºèµ„æºç»„。", + "loc.messages.CreatingTemplateDeployment": "正在创建部署å‚数。", + "loc.messages.TemplateParsingFailed": "请确ä¿æ¨¡æ¿æ–‡ä»¶(“%sâ€)有效。分æžè¿‡ç¨‹ä¸­ä»»åŠ¡å¤±è´¥ï¼Œå‡ºçŽ°ä»¥ä¸‹é”™è¯¯: %s", + "loc.messages.FileFetchFailed": "未能下载文件。URL:“%sâ€ã€‚错误: %s", + "loc.messages.ParametersFileParsingFailed": "请确ä¿å‚数文件(“%sâ€)有效。分æžè¿‡ç¨‹ä¸­ä»»åŠ¡å¤±è´¥ï¼Œå‡ºçŽ°ä»¥ä¸‹é”™è¯¯: %s", + "loc.messages.StartingDeployment": "正在å¯åŠ¨éƒ¨ç½²ã€‚", + "loc.messages.CreateTemplateDeploymentSucceeded": "å·²æˆåŠŸéƒ¨ç½²æ¨¡æ¿ã€‚", + "loc.messages.CreateTemplateDeploymentFailed": "创建或更新模æ¿éƒ¨ç½²æ—¶ä»»åŠ¡å¤±è´¥ã€‚", + "loc.messages.ErrorsInYourDeployment": "部署中出现错误。错误代ç : %s。", + "loc.messages.Details": "详细信æ¯:", + "loc.messages.ErrorType": "错误类型:", + "loc.messages.PolicyDefinitionName": "策略定义å称:", + "loc.messages.PolicyAssignmentName": "策略分é…å称:", + "loc.messages.StartingValidation": "正在å¯åŠ¨æ¨¡æ¿éªŒè¯ã€‚", + "loc.messages.ValidDeployment": "å·²æˆåŠŸå®Œæˆæ¨¡æ¿éƒ¨ç½²éªŒè¯ã€‚", + "loc.messages.CreateTemplateDeploymentValidationFailed": "模æ¿éªŒè¯å¤±è´¥ã€‚错误: %s。", + "loc.messages.DeletingResourceGroup": "正在删除资æºç»„: %s", + "loc.messages.CouldNotDeletedResourceGroup": "无法删除资æºç»„:“%sâ€ã€‚æ“作失败,错误: %s", + "loc.messages.DeletedResourceGroup": "已删除的资æºç»„: %s", + "loc.messages.InvalidAction": "æ­¤æ“作未定义。请与任务作者核实。", + "loc.messages.ARGD_ConstructorFailed": "任务åˆå§‹åŒ–失败。错误: %s", + "loc.messages.InvalidTemplateLocation": "æ供的模æ¿ä½ç½®æ— æ•ˆã€‚任务仅支æŒâ€œé“¾æŽ¥çš„项目â€æˆ–“文件的 URLâ€", + "loc.messages.EncodingNotSupported": "文件“%sâ€çš„ç¼–ç ä¸ºâ€œ%sâ€ï¼Œå®ƒä¸å—支æŒã€‚支æŒçš„文件编ç ä¸º [\"utf-8\"ã€\"utf-16le\"]", + "loc.messages.CouldNotDetectEncoding": "无法检测到文件“%sâ€çš„ç¼–ç ", + "loc.messages.DetectedFileEncoding": "为文件“%sâ€æ£€æµ‹åˆ°çš„ç¼–ç ä¸ºâ€œ%sâ€", + "loc.messages.ErrorWhileParsingParameter": "由于“%sâ€ï¼Œæ›¿ä»£â€œ%sâ€å‚数时出错,确ä¿å…¶éµå¾ª JavaScript 对象表示法(JSON)", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "找到多个匹é…模æ¿æ–‡ä»¶æ¨¡å¼ %s 的文件", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "找到多个匹é…模æ¿å‚æ•°æ–‡ä»¶æ¨¡å¼ %s 的文件", + "loc.messages.TemplateFilePatternMatchingNoFile": "找ä¸åˆ°åŒ¹é…模æ¿æ–‡ä»¶æ¨¡å¼çš„任何文件", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "找ä¸åˆ°åŒ¹é…模æ¿æ–‡ä»¶æ¨¡å¼çš„任何文件", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "å‚数文件模å¼åŒ¹é…目录,而ä¸æ˜¯æ–‡ä»¶ã€‚", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "模æ¿æ–‡ä»¶æ¨¡å¼åŒ¹é…目录,而ä¸æ˜¯æ–‡ä»¶: %s", + "loc.messages.AddedOutputVariable": "已更新的输出å˜é‡â€œ%sâ€ï¼Œè¯¥å˜é‡åŒ…å«å­—符串格å¼çš„当å‰éƒ¨ç½²å¯¹è±¡çš„输出部分。", + "loc.messages.UnableToReadResponseBody": "无法读å–å“应正文。错误: %s", + "loc.messages.MoreInformationOnAzurePortal": "Azure 门户的详细信æ¯", + "loc.messages.LogDeploymentName": "部署å称为 %s", + "loc.messages.ResourceGroupNameNotProvided": "应æ供资æºç»„å称", + "loc.messages.LocationNotProvided": "需è¦ä½ç½®ä»¥è¿›è¡Œéƒ¨ç½²", + "loc.messages.ARMServiceConnectionScope": "ARM æœåŠ¡è¿žæŽ¥éƒ¨ç½²èŒƒå›´ - %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "请确ä¿ä¸ºå称为 %s çš„æœåŠ¡ä¸»ä½“分é…了实体 %s 的正确角色。访问链接以了解更多详细信æ¯: https://docs.microsoft.com/zh-cn/azure/role-based-access-control/role-assignments-portal", + "loc.messages.ServicePrincipalFetchFailed": "æå–æœåŠ¡ä¸»ä½“详细信æ¯æ—¶å‡ºé”™: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "任务已æˆåŠŸåˆ›å»º Azure 资æºç®¡ç†å™¨éƒ¨ç½²ï¼Œä½†éƒ¨ç½²å¤±è´¥ã€‚请在以下ä½ç½®æŸ¥çœ‹æ›´å¤šè¯¦ç»†çš„ Azure 资æºç®¡ç†å™¨éƒ¨ç½²æ—¥å¿—: (请å¤åˆ¶å¹¶ç²˜è´´é“¾æŽ¥) %s", + "loc.messages.ManagedServiceIdentityDetails": "请确ä¿ä¸ºç”¨äºŽéƒ¨ç½²çš„托管æœåŠ¡æ ‡è¯†åˆ†é…了资æºç»„ %s 的正确角色。访问链接以了解更多详细信æ¯: https://docs.microsoft.com/zh-cn/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "loc.messages.CompleteDeploymentModeNotSupported": "\"%s\" 范围的部署ä¸æ”¯æŒâ€œå®Œæ•´â€éƒ¨ç½²æ¨¡å¼", + "loc.messages.TemplateValidationFailure": "在 Azure 资æºç®¡ç†å™¨æ¨¡æ¿ä¸­å‘现验è¯é”™è¯¯ã€‚è¿™å¯èƒ½ä¼šå¯¼è‡´æ¨¡æ¿éƒ¨ç½²å¤±è´¥ã€‚%s。请éµå¾ª https://docs.microsoft.com/zh-cn/azure/azure-resource-manager/templates/template-syntax", + "loc.messages.TroubleshootingGuide": "查看故障排除指å—以了解你的问题是å¦å·²è§£å†³: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "loc.messages.IncompatibleAzureCLIVersion": "Azure CLI 版本应 >= 2.20.0", + "loc.messages.AzureCLINotFound": "在代ç†ä¸Šæ‰¾ä¸åˆ° Azure CLI。", + "loc.messages.FailedToFetchAzureCLIVersion": "无法从代ç†æå– az cli 版本。错误: %s", + "loc.messages.BicepBuildFailed": "“az bicep 版本â€å¤±è´¥ã€‚错误: %s", + "loc.messages.BicepFileCleanupFailed": "未能删除 Bicep 文件。错误: %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/zh-TW/resources.resjson new file mode 100644 index 000000000000..97698c091233 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/zh-TW/resources.resjson @@ -0,0 +1,97 @@ +{ + "loc.friendlyName": "ARM 範本部署", + "loc.helpMarkDown": "[深入了解此工作](https://aka.ms/armtaskreadme)", + "loc.description": "å°‡ Azure Resource Manager (ARM) 範本部署到所有部署範åœ", + "loc.instanceNameFormat": "ARM 範本部署: $(deploymentScope) 範åœ", + "loc.releaseNotes": "- 在所有部署範åœæ–°å¢žäº†éƒ¨ç½²æ”¯æ´ã€‚\n- 移除了所有 VM 相關動作。", + "loc.group.displayName.AzureDetails": "Azure 詳細資料", + "loc.group.displayName.Template": "範本", + "loc.group.displayName.Advanced": "進階", + "loc.input.label.deploymentScope": "部署範åœ", + "loc.input.help.deploymentScope": "部署的部署範åœã€‚è‹¥è¦æ·±å…¥äº†è§£éƒ¨ç½²ç¯„åœï¼Œè«‹åƒé–±æ­¤[連çµ](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager 連線", + "loc.input.help.ConnectedServiceName": "é¸å–有權存å–所é¸éƒ¨ç½²ç¯„åœçš„ Azure Resource Manager æœå‹™é€£ç·šã€‚", + "loc.input.label.subscriptionName": "訂閱", + "loc.input.help.subscriptionName": "é¸å– Azure 訂用帳戶", + "loc.input.label.action": "動作", + "loc.input.help.action": "è¦åœ¨ Azure 資æºæˆ–資æºç¾¤çµ„上執行的動作。", + "loc.input.label.resourceGroupName": "資æºç¾¤çµ„", + "loc.input.help.resourceGroupName": "è«‹æ供資æºç¾¤çµ„çš„å稱。", + "loc.input.label.location": "ä½ç½®", + "loc.input.help.location": "é‡å°è³‡æºç¾¤çµ„部署範åœ: 部署資æºç¾¤çµ„çš„ä½ç½®ã€‚如果訂用帳戶中已有資æºç¾¤çµ„,則會忽略此值。\né‡å°å…¶ä»–部署範åœ: 儲存部署中繼資料的ä½ç½®ã€‚", + "loc.input.label.templateLocation": "範本ä½ç½®", + "loc.input.label.csmFileLink": "範本連çµ", + "loc.input.help.csmFileLink": "請指定範本檔案的 URL。例如: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nè‹¥è¦éƒ¨ç½²å„²å­˜åœ¨ç§äººå„²å­˜é«”帳戶中的範本,請擷å–共用存å–簽章 (SAS) 權æ–,並將其加入範本的 URL 中。例如: `/template.json?`。若è¦å°‡ç¯„本檔案 (或連çµçš„範本) 上傳到儲存體帳戶,並產生 SAS 權æ–,å¯ä»¥ä½¿ç”¨ [Azure 檔案複製](https://aka.ms/azurefilecopyreadme) 工作,或執行 [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) 或 [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911) 的使用步驟。\n\nè‹¥è¦ä½¿ç”¨æ ¼ç·šæª¢è¦–範本åƒæ•¸ï¼Œè«‹æŒ‰ä¸€ä¸‹ [覆寫範本åƒæ•¸] 文字方塊æ—çš„ […]。此功能需è¦æ–¼ä¾†æºè™•å•Ÿç”¨ CORS è¦å‰‡ã€‚若範本ä½æ–¼ Azure 儲存體 Blob 中,請åƒé–± [這裡](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests),以啟用 CORS。", + "loc.input.label.csmParametersFileLink": "範本åƒæ•¸é€£çµ", + "loc.input.help.csmParametersFileLink": "請指定範本檔案的 URL。例如: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nè‹¥è¦ä½¿ç”¨å„²å­˜åœ¨ç§äººå„²å­˜é«”帳戶中的檔案,請擷å–共用存å–簽章 (SAS) 權æ–,並將其加入範本的 URL 中。例如: `/template.json?`。若è¦å°‡åƒæ•¸æª”案上傳到儲存體帳戶,並產生 SAS 權æ–,å¯ä½¿ç”¨ [Azure 檔案複製](https://aka.ms/azurefilecopyreadme) 工作,或執行 [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) 或 [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911) 的使用步驟。\n\nè‹¥è¦ä½¿ç”¨æ ¼ç·šæª¢è¦–範本åƒæ•¸ï¼Œè«‹æŒ‰ä¸€ä¸‹ [覆寫範本åƒæ•¸] 文字方塊æ—çš„ […]。此功能需è¦æ–¼ä¾†æºè™•å•Ÿç”¨ CORS è¦å‰‡ã€‚若範本ä½æ–¼ Azure 儲存體 Blob 中,請åƒé–± [這裡](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests),以啟用 CORS。", + "loc.input.label.csmFile": "範本", + "loc.input.help.csmFile": "è«‹æŒ‡å®šæŒ‡å‘ Azure Resource Manager 範本的路徑或模å¼ã€‚如需範本的詳細資訊,請åƒé–± https://aka.ms/azuretemplates。若è¦ç«‹å³å•Ÿå‹•ï¼Œè«‹ä½¿ç”¨ç¯„本 https://aka.ms/sampletemplate。當 Azure CLI 版本大於 2.20.0 時,'連çµçš„æˆå“' ä¹Ÿæ”¯æ´ Bicep 檔案", + "loc.input.label.csmParametersFile": "範本åƒæ•¸", + "loc.input.help.csmParametersFile": "指定 Azure Resource Manager 範本之åƒæ•¸æª”案的路徑或模å¼æŒ‡æ¨™ã€‚當 Azure CLI 版本大於 2.20.0 時,'連çµçš„æˆå“' ä¹Ÿæ”¯æ´ Bicep 檔案", + "loc.input.label.overrideParameters": "覆寫範本åƒæ•¸", + "loc.input.help.overrideParameters": "è‹¥è¦ä»¥ç¶²æ ¼æ¨¡å¼æª¢è¦–範本åƒæ•¸ï¼Œè«‹æŒ‰ä¸€ä¸‹ [Override Parameters] 文字方塊æ—çš„ [...]。必須在來æºå•Ÿç”¨ CORS è¦å‰‡æ‰èƒ½ä½¿ç”¨æ­¤åŠŸèƒ½ã€‚若範本在 Azure 儲存體 Blob 中,請åƒé–±[本篇](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests)來啟用 CORS,或是在文字方塊中éµå…¥è¦è¦†å¯«çš„範本åƒæ•¸ã€‚例如,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre)。
若您使用的åƒæ•¸æœ‰å¤šå€‹æ–‡å­—,請以引號括ä½æ–‡å­—,å³ä½¿æ‚¨ä½¿ç”¨è®Šæ•¸ä¾†å‚³éžæ–‡å­—亦åŒã€‚例如,-name \"åƒæ•¸å€¼\" -name2 \"$(var)\"
è‹¥è¦è¦†å¯«ç‰©ä»¶é¡žåž‹åƒæ•¸ï¼Œè«‹ä½¿ç”¨å·²è½‰æ›ç‚ºå­—串的 JSON 物件。例如,-options [\"option1\"] -map {\"key1\": \"value1\" }。 ", + "loc.input.label.deploymentMode": "部署模å¼", + "loc.input.help.deploymentMode": "如需更多詳細資料,請åƒé–±[這裡](https://docs.microsoft.com/zh-tw/azure/azure-resource-manager/templates/deployment-modes)。\n\n 累加模å¼æœƒå°‡éƒ¨ç½²ç•¶æˆè³‡æºç¾¤çµ„的累加å¼æ›´æ–°è™•ç†ã€‚此模å¼æœƒä¿ç•™å­˜åœ¨æ–¼è³‡æºç¾¤çµ„,但未在範本中指定的未變更資æºã€‚\n\n 完整模å¼æœƒåˆªé™¤ä¸åœ¨æ‚¨ç¯„本中的資æºã€‚完整模å¼èŠ±è²»çš„時間比累加模å¼å¤šã€‚如果工作逾時,請考慮增加逾時或變更為「累加ã€æ¨¡å¼ã€‚\n **[警告] 完整模å¼æœƒåˆªé™¤æ‰€æœ‰æœªåœ¨ç¯„本中指定的資æºç¾¤çµ„ç¾æœ‰è³‡æºã€‚請確實檢查è¦éƒ¨ç½²çš„資æºç¾¤çµ„中,是å¦çœŸçš„沒有未在範本中指定的任何必è¦è³‡æºã€‚** \n\n 驗證模å¼å¯è®“您在建立實際資æºå‰ï¼Œæ‰¾å‡ºç¯„本的å•é¡Œã€‚驗證模å¼è®“您能夠在建立實際資æºå‰ç™¼ç¾ç¯„本的å•é¡Œã€‚請注æ„,這種模å¼ç„¡è«–如何都會建立一個資æºç¾¤çµ„,å³ä½¿æ²’有部署任何資æº\n\n é è¨­ä½¿ç”¨ç´¯åŠ æ¨¡å¼ã€‚", + "loc.input.label.deploymentName": "部署å稱", + "loc.input.help.deploymentName": "指定欲建立資æºç¾¤çµ„部署的å稱。", + "loc.input.label.deploymentOutputs": "部署輸出", + "loc.input.help.deploymentOutputs": "為輸出變數æ供變數的å稱,該å稱會以字串格å¼åŒ…å«ç›®å‰éƒ¨ç½²ç‰©ä»¶çš„輸出å€æ®µã€‚您å¯ä»¥ä½¿ç”¨ \"ConvertFrom-Json\" PowerShell Cmdlet ä¾†å‰–æž JSON 物件,並存å–個別的輸出值。如需詳細資料,請åƒé–±[這裡](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "loc.input.label.addSpnToEnvironment": "å­˜å–覆寫åƒæ•¸ä¸­çš„æœå‹™ä¸»é«”詳細資料", + "loc.input.help.addSpnToEnvironment": "å°‡æœå‹™ä¸»é«”è­˜åˆ¥ç¢¼å’Œæ‚¨æ‰€é¸ Azure 端點的金鑰新增至指令碼的執行環境。您å¯ä»¥åœ¨ `-key $servicePrincipalKey` 等覆寫åƒæ•¸ä¸­ä½¿ç”¨ä»¥ä¸‹è®Šæ•¸: `$servicePrincipalId` å’Œ `$servicePrincipalKey`。", + "loc.messages.CheckResourceGroupExistence": "正在檢查下列資æºç¾¤çµ„是å¦å­˜åœ¨: %s。", + "loc.messages.ResourceGroupStatusFetchFailed": "無法查看資æºç¾¤çµ„狀態。錯誤: %s。", + "loc.messages.ResourceGroupStatus": "已有資æºç¾¤çµ„: %s。", + "loc.messages.ResourceGroupCreationFailed": "無法建立資æºç¾¤çµ„。錯誤: %s", + "loc.messages.CreatingNewRG": "正在建立資æºç¾¤çµ„: %s", + "loc.messages.CreatedRG": "資æºç¾¤çµ„建立æˆåŠŸã€‚", + "loc.messages.CreatingTemplateDeployment": "正在建立部署åƒæ•¸ã€‚", + "loc.messages.TemplateParsingFailed": "請確定範本檔案 ('%s') 有效。剖æžæ™‚工作失敗。錯誤如下: %s", + "loc.messages.FileFetchFailed": "無法下載檔案。URL: '%s'。錯誤: %s", + "loc.messages.ParametersFileParsingFailed": "請確定åƒæ•¸æª”案 ('%s') 有效。剖æžæ™‚工作失敗。錯誤如下: %s", + "loc.messages.StartingDeployment": "正在啟動部署。", + "loc.messages.CreateTemplateDeploymentSucceeded": "å·²æˆåŠŸéƒ¨ç½²ç¯„本。", + "loc.messages.CreateTemplateDeploymentFailed": "建立或更新範本部署時工作失敗。", + "loc.messages.ErrorsInYourDeployment": "部署發生錯誤。錯誤代碼: %s。", + "loc.messages.Details": "詳細資料:", + "loc.messages.ErrorType": "錯誤類型:", + "loc.messages.PolicyDefinitionName": "原則定義å稱:", + "loc.messages.PolicyAssignmentName": "原則指派å稱:", + "loc.messages.StartingValidation": "正在啟動範本驗證。", + "loc.messages.ValidDeployment": "範本部署驗證已æˆåŠŸå®Œæˆã€‚", + "loc.messages.CreateTemplateDeploymentValidationFailed": "範本驗證失敗。錯誤: %s。", + "loc.messages.DeletingResourceGroup": "正在刪除資æºç¾¤çµ„: %s", + "loc.messages.CouldNotDeletedResourceGroup": "無法刪除資æºç¾¤çµ„: '%s'。作業失敗。錯誤: %s", + "loc.messages.DeletedResourceGroup": "已刪除的資æºç¾¤çµ„: %s", + "loc.messages.InvalidAction": "此動作未定義。請連絡工作作者。", + "loc.messages.ARGD_ConstructorFailed": "åˆå§‹åŒ–時工作失敗。錯誤: %s", + "loc.messages.InvalidTemplateLocation": "æ供的範本ä½ç½®ç„¡æ•ˆã€‚工作åªæ”¯æ´ã€Œé€£çµçš„æˆå“ã€æˆ–「檔案 URLã€", + "loc.messages.EncodingNotSupported": "檔案 '%s' 的編碼為ä¸å—支æ´çš„ '%s'。支æ´çš„檔案編碼為 ['utf-8'ã€'utf-16le']", + "loc.messages.CouldNotDetectEncoding": "åµæ¸¬ä¸åˆ°æª”案 '%s' 的編碼", + "loc.messages.DetectedFileEncoding": "åµæ¸¬åˆ°æª”案 '%s' 的編碼為 '%s'", + "loc.messages.ErrorWhileParsingParameter": "覆寫 '%s' åƒæ•¸æ™‚發生錯誤 (原因為 '%s'),請確èªå…¶éµå¾ª JavaScript 物件標記法 (JSON)", + "loc.messages.TemplateFilePatternMatchingMoreThanOneFile": "找到多個檔案符åˆç¯„本檔案模å¼: %s", + "loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile": "找到多個檔案符åˆç¯„本åƒæ•¸æª”案模å¼: %s", + "loc.messages.TemplateFilePatternMatchingNoFile": "找ä¸åˆ°ä»»ä½•ç¬¦åˆç¯„本檔案模å¼çš„檔案", + "loc.messages.TemplateParameterFilePatternMatchingNoFile": "找ä¸åˆ°ä»»ä½•ç¬¦åˆç¯„本檔案模å¼çš„檔案", + "loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile": "與範本檔案模å¼ç›¸ç¬¦çš„是目錄而éžæª”案。", + "loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile": "與範本檔案模å¼ç›¸ç¬¦çš„是目錄而éžæª”案: %s", + "loc.messages.AddedOutputVariable": "已更新輸出變數 '%s',其包å«æ ¼å¼ç‚ºå­—串之目å‰éƒ¨ç½²ç‰©ä»¶çš„輸出å€æ®µã€‚", + "loc.messages.UnableToReadResponseBody": "無法讀å–回應主體。錯誤: %s", + "loc.messages.MoreInformationOnAzurePortal": "Azure å…¥å£ç¶²ç«™çš„詳細資訊", + "loc.messages.LogDeploymentName": "部署å稱為 %s", + "loc.messages.ResourceGroupNameNotProvided": "å¿…é ˆæ供資æºç¾¤çµ„å稱", + "loc.messages.LocationNotProvided": "必須為部署æä¾›ä½ç½®", + "loc.messages.ARMServiceConnectionScope": "ARM æœå‹™é€£ç·šéƒ¨ç½²ç¯„åœ - %s", + "loc.messages.ServicePrincipalRoleAssignmentDetails": "請確定已將實體 %s 的正確角色指派給å為 %s çš„æœå‹™ä¸»é«”。如需詳細資料,請åƒé–±æ­¤é€£çµ: https://docs.microsoft.com/zh-tw/azure/role-based-access-control/role-assignments-portal (機器翻譯)", + "loc.messages.ServicePrincipalFetchFailed": "æ“·å–æœå‹™ä¸»é«”詳細資料時發生錯誤: %s", + "loc.messages.FindMoreDeploymentDetailsAzurePortal": "工作已æˆåŠŸå»ºç«‹ Azure Resource Manager 部署,但部署失敗。請在下列ä½ç½®æŸ¥çœ‹è©³ç´°çš„ Azure Resource Manager 部署記錄: (請複製並貼上連çµ) %s", + "loc.messages.ManagedServiceIdentityDetails": "請確定已將資æºç¾¤çµ„ %s çš„é©ç•¶è§’色指派給用於部署的å—控æœå‹™è­˜åˆ¥ã€‚如需詳細資料,請åƒé–±æ­¤é€£çµ: https://docs.microsoft.com/zh-tw/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal (機器翻譯)", + "loc.messages.CompleteDeploymentModeNotSupported": "'%s' 範åœä¸­çš„部署ä¸æ”¯æ´ã€Œå®Œæˆã€éƒ¨ç½²æ¨¡å¼", + "loc.messages.TemplateValidationFailure": "在 Azure Resource Manager 範本中發ç¾é©—證錯誤。此情æ³å¯èƒ½æœƒé€ æˆç¯„本部署失敗。%s。請å‰å¾€ https://docs.microsoft.com/zh-tw/azure/azure-resource-manager/templates/template-syntax (機器翻譯)", + "loc.messages.TroubleshootingGuide": "è«‹åƒé–±ç–‘難排解手冊,查看å•é¡Œæ˜¯å¦å·²è§£æ±º: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "loc.messages.IncompatibleAzureCLIVersion": "Azure CLI 版本應 >= 2.20.0", + "loc.messages.AzureCLINotFound": "在代ç†ç¨‹å¼ä¸Šæ‰¾ä¸åˆ° Azure CLI。", + "loc.messages.FailedToFetchAzureCLIVersion": "無法從代ç†ç¨‹å¼æ“·å– AZ CLI 版本。錯誤: %s", + "loc.messages.BicepBuildFailed": "「az bicep 組建ã€å¤±æ•—。錯誤: %s", + "loc.messages.BicepFileCleanupFailed": "無法刪除 Bicep 檔案。錯誤: %s" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSM.json b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSM.json new file mode 100644 index 000000000000..8b9823e55ee7 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSM.json @@ -0,0 +1,8 @@ +{ + "parameters": { + "param": { + "value": false, + "toBeRemoved": true + } + } +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicep b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicep new file mode 100644 index 000000000000..69219e35cb2b --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicep @@ -0,0 +1,18 @@ +param location string = 'eastasia' + +var storageAccountName = 'deepak2121' +var storageAccountType = 'Premium_LRS' + +resource storageAccount 'Microsoft.Storage/storageAccounts@2021-01-01' = { + name: toLower(take(storageAccountName, 24)) + location: location + sku: { + name: storageAccountType + } + kind: 'StorageV2' +} + +output storageAccount_Name string = storageAccount.name +output storageAccount_Location string = storageAccount.location +output storageAccount_SKUName string = storageAccount.sku.name +output storageAccount_Kind string = storageAccount.kind diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicepparam b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicepparam new file mode 100644 index 000000000000..358b83b8dc21 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicep.bicepparam @@ -0,0 +1,3 @@ +using 'CSMwithBicep.bicep' + +param location = 'eastasia' diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicepWithError.bicep b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicepWithError.bicep new file mode 100644 index 000000000000..f11f9841591b --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicepWithError.bicep @@ -0,0 +1,20 @@ +param location string = 'eastasia' + +var storageAccountName_var = 'deepak2121' +var storageAccountType = 'Premium_LRS' + +randomstring + +resource storageAccount 'Microsoft.Storage/storageAccounts@2021-01-01' = { + name: toLower(take(storageAccountName_var, 24)) + location: location + sku: { + name: storageAccountType + } + kind: 'StorageV2' +} + +output storageAccount_Name string = storageAccount.name +output storageAccount_Location string = storageAccount.location +output storageAccount_SKUName string = storageAccount.sku.name +output storageAccount_Kind string = storageAccount.kind \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicepWithWarning.bicep b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicepWithWarning.bicep new file mode 100644 index 000000000000..ee96f96d64bf --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithBicepWithWarning.bicep @@ -0,0 +1,19 @@ +param location string = 'eastasia' +param unusedParam string = 'test' + +var storageAccountName_var = 'deepak2121' +var storageAccountType = 'Premium_LRS' + +resource storageAccount 'Microsoft.Storage/storageAccounts@2021-01-01' = { + name: toLower(take(storageAccountName_var, 24)) + location: location + sku: { + name: storageAccountType + } + kind: 'StorageV2' +} + +output storageAccount_Name string = storageAccount.name +output storageAccount_Location string = storageAccount.location +output storageAccount_SKUName string = storageAccount.sku.name +output storageAccount_Kind string = storageAccount.kind \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithComments.json b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithComments.json new file mode 100644 index 000000000000..786f77ba1304 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/CSMwithComments.json @@ -0,0 +1,5 @@ +{ + // This json file has comments + "var": "value ending with escaped character\\\"\\\\" + /*some Comment After the escaped Character */ +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/L0.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/L0.ts new file mode 100644 index 000000000000..f8fb2d0a8e24 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/L0.ts @@ -0,0 +1,267 @@ +'use strict'; + +const assert = require('assert'); +const ttm = require('azure-pipelines-task-lib/mock-test'); +const path = require('path'); +import fs = require("fs"); + +function setResponseFile(name) { + process.env['MOCK_RESPONSES'] = path.join(__dirname, name); +} + +describe('Azure Resource Manager Template Deployment', function () { + this.timeout(120000); + before((done) => { + done(); + }); + after(function () { + }); + + process.env['AGENT_HOMEDIRECTORY'] = process.env['AGENT_HOMEDIRECTORY'] || "C:\\temp\\agent\\home"; + if (!fs.existsSync(process.env['AGENT_HOMEDIRECTORY'])){ + fs.mkdirSync(process.env['AGENT_HOMEDIRECTORY']); + } + process.env['BUILD_SOURCESDIRECTORY'] = process.env['BUILD_SOURCESDIRECTORY'] || "C:\\temp\\agent\\home\\sources"; + if (!fs.existsSync(process.env['BUILD_SOURCESDIRECTORY'])){ + fs.mkdirSync(process.env['BUILD_SOURCESDIRECTORY']); + } + process.env['SYSTEM_DEFAULTWORKINGDIRECTORY'] = process.env['SYSTEM_DEFAULTWORKINGDIRECTORY'] || "C:\\temp\\agent\\home"; + if (!fs.existsSync(process.env['SYSTEM_DEFAULTWORKINGDIRECTORY'])){ + fs.mkdirSync(process.env['SYSTEM_DEFAULTWORKINGDIRECTORY']); + } + process.env["AGENT_TEMPDIRECTORY"] = process.env["AGENT_TEMPDIRECTORY"] || "C:\\temp\\agent\\home\\temp"; + if (!fs.existsSync(process.env['AGENT_TEMPDIRECTORY'])){ + fs.mkdirSync(process.env['AGENT_TEMPDIRECTORY']); + } + +// uncomment to get test traces +// process.env['TASK_TEST_TRACE'] = "1"; + + /*it('Successfully triggered createOrUpdate deployment', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSM.json"; + process.env["csmParametersFile"] = "CSM.json"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.succeeded, "Should have succeeded"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") > 0, "deployments.createOrUpdate function should have been called from azure-sdk"); + assert(tr.stdout.indexOf("set ") < 0, "deploymentsOutput should not have been updated"); + assert(tr.stdout.indexOf("properly sanitized") > 0, "Parameters should have been sanitized"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + });*/ + it('Successfully triggered createOrUpdate deployment and updated deploymentOutputs', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSM.json"; + process.env["csmParametersFile"] = "CSM.json"; + process.env["deploymentOutputs"] = "someVar"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.succeeded, "Should have succeeded"); + assert(tr.stdout.indexOf("properly sanitized") > 0, "Parameters should have been sanitized"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") > 0, "deployments.createOrUpdate function should have been called from azure-sdk"); + assert(tr.stdout.indexOf("##vso[task.setvariable variable=someVar;]") >= 0, "deploymentsOutput should have been updated"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + it('Create or Update RG, failed on faulty CSM template file', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "faultyCSM.json"; + process.env["csmParametersFile"] = "faultyCSM.json"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.failed, "Task should have failed"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") == -1, "Task should have failed before calling deployments.createOrUpdate function from azure-sdk"); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + done(); + }); + it('Create or Update RG, succeeded on CSM template file with comments', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSMwithComments.json"; + process.env["csmParametersFile"] = "CSMwithComments.json"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.succeeded, "Should have succeeded"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") > 0, "deployments.createOrUpdate function should have been called from azure-sdk"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + it('createOrUpdate deployment should fail when no template file is found', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSMNotThere.json"; + process.env["csmParametersFile"] = "CSM.json"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(!tr.succeeded, "Should have failed"); + assert(tr.stdout.indexOf("TemplateFilePatternMatchingNoFile") > 0, "should have printed TemplateFilePatternMatchingNoFile") + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") < 0, "deployments.createOrUpdate function should not have been called from azure-sdk"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + + it('createOrUpdate deployment should fail when multiple template files are found', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSMmultiple.json"; + process.env["csmParametersFile"] = "CSM.json"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(!tr.succeeded, "Should have failed"); + assert(tr.stdout.indexOf("TemplateFilePatternMatchingMoreThanOneFile") > 0, "should have printed TemplateFilePatternMatchingMoreThanOneFile") + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") < 0, "deployments.createOrUpdate function should not have been called from azure-sdk"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + + it('createOrUpdate deployment should fail when no parameter file is found', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSM.json"; + process.env["csmParametersFile"] = "CSMNotThere.json"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(!tr.succeeded, "Should have failed"); + assert(tr.stdout.indexOf("TemplateParameterFilePatternMatchingNoFile") > 0, "should have printed TemplateParameterFilePatternMatchingNoFile") + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") < 0, "deployments.createOrUpdate function should not have been called from azure-sdk"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + + it('createOrUpdate deployment should fail when multiple template files are found', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSM.json"; + process.env["csmParametersFile"] = "CSMmultiple.json"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(!tr.succeeded, "Should have failed"); + assert(tr.stdout.indexOf("TemplateParameterFilePatternMatchingMoreThanOneFile") > 0, "should have printed TemplateFilePatternMatchingMoreThanOneFile") + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") < 0, "deployments.createOrUpdate function should not have been called from azure-sdk"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + + it('Successfully triggered createOrUpdate deployment using bicep file', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSMwithBicep.bicep"; + process.env["csmParametersFile"] = ""; + process.env["deploymentOutputs"] = "someVar"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.succeeded, "Should have succeeded"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") > 0, "deployments.createOrUpdate function should have been called from azure-sdk"); + assert(tr.stdout.indexOf("##vso[task.setvariable variable=someVar;]") >= 0, "deploymentsOutput should have been updated"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + + it('Successfully triggered createOrUpdate deployment using bicep file with unused params', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSMwithBicepWithWarning.bicep"; + process.env["csmParametersFile"] = ""; + process.env["deploymentOutputs"] = "someVar"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.succeeded, "Should have succeeded"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") > 0, "deployments.createOrUpdate function should have been called from azure-sdk"); + assert(tr.stdout.indexOf("##vso[task.setvariable variable=someVar;]") >= 0, "deploymentsOutput should have been updated"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + + it('Successfully triggered createOrUpdate deployment using bicep file with bicepparam file', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSMwithBicep.bicep"; + process.env["csmParametersFile"] = "CSMwithBicep.bicepparam"; + process.env["deploymentOutputs"] = "someVar"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.succeeded, "Should have succeeded"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") > 0, "deployments.createOrUpdate function should have been called from azure-sdk"); + assert(tr.stdout.indexOf("##vso[task.setvariable variable=someVar;]") >= 0, "deploymentsOutput should have been updated"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + + // it('createOrUpdate deployment should fail when bicep file contains error', (done) => { + // let tp = path.join(__dirname, 'createOrUpdate.js'); + // process.env["csmFile"] = "CSMwithBicepWithError.bicep"; + // process.env["csmParametersFile"] = ""; + // let tr = new ttm.MockTestRunner(tp); + // tr.run(); + // try { + // assert(!tr.succeeded, "Should have failed"); + // assert(tr.stdout.indexOf("This declaration type is not recognized. Specify a parameter, variable, resource, or output declaration.") > 0, "should have printed the error message") + // assert(tr.stdout.indexOf("deployments.createOrUpdate is called") < 0, "deployments.createOrUpdate function should not have been called from azure-sdk"); + // done(); + // } + // catch (error) { + // console.log("STDERR", tr.stderr); + // console.log("STDOUT", tr.stdout); + // done(error); + // } + // }); +}); diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/createOrUpdate.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/createOrUpdate.ts new file mode 100644 index 000000000000..c4c7d9ebc73c --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/createOrUpdate.ts @@ -0,0 +1,104 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +const fs = require('fs'); +var cpExec = require('child_process').execSync; + +let taskPath = path.join(__dirname, '..', 'main.js'); +let tr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); + +tr.setInput("action", "Create Or Update Resource Group"); +tr.setInput("ConnectedServiceName", "AzureRM"); +tr.setInput("resourceGroupName", "dummy"); +tr.setInput("location", "West US"); +tr.setInput("templateLocation", "Linked artifact") +tr.setInput("csmFile", process.env["csmFile"]); +tr.setInput("overrideParameters", ""); +tr.setInput("deploymentMode", "Complete"); +tr.setInput("enableDeploymentPrerequisites", "None"); +tr.setInput("csmParametersFile", process.env["csmParametersFile"]); +tr.setInput("deploymentOutputs", !!process.env["deploymentOutputs"] ? process.env["deploymentOutputs"] : ""); + +process.env["ENDPOINT_AUTH_AzureRM"] = "{\"parameters\":{\"serviceprincipalid\":\"id\",\"serviceprincipalkey\":\"key\",\"tenantid\":\"tenant\"},\"scheme\":\"ServicePrincipal\"}"; +process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_SERVICEPRINCIPALID"] = "id"; +process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_SERVICEPRINCIPALKEY"] = "key"; +process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_TENANTID"] = "tenant"; +process.env["ENDPOINT_DATA_AzureRM_SUBSCRIPTIONID"] = "sId"; +process.env["ENDPOINT_DATA_AzureRM_SUBSCRIPTIONNAME"] = "sName"; +process.env["ENDPOINT_URL_AzureRM"] = "https://management.azure.com/"; +process.env["ENDPOINT_DATA_AzureRM_ENVIRONMENTAUTHORITYURL"] = "https://login.windows.net/"; +process.env["ENDPOINT_DATA_AzureRM_ACTIVEDIRECTORYSERVICEENDPOINTRESOURCEID"] = "https://management.azure.com"; +process.env["ENDPOINT_AUTH_SCHEME_AzureRM"] = "serviceprincipal"; +process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_AUTHENTICATIONTYPE"] = "key"; + +var CSMJson = path.join(__dirname, "CSM.json"); +var CSMBicep = path.join(__dirname, "CSMwithBicep.bicep"); +var CSMBicepParam = path.join(__dirname, "CSMwithBicep.bicepparam"); +var CSMBicepWithWarning = path.join(__dirname, "CSMwithBicepWithWarning.bicep"); +var CSMBicepWithError = path.join(__dirname, "CSMwithBicepWithError.bicep"); +var CSMwithComments = path.join(__dirname, "CSMwithComments.json"); +var defaults = path.join(__dirname, "defaults.json"); +var faultyCSM = path.join(__dirname, "faultyCSM.json"); +var bicepbuildCmd = `az bicep build --file ${path.join(__dirname, "CSMwithBicep.bicep")}`; +var bicepparambuildCmd = `az bicep build-params --file ${path.join(__dirname, "CSMwithBicep.bicepparam")} --outfile ${path.join(__dirname, "CSMwithBicep.parameters.json")}`; +var bicepbuildwithWarning = `az bicep build --file ${path.join(__dirname, "CSMwithBicepWithWarning.bicep")}`; +var azloginCommand = `az login --service-principal -u "id" --password="key" --tenant "tenant" --allow-no-subscriptions`; +var azaccountSet = `az account set --subscription "sId"`; +var azlogoutCommand = `az account clear` + +var exec = {} +const successExec = { + "code": 0, + "stdout": "Executed Successfully" +} +exec[bicepbuildCmd] = successExec; +exec[bicepparambuildCmd] = successExec; +exec[bicepbuildwithWarning] = successExec; +exec[azloginCommand] = successExec; +exec[azaccountSet] = successExec; +exec[azlogoutCommand] = successExec; + +let a: ma.TaskLibAnswers = { + "which": { + "az": "az" + }, + "checkPath": { + "az": true + }, + exec, + "findMatch": { + "CSM.json": [CSMJson], + "CSMwithBicep.bicep": [CSMBicep], + "CSMwithBicep.bicepparam": [CSMBicepParam], + "CSMwithBicepWithWarning.bicep": [CSMBicepWithWarning], + "CSMwithBicepWithError.bicep": [CSMBicepWithError], + "CSMwithComments.json": [CSMwithComments], + "defaults.json": [defaults], + "faultyCSM.json": [faultyCSM], + "CSMNotThere.json": [], + "CSMmultiple.json": [CSMJson, CSMJson], + "": [""] + } +}; + +process.env["MOCK_NORMALIZE_SLASHES"] = "true"; +tr.setAnswers(a); + +tr.registerMock('azure-pipelines-task-lib/toolrunner', require('azure-pipelines-task-lib/mock-toolrunner')); +tr.registerMock('azure-pipelines-tasks-azure-arm-rest/azure-arm-resource', require('./mock_node_modules/azure-arm-resource')); + +const fsClone = Object.assign({}, fs); +fsClone.readFileSync = function(fileName: string): Buffer { + if (fileName.indexOf("CSMwithBicep.json") >= 0 || fileName.indexOf("CSMwithBicepWithWarning.json") >= 0) { + const filePath = fileName.replace('.json', '.bicep'); + cpExec(`az bicep build --file ${filePath}`); + } + else if (fileName.indexOf("CSMwithBicep.parameters.json") >= 0) { + const filePath = fileName.replace('.parameters.json', '.bicepparam'); + cpExec(`az bicep build-params --file ${filePath} --outfile ${fileName}`); + } + var buffer = fs.readFileSync(fileName); + return buffer; +} +tr.registerMock('fs', fsClone); +tr.run(); \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/defaults.json b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/defaults.json new file mode 100644 index 000000000000..94c57135a556 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/defaults.json @@ -0,0 +1,10 @@ +{ + "getVariable": { + "ENDPOINT_AUTH_AzureRM": "{\"parameters\":{\"serviceprincipalid\":\"id\",\"serviceprincipalkey\":\"key\",\"tenantid\":\"tenant\"},\"scheme\":\"ServicePrincipal\"}", + "ENDPOINT_AUTH_PARAMETER_AzureRM_SERVICEPRINCIPALID": "id", + "ENDPOINT_AUTH_PARAMETER_AzureRM_SERVICEPRINCIPALKEY": "key", + "ENDPOINT_AUTH_PARAMETER_AzureRM_TENANTID": "tenant", + "ENDPOINT_DATA_AzureRM_SUBSCRIPTIONID": "sId", + "ENDPOINT_DATA_AzureRM_SUBSCRIPTIONNAME": "sName" + } +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/deleteResourceGroup.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/deleteResourceGroup.ts new file mode 100644 index 000000000000..a336c5d3e606 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/deleteResourceGroup.ts @@ -0,0 +1,24 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); + +let taskPath = path.join(__dirname, '..', 'main.js'); +let tr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); + +tr.setInput("action", "DeleteRG"); +tr.setInput("ConnectedServiceName", "AzureRM"); +tr.setInput("resourceGroupName", "dummy"); + +process.env[ "ENDPOINT_AUTH_AzureRM"] = "{\"parameters\":{\"serviceprincipalid\":\"id\",\"serviceprincipalkey\":\"key\",\"tenantid\":\"tenant\"},\"scheme\":\"ServicePrincipal\"}"; +process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_SERVICEPRINCIPALID"] = "id"; +process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_SERVICEPRINCIPALKEY"] = "key"; +process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_TENANTID"] = "tenant"; +process.env["ENDPOINT_DATA_AzureRM_SUBSCRIPTIONID"] = "sId"; +process.env["ENDPOINT_DATA_AzureRM_SUBSCRIPTIONNAME"] = "sName"; +process.env["ENDPOINT_URL_AzureRM"] = "https://management.azure.com/"; +process.env["ENDPOINT_DATA_AzureRM_ENVIRONMENTAUTHORITYURL"] = "https://login.windows.net/"; +process.env["ENDPOINT_DATA_AzureRM_ACTIVEDIRECTORYSERVICEENDPOINTRESOURCEID"] = "https://management.azure.com"; + +tr.registerMock('azure-pipelines-task-lib/toolrunner', require('azure-pipelines-task-lib/mock-toolrunner')); +tr.registerMock('azure-pipelines-tasks-azure-arm-rest/azure-arm-resource', require('./mock_node_modules/azure-arm-resource')); +tr.run(); \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/faultyCSM.json b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/faultyCSM.json new file mode 100644 index 000000000000..8bb8e97c3c03 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/faultyCSM.json @@ -0,0 +1,3 @@ +{ + "parameters" +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/LICENSE.txt b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/LICENSE.txt new file mode 100644 index 000000000000..a28827c2b848 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/README.md b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/README.md new file mode 100644 index 000000000000..1e5d74dd51ed --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/README.md @@ -0,0 +1,147 @@ +# Microsoft Azure SDK for Node.js - Resource Management + +This project provides a Node.js package that makes it easy to manage Azure resources. Right now it supports: +- **Node.js version: 4.x.x or higher** +- **API version: 2016-02-01** + +## Features + + - TODO + +## How to Install + +```bash +npm install azure-arm-resource +``` + +## How to Use + +### Authentication, client creation and listing resources as an example + + ```javascript + var msRestAzure = require('ms-rest-azure'); + var resourceManagement = require("azure-arm-resource"); + + // Interactive Login + msRestAzure.interactiveLogin(function(err, credentials) { + var client = new resourceManagement.ResourceManagementClient(credentials, groupName, 'your-subscription-id'); + client.resources.list(function(err, result) { + if (err) console.log(err); + console.log(result); + }); + }); + ``` + +## Creating a Resource Group + +```javascript +var util = require('util'); +var groupParameters = { + location: 'West US', + tags: { + tag1: 'val1', + tag2: 'val2' + } +}; +client.resourceGroup.createOrUpdate(groupParameters, function (err, result, request, response) { + if (err) { + console.log(err); + /*err has reference to the actual request and response, so you can see what was sent and received on the wire. + The structure of err looks like this: + err: { + code: 'Error Code', + message: 'Error Message', + body: 'The response body if any', + request: reference to a stripped version of http request + response: reference to a stripped version of the response + } + */ + } else { + console.log('result is: ' + util.inspect(result, {depth: null})); + } +}); +``` + +## Create a Generic Resource in a Resource Group + +```javascript +var resourceName = 'autorestsite102'; +var params = { 'location': 'West US', 'properties' : { 'SiteMode': 'Limited', 'ComputeMode': 'Shared' }, 'Name': resourceName }; +var resourceType = 'sites'; +var parentResourcePath = ''; +var resourceProviderNamespace = 'Microsoft.Web'; +var apiVersion = '2014-04-01'; +client.resources.createOrUpdate(, parentResourcePath, + resourceType, resourceName , apiVersion, params, function (err, result, request, response) { + if (err) { + console.log(err); + } else { + console.log(result); + } +}); +``` + +## Get a Generic Resource in a Resource Group + +```javascript +var resourceName = 'autorestsite102'; +var resourceType = 'sites'; +var parentResourcePath = ''; +var resourceProviderNamespace = 'Microsoft.Web'; +var apiVersion = '2014-04-01'; +client.resources.get(resourceProviderNamespace, parentResourcePath, + resourceType, resourceName, apiVersion, function (err, result, request, response) { + if (err) { + console.log(err); + } else { + console.log(result); + } +}); +``` + +## Listing all resources in your subscription + +```javascript +client.resources.list(function (err, result, request, response) { + if (err) { + console.log(err); + } else { + console.log(result); + } +}); +``` + +## Deleting a Generic Resource in a Resource Group + +```javascript +var resourceName = 'autorestsite102'; +var resourceType = 'sites'; +var parentResourcePath = ''; +var resourceProviderNamespace = 'Microsoft.Web'; +var apiVersion = '2014-04-01'; +client.resources.deleteMethod(resourceProviderNamespace, parentResourcePath, + resourceType, resourceName, apiVersion, function (err, result, request, response) { + if (err) { + console.log(err); + } else { + console.log(result); + } +}); +``` + +## Deleting the Resource Group + +```javascript +client.resourceGroup.deleteMethod(function (err, result, request, response) { + if (err) { + console.log(err); + } else { + console.log(result); + } +}); +``` +Please take a look at the tests over [here](https://github.com/Azure/azure-sdk-for-node/tree/autorest/test/services/resourceManagement) for more examples. + +## Related projects + +- [Microsoft Azure SDK for Node.js - All-up](https://github.com/Azure/azure-sdk-for-node) diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource.js b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource.js new file mode 100644 index 000000000000..454f46b21f40 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource.js @@ -0,0 +1,20 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +'use strict'; + +exports.ResourceManagementClient = require('./resource/resourceManagementClient'); + +exports = module.exports; \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/index.js b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/index.js new file mode 100644 index 000000000000..e7b9d2093baa --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/index.js @@ -0,0 +1,18 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +/* jshint latedef:false */ +/* jshint forin:false */ +/* jshint noempty:false */ + +'use strict'; + +exports.ResourceGroupDeployments = require('./resourceGroupDeployments'); +exports.ResourceGroup = require('./resourceGroup'); diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/resourceGroup.js b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/resourceGroup.js new file mode 100644 index 000000000000..ecbcb9023831 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/resourceGroup.js @@ -0,0 +1,87 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +var util = require('util'); + +/** + * @class + * ResourceGroup + * __NOTE__: An instance of this class is automatically created for an + * instance of the ResourceManagementClient. + * Initializes a new instance of the ResourceGroup class. + * @constructor + * + * @param {ResourceManagementClient} client Reference to the service client. + */ +function ResourceGroup(client) { + this.client = client; +} + +ResourceGroup.prototype.createOrUpdate = function (parameters, callback) { + console.log("resourceGroup.createOrUpdate is called") + var client = this.client; + if (!callback) { + throw new Error('callback cannot be null.'); + } + // Validate + try { + if (client.resourceGroupName === null || client.resourceGroupName === undefined || typeof client.resourceGroupName.valueOf() !== 'string') { + throw new Error('client.resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (client.resourceGroupName !== null && client.resourceGroupName !== undefined) { + if (client.resourceGroupName.length > 90) + { + throw new Error('"client.resourceGroupName" should satisfy the constraint - "MaxLength": 90'); + } + if (client.resourceGroupName.length < 1) + { + throw new Error('"client.resourceGroupName" should satisfy the constraint - "MinLength": 1'); + } + if (client.resourceGroupName.match(/^[-\w\._\(\)]+$/) === null) + { + throw new Error('"client.resourceGroupName" should satisfy the constraint - "Pattern": /^[-\w\._\(\)]+$/'); + } + } + if (parameters === null || parameters === undefined) { + throw new Error('parameters cannot be null or undefined.'); + } + if (this.client.apiVersion === null || this.client.apiVersion === undefined || typeof this.client.apiVersion.valueOf() !== 'string') { + throw new Error('this.client.apiVersion cannot be null or undefined and it must be of type string.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + callback(null, true); +}; + +ResourceGroup.prototype.deleteMethod = function (callback) { + console.log("resourceGroup.deleteMethod is called") + var client = this.client; + + if (!callback) { + throw new Error('callback cannot be null.'); + } + +}; + +ResourceGroup.prototype.checkExistence = function (callback) { + console.log("resourceGroup.checkExistence is called") + return callback(null, true); +} + +module.exports = ResourceGroup; diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/resourceGroupDeployments.js b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/resourceGroupDeployments.js new file mode 100644 index 000000000000..ce19d5ace71c --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/operations/resourceGroupDeployments.js @@ -0,0 +1,37 @@ +'use strict'; + +var util = require('util'); + +function ResourceGroupDeployments(client) { + this.client = client; +} + +ResourceGroupDeployments.prototype.createOrUpdate = function (deploymentName, parameters, callback) { + console.log("deployments.createOrUpdate is called") + + if (!callback && typeof options === 'function') { + callback = options; + options = null; + } + console.log(JSON.stringify(parameters)); + if (!!parameters["properties"] && !!parameters["properties"]["parameters"] && !!parameters["properties"]["parameters"]["param"]) { + if (!!parameters["properties"]["parameters"]["param"]["toBeRemoved"]) { + console.log("not sanitized"); + } + else { + console.log("properly sanitized"); + } + } + + if (!callback) { + throw new Error('callback cannot be null.'); + } + return callback(null, { + properties: { + outputs: {} + } + }) +}; + + +module.exports = ResourceGroupDeployments; diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/resourceManagementClient.js b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/resourceManagementClient.js new file mode 100644 index 000000000000..ba61d7574010 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/lib/resource/resourceManagementClient.js @@ -0,0 +1,45 @@ + +'use strict'; + +var util = require('util'); + +var operations = require('./operations'); +function ResourceManagementClient(credentials, resourceGroupName, subscriptionId, baseUri, options) { + this.apiVersion = '2016-07-01'; + this.acceptLanguage = 'en-US'; + this.longRunningOperationRetryTimeout = 30; + this.generateClientRequestId = true; + if (credentials === null || credentials === undefined) { + throw new Error('\'credentials\' cannot be null.'); + } + if (subscriptionId === null || subscriptionId === undefined) { + throw new Error('\'subscriptionId\' cannot be null.'); + } + if (!options) options = {}; + + this.baseUri = baseUri; + if (!this.baseUri) { + this.baseUri = 'https://management.azure.com'; + } + this.credentials = credentials; + this.subscriptionId = subscriptionId; + + if (options.apiVersion !== null && options.apiVersion !== undefined) { + this.apiVersion = options.apiVersion; + } + if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + this.acceptLanguage = options.acceptLanguage; + } + if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; + } + if (options.generateClientRequestId !== null && options.generateClientRequestId !== undefined) { + this.generateClientRequestId = options.generateClientRequestId; + } + this.deployments = new operations.ResourceGroupDeployments(this); + this.resourceGroup = new operations.ResourceGroup(this); + this.resourceGroupName = resourceGroupName; +} + + +module.exports = ResourceManagementClient; diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/package.json b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/package.json new file mode 100644 index 000000000000..31f81ceb3e5a --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/Tests/mock_node_modules/azure-arm-resource/package.json @@ -0,0 +1,108 @@ +{ + "_args": [ + [ + { + "raw": "azure-arm-resource@1.5.1-preview", + "scope": null, + "escapedName": "azure-arm-resource", + "name": "azure-arm-resource", + "rawSpec": "1.5.1-preview", + "spec": "1.5.1-preview", + "type": "version" + }, + "D:\\git\\vsts-tasks\\Tasks\\DeployAzureResourceGroup" + ] + ], + "_from": "azure-arm-resource@1.5.1-preview", + "_id": "azure-arm-resource@1.5.1-preview", + "_inCache": true, + "_installable": true, + "_location": "/azure-arm-resource", + "_nodeVersion": "4.4.7", + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/azure-arm-resource-1.5.1-preview.tgz_1472854031051_0.035985670518130064" + }, + "_npmUser": { + "name": "windowsazure", + "email": "azuresdk@outlook.com" + }, + "_npmVersion": "3.10.5", + "_phantomChildren": {}, + "_requested": { + "raw": "azure-arm-resource@1.5.1-preview", + "scope": null, + "escapedName": "azure-arm-resource", + "name": "azure-arm-resource", + "rawSpec": "1.5.1-preview", + "spec": "1.5.1-preview", + "type": "version" + }, + "_requiredBy": [ + "#DEV:/" + ], + "_resolved": "https://registry.npmjs.org/azure-arm-resource/-/azure-arm-resource-1.5.1-preview.tgz", + "_shasum": "2f8666289f24927aa08331e60d368b11474cf68e", + "_shrinkwrap": null, + "_spec": "azure-arm-resource@1.5.1-preview", + "_where": "D:\\git\\vsts-tasks\\Tasks\\DeployAzureResourceGroup", + "author": { + "name": "Microsoft Corporation" + }, + "bugs": { + "url": "http://github.com/Azure/azure-sdk-for-node/issues" + }, + "contributors": [ + { + "name": "Wang, Yugang", + "email": "yugangw@microsoft.com" + }, + { + "name": "Zavery, Amar", + "email": "amzavery@microsoft.com" + }, + { + "name": "Srinivasan, Vivek", + "email": "visriniv@microsoft.com" + } + ], + "dependencies": { + "ms-rest": "^1.14.0", + "ms-rest-azure": "^1.14.0" + }, + "description": "Microsoft Azure Resource Management Client Library for node", + "devDependencies": {}, + "directories": {}, + "dist": { + "shasum": "2f8666289f24927aa08331e60d368b11474cf68e", + "tarball": "https://registry.npmjs.org/azure-arm-resource/-/azure-arm-resource-1.5.1-preview.tgz" + }, + "homepage": "http://github.com/Azure/azure-sdk-for-node", + "keywords": [ + "node", + "azure" + ], + "license": "MIT", + "main": "./lib/resource.js", + "maintainers": [ + { + "name": "windowsazure", + "email": "azuresdk@outlook.com" + } + ], + "name": "azure-arm-resource", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/Azure/azure-sdk-for-node.git" + }, + "scripts": { + "test": "npm -s run-script jshint" + }, + "tags": [ + "azure", + "sdk" + ], + "version": "1.5.1-preview" +} diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/ThirdPartyNotices.txt b/_generated/AzureResourceManagerTemplateDeploymentV3/ThirdPartyNotices.txt new file mode 100644 index 000000000000..40df19c248e4 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/ThirdPartyNotices.txt @@ -0,0 +1,1138 @@ + +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do Not Translate or Localize + +Azure Resource Management Template Deployment Task incorporates third party material from the projects listed below. The original copyright notice and the license under which Microsoft received such third party material are set forth below. Microsoft reserves all other rights not expressly granted, whether by implication, estoppel or otherwise. + + +1. balanced-match (https://github.com/juliangruber/balanced-match) +2. brace-expansion (https://github.com/juliangruber/brace-expansion) +3. buffer-equal-constant-time (https://github.com/salesforce/buffer-equal-constant-time) +4. concat-map (https://github.com/substack/node-concat-map) +5. hoek (https://github.com/hapijs/hoek) + Includes:Deep-eql +6. isemail (https://github.com/hapijs/isemail) +7. joi (https://github.com/hapijs/joi) +8. jsonwebtoken (https://github.com/auth0/node-jsonwebtoken) +9. lodash.once (https://github.com/lodash/lodash) +10. minimatch (https://github.com/isaacs/minimatch) +11. Mockery (https://github.com/mfncooper/mockery) +12. Moment (https://github.com/moment/moment) + Includes:Files with code from Closure +13. ms (https://github.com/zeit/ms) +14. Node.js (https://nodejs.org/) +15. node-ecdsa-sig-formatter (https://github.com/Brightspace/node-ecdsa-sig-formatter) +16. node-jwa (https://github.com/brianloveswords/node-jwa) +17. node-jws (https://github.com/brianloveswords/node-jws) +18. node-uuid (https://github.com/broofa/node-uuid/) +19. OpenSSL (http://www.openssl.org) +20. Q (https://github.com/kriskowal/q) +21. safe-buffer (https://github.com/feross/safe-buffer) +22. sax js (https://github.com/isaacs/sax-js) +23. semver (https://github.com/npm/node-semver/) +24. ShellJS (https://github.com/shelljs/shelljs) +25. topo (https://github.com/hapijs/topo) +26. tunnel (https://github.com/koichik/node-tunnel) +27. underscore.js (http://underscorejs.org/; https://github.com/jashkenas/underscore) +28. vso-node-api (https://github.com/Microsoft/vsts-node-api) +29. azure-pipelines-task-lib (https://github.com/Microsoft/azure-pipelines-task-lib) +30. Xml2JS (https://github.com/Leonidas-from-XIV/node-xml2js) +31. Xmlbuilder (https://github.com/oozcitak/xmlbuilder-js) +32. xtend (https://github.com/Raynos/xtend) +33. @types/node (https://www.github.com/DefinitelyTyped/DefinitelyTyped.git) +34. @types/q (https://www.github.com/DefinitelyTyped/DefinitelyTyped.git) +35. @types/mocha (https://github.com/DefinitelyTyped/DefinitelyTyped.git) + + +%% balanced-match NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(MIT) + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +========================================= +END OF balanced-match NOTICES, INFORMATION, AND LICENSE + +%% brace-expansion NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(MIT) + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +========================================= +END OF brace-expansion NOTICES, INFORMATION, AND LICENSE + +%% buffer-equal-constant-time NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2013, GoInstant Inc., a salesforce.com company +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF buffer-equal-constant-time NOTICES, INFORMATION, AND LICENSE + +%% concat-map NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) James Halliday/substack + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF concat-map NOTICES, INFORMATION, AND LICENSE + +%% hoek NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= + +Copyright (c) 2011-2014, Walmart and other contributors. +Copyright (c) 2011, Yahoo Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + +The complete list of contributors can be found at: https://github.com/hapijs/hapi/graphs/contributors +Portions of this project were initially based on the Yahoo! Inc. Postmile project, +published at https://github.com/yahoo/postmile. +========================================= +Includes code from Deep-eql + +Copyright (c) 2013 Jake Luer jake@alogicalparadox.com + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF hoek NOTICES, INFORMATION, AND LICENSE + +%% isemail NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2008-2011, Dominic Sayers +Copyright (c) 2013-2014, GlobeSherpa +Copyright (c) 2014-2015, Eli Skeggs + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +- Neither the name of Dominic Sayers nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF isemail NOTICES, INFORMATION, AND LICENSE + +%% joi NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012-2014, Walmart and other contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + +The complete list of contributors can be found at: https://github.com/hapijs/joi/graphs/contributors +========================================= +END OF joi NOTICES, INFORMATION, AND LICENSE + +%% jsonwebtoken NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2015 Auth0, Inc. (http://auth0.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF jsonwebtoken NOTICES, INFORMATION, AND LICENSE + +%% lodash.once NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.once NOTICES, INFORMATION, AND LICENSE + +%% minimatch NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF minimatch NOTICES, INFORMATION, AND LICENSE + +%% Mockery NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyrights for code authored by Yahoo! Inc. is licensed under the following +terms: + + MIT License + + Copyright (c) 2011 Yahoo! Inc. All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +========================================= +END OF Mockery NOTICES, INFORMATION, AND LICENSE + +%% Moment NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +Files with code from Closure + +Copyright (c) 2006 The Closure Library Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +========================================= +END OF Moment NOTICES, INFORMATION, AND LICENSE + +%% ms NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2014 Guillermo Rauch +Copyright (c) 2016 Zeit, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the Software), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF ms NOTICES, INFORMATION, AND LICENSE + +%% Node.js NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +The Node.js license applies to all parts of Node.js that are not externally +maintained libraries. +========================================= +END OF Node.js NOTICES, INFORMATION, AND LICENSE + +%% node-ecdsa-sig-formatter NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= + Copyright 2015 D2L Corporation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +========================================= +END OF node-ecdsa-sig-formatter NOTICES, INFORMATION, AND LICENSE + +%% node-jwa NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2013 Brian J. Brennan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF node-jwa NOTICES, INFORMATION, AND LICENSE + +%% node-jws NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2013 Brian J. Brennan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF node-jws NOTICES, INFORMATION, AND LICENSE + +%% node-uuid NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2010-2012 Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF node-uuid NOTICES, INFORMATION, AND LICENSE + +%% OpenSSL NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a dual license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. Actually both licenses are BSD-style + Open Source licenses. In case of any license issues related to OpenSSL + please contact openssl-core@openssl.org. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/) + * + * 4. The names OpenSSL Toolkit and OpenSSL Project must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called OpenSSL + * nor may OpenSSL appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/) + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com) + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * This product includes software written by Tim Hudson (tjh@cryptsoft.com) + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] +========================================= +END OF OpenSSL NOTICES, INFORMATION, AND LICENSE + +%% Q NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2009�2014 Kristopher Michael Kowal. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +The file q.js is prefaced by the following additional third-party subcomponent information: + +/*! + * + * Copyright 2009-2012 Kris Kowal under the terms of the MIT + * license found at http://github.com/kriskowal/q/raw/master/LICENSE + * + * With parts by Tyler Close + * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found + * at http://www.opensource.org/licenses/mit-license.html + * Forked at ref_send.js version: 2009-05-11 + * + * With parts by Mark Miller + * Copyright (C) 2011 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +========================================= +END OF Q NOTICES, INFORMATION, AND LICENSE + +%% safe-buffer NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF safe-buffer NOTICES, INFORMATION, AND LICENSE + +%% sax js NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +==== + +`String.fromCodePoint` by Mathias Bynens used according to terms of MIT +License, as follows: + + Copyright Mathias Bynens + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF sax js NOTICES, INFORMATION, AND LICENSE + +%% semver NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF semver NOTICES, INFORMATION, AND LICENSE + +%% ShellJS NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012, Artur Adib +All rights reserved. + +You may use this project under the terms of the New BSD license as follows: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Artur Adib nor the + names of the contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL ARTUR ADIB BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF ShellJS NOTICES, INFORMATION, AND LICENSE + +%% topo NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012-2014, Walmart and other contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + +The complete list of contributors can be found at: https://github.com/hapijs/topo/graphs/contributors +========================================= +END OF topo NOTICES, INFORMATION, AND LICENSE + +%% tunnel NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2012 Koichi Kobayashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF tunnel NOTICES, INFORMATION, AND LICENSE + +%% underscore.js NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2009-2017 Jeremy Ashkenas, DocumentCloud and Investigative +Reporters & Editors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +========================================= +END OF underscore.js NOTICES, INFORMATION, AND LICENSE + +%% vso-node-api NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF vso-node-api NOTICES, INFORMATION, AND LICENSE + +%% azure-pipelines-task-lib NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF azure-pipelines-task-lib NOTICES, INFORMATION, AND LICENSE + +%% Xml2JS NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2010, 2011, 2012, 2013. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF Xml2JS NOTICES, INFORMATION, AND LICENSE + +%% Xmlbuilder NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2013 Ozgur Ozcitak + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF Xmlbuilder NOTICES, INFORMATION, AND LICENSE + +%% xtend NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012-2014 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF xtend NOTICES, INFORMATION, AND LICENSE + +%% @types/mocha NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF @types/mocha NOTICES, INFORMATION, AND LICENSE + +%% @types/node NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF @types/node NOTICES, INFORMATION, AND LICENSE + +%% @types/q NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF @types/q NOTICES, INFORMATION, AND LICENSE \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/icon.png b/_generated/AzureResourceManagerTemplateDeploymentV3/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c06715f15bbe6f29e890b60f6f698bbf87a15c1b GIT binary patch literal 962 zcmV;z13mnSP)GsY4us78~%=;h{@oOFG{O>tTwx?9e}WP*}UI zr)tu?za7>9ow=o@rR$A|o2L23%F4=je!oBO_xpcYUS8g;#M`#B{{H@!LZNU{Ro@2I zRP{o8d;8akM50jS9Q-8nM3dJY0Y()b6V+9R+ zy6(NUwl;4fk;oN^H7`kM+!^zb`%_`O0datC6?xx7?)T8RGgewyTwK)B@0tcO@k1Y} z$RO}j1L6QEaszlhGa9;Bi&xXY$d&AT;F&g@csS%@99HCqI?H`MF|1o)M zZ5m*6b5j6XTU+Z-Kp>*%)sZXN`RAT}a&IPn$aFCdqogX(e^ixYPCOhw8w=i@ytOth zxM_jDS{ge(6qSrPZ-y-~)B@&!IWg37;^D~ISn%#-cJ*o{;bH>i*i(;z3P!FOi2cpc zt|-7{_D=7a2f{UX3*htl{&55i87Mcx)^9Ah>79C7T3RHZ&u^Qr>j)kudU|^5zl0AH z)$YI}Pr$bAer2InURgI1$Pio(M| zU++*?d$M%Ra%_7C48u6$y6&f@X`T>~(=#(OKTiw>=K<@rscf$Zwt`hnxJkqw>hdLv zbCzXwxvu*$@B%Pg-cvD_Xf(Q4M9yuEFGb{?WHPy4tdC6n78OJ6iC4O#0EwHcv)ZKZ z4nOakD{>-{NUO)=u|?z*aA9L(;{(TWHtI4^V#IG4#)rW7sZ{E6Ep9ntvDk4D88Qsx kTr!zlY@~M=yLhCy54@p0Bt1LuQUCw|07*qoM6N<$f + + + + + diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/main.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/main.ts new file mode 100644 index 000000000000..0fb14e3fb14d --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/main.ts @@ -0,0 +1,71 @@ +import tl = require("azure-pipelines-task-lib/task"); +import path = require("path"); + +import armDeployTaskParameters = require("./models/TaskParameters"); +import resourceGroup = require("./operations/ResourceGroup"); +import armResource = require("azure-pipelines-tasks-azure-arm-rest/azure-arm-resource"); +import armManagementGroup = require("azure-pipelines-tasks-azure-arm-rest/azure-arm-management-group"); +import armSubscription = require("azure-pipelines-tasks-azure-arm-rest/azure-arm-subscription"); + +import { DeploymentParameters } from "./operations/DeploymentParameters"; +import { DeploymentScopeBase } from "./operations/DeploymentScopeBase"; + +function run(): Promise { + var taskParameters = new armDeployTaskParameters.TaskParameters(); + return taskParameters.getTaskParameters().then((taskParameters) => { + + //Telemetry + var deploymentScopeTelemetry = { + deploymentScope: taskParameters.deploymentScope, + deploymentMode: taskParameters.deploymentMode + }; + console.log("##vso[telemetry.publish area=TaskDeploymentMethod;feature=AzureResourceManagerTemplateDeployment]" + JSON.stringify(deploymentScopeTelemetry)); + + if(taskParameters.deploymentScope === "Management Group"){ + var deploymentParameters = new DeploymentParameters({}, taskParameters.location); + var managementGroupOperationsController = new DeploymentScopeBase( + new armManagementGroup.ManagementGroupManagementClient( + taskParameters.credentials, + taskParameters.managementGroupId), + taskParameters, + deploymentParameters); + return managementGroupOperationsController.deploy(); + } + else if(taskParameters.deploymentScope === "Subscription") { + var deploymentParameters = new DeploymentParameters({}, taskParameters.location); + var subscriptionOperationsController = new DeploymentScopeBase( + new armSubscription.SubscriptionManagementClient( + taskParameters.credentials, + taskParameters.subscriptionId), + taskParameters, + deploymentParameters); + return subscriptionOperationsController.deploy(); + } + var resourceGroupOperationsController = new resourceGroup.ResourceGroup( + new armResource.ResourceManagementClient( + taskParameters.credentials, + taskParameters.resourceGroupName, + taskParameters.subscriptionId), + taskParameters); + switch (taskParameters.action) { + case "Create Or Update Resource Group": + return resourceGroupOperationsController.deploy(); + case "DeleteRG": + return resourceGroupOperationsController.deleteResourceGroup(); + default: + throw tl.loc("InvalidAction", taskParameters.action); + } + }); +} + +var taskManifestPath = path.join(__dirname, "task.json"); +tl.debug("Setting resource path to " + taskManifestPath); +tl.setResourcePath(taskManifestPath); +tl.setResourcePath(path.join( __dirname, 'node_modules/azure-pipelines-tasks-azure-arm-rest/module.json'), true); + +run().then((result) => + tl.setResult(tl.TaskResult.Succeeded, "") +).catch((error) => { + tl.error(tl.loc("TroubleshootingGuide")); + tl.setResult(tl.TaskResult.Failed, error) +}); diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/make.json b/_generated/AzureResourceManagerTemplateDeploymentV3/make.json new file mode 100644 index 000000000000..5a1668b218b6 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/make.json @@ -0,0 +1,13 @@ +{ + "rm": [ + { + "items": [ + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/azure-pipelines-task-lib", + "node_modules/azure-pipelines-tasks-azure-arm-rest/node_modules/azure-pipelines-task-lib", + "node_modules/azure-pipelines-tasks-azure-arm-rest/node_modules/vso-node-api", + "node_modules/https-proxy-agent/node_modules/agent-base" + ], + "options": "-Rf" + } + ] +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/models/TaskParameters.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/models/TaskParameters.ts new file mode 100644 index 000000000000..646f47f5b01d --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/models/TaskParameters.ts @@ -0,0 +1,129 @@ +import tl = require("azure-pipelines-task-lib/task"); +import msRestAzure = require('azure-pipelines-tasks-azure-arm-rest/azure-arm-common'); +import { AzureRMEndpoint } from 'azure-pipelines-tasks-azure-arm-rest/azure-arm-endpoint'; +import { GraphManagementClient } from 'azure-pipelines-tasks-azure-arm-rest/azure-graph'; + +export class TaskParameters { + + public action: string; + public resourceGroupName: string; + public location: string; + public csmFile: string; + public csmParametersFile: string; + public templateLocation: string; + public csmFileLink: string; + public csmParametersFileLink: string; + public overrideParameters: string; + public outputVariable: string; + public subscriptionId: string; + public endpointPortalUrl: string; + public deploymentName: string; + public deploymentMode: string; + public credentials: msRestAzure.ApplicationTokenCredentials; + public graphCredentials: msRestAzure.ApplicationTokenCredentials; + public deploymentOutputs: string; + public addSpnToEnvironment: boolean; + public useWithoutJSON: boolean; + public connectedService: string; + public deploymentScope: string; + public managementGroupId: string; + public authScheme: string; + + private async getARMCredentials(connectedService: string): Promise { + var azureEndpoint = await new AzureRMEndpoint(connectedService).getEndpoint(); + return azureEndpoint.applicationTokenCredentials; + } + + private async getGraphCredentials(connectedService: string): Promise { + var azureEndpoint = await new AzureRMEndpoint(connectedService).getEndpoint(true); + return azureEndpoint.applicationTokenCredentials; + } + + public async getTaskParameters() : Promise + { + try { + + //Deployment Scope + this.deploymentScope = tl.getInput("deploymentScope"); + if(!this.deploymentScope){ + this.deploymentScope = "Resource Group"; + } + + var resourceGroupNameInServiceConnection; + + //Service Connection + this.connectedService = tl.getInput("ConnectedServiceName", true); + var endpointTelemetry = '{"endpointId":"' + this.connectedService + '"}'; + console.log("##vso[telemetry.publish area=TaskEndpointId;feature=AzureResourceManagerTemplateDeployment]" + endpointTelemetry); + this.endpointPortalUrl = tl.getEndpointDataParameter(this.connectedService, "armManagementPortalUrl", true); + var armServiceConnectionScope = tl.getEndpointDataParameter(this.connectedService, 'ScopeLevel', true); + if(!!armServiceConnectionScope && armServiceConnectionScope === "Subscription"){ + var armServiceConnectionAuthScope = tl.getEndpointAuthorizationParameter(this.connectedService, 'scope', true); + if(!!armServiceConnectionAuthScope){ + var armServiceConnectionAuthScopeSplit = armServiceConnectionAuthScope.split("/"); + if(!!armServiceConnectionAuthScopeSplit[4]){ + armServiceConnectionScope = "Resource Group"; + resourceGroupNameInServiceConnection = armServiceConnectionAuthScopeSplit[4]; + } + } + } + console.log(tl.loc("ARMServiceConnectionScope", armServiceConnectionScope)); + + //Management Group Id + if(this.deploymentScope === "Management Group"){ + this.managementGroupId = tl.getEndpointDataParameter(this.connectedService, "ManagementGroupId", false); + } + + //Subscripion Id + this.subscriptionId = tl.getInput("subscriptionName"); + if(!this.subscriptionId && (this.deploymentScope === "Subscription" || this.deploymentScope === "Resource Group")) { + this.subscriptionId = tl.getEndpointDataParameter(this.connectedService, "SubscriptionId", false); + } + + //Resource group name + this.resourceGroupName = tl.getInput("resourceGroupName"); + if(!this.resourceGroupName && this.deploymentScope === "Resource Group"){ + this.resourceGroupName = resourceGroupNameInServiceConnection; + if(!this.resourceGroupName){ + throw new Error(tl.loc("ResourceGroupNameNotProvided")); + } + } + + this.action = tl.getInput("action"); + + //Location + this.location = tl.getInput("location"); + if(!this.location && this.deploymentScope === "Resource Group" && this.action != "DeleteRG"){ + throw new Error(tl.loc("LocationNotProvided")); + } + + //Deployment mode + this.deploymentMode = tl.getInput("deploymentMode"); + if(!!this.deploymentMode && this.deploymentMode === "Complete" && this.deploymentScope != "Resource Group"){ + throw new Error(tl.loc("CompleteDeploymentModeNotSupported", this.deploymentScope)); + } + + this.templateLocation = tl.getInput("templateLocation"); + if (this.templateLocation === "Linked artifact") { + this.csmFile = tl.getPathInput("csmFile"); + this.csmParametersFile = tl.getPathInput("csmParametersFile"); + } else { + this.csmFileLink = tl.getInput("csmFileLink"); + this.csmParametersFileLink = tl.getInput("csmParametersFileLink"); + } + this.overrideParameters = tl.getInput("overrideParameters"); + this.outputVariable = tl.getInput("outputVariable"); + this.deploymentName = tl.getInput("deploymentName"); + this.credentials = await this.getARMCredentials(this.connectedService); + this.authScheme = tl.getEndpointAuthorizationScheme(this.connectedService, true); + this.graphCredentials = await this.getGraphCredentials(this.connectedService); + this.deploymentOutputs = tl.getInput("deploymentOutputs"); + this.addSpnToEnvironment = tl.getBoolInput("addSpnToEnvironment", false); + this.useWithoutJSON = tl.getBoolInput("useWithoutJSON", false); + + return this; + } catch (error) { + throw new Error(tl.loc("ARGD_ConstructorFailed", error.message)); + } + } +} diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/models/Types.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/models/Types.ts new file mode 100644 index 000000000000..dddc60ba1ed7 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/models/Types.ts @@ -0,0 +1,14 @@ +export interface ParameterValue { + value?: any; + reference?: any; + type?: string; +} + +export interface TemplateObject { + $schema: string; + contentVersion: string; + outputs: Map; + parameters: Map; + resources: Map[]; + variables: Map; +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/operations/DeploymentParameters.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/DeploymentParameters.ts new file mode 100644 index 000000000000..8f04ccc57c2d --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/DeploymentParameters.ts @@ -0,0 +1,12 @@ +export class DeploymentParameters { + public properties: Object; + public location: string; + + constructor(properties: Object, location?: string) { + this.properties = properties; + this.location = location; + } + public updateCommonProperties(mode: string) { + this.properties["mode"] = mode; + } +} diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/operations/DeploymentScopeBase.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/DeploymentScopeBase.ts new file mode 100644 index 000000000000..3b385591f04e --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/DeploymentScopeBase.ts @@ -0,0 +1,183 @@ +import tl = require("azure-pipelines-task-lib/task"); + +import armDeployTaskParameters = require("../models/TaskParameters"); +import armResource = require("azure-pipelines-tasks-azure-arm-rest/AzureServiceClientBase"); +import utils = require("./Utils"); +import { sleepFor } from 'azure-pipelines-tasks-azure-arm-rest/webClient'; +import { DeploymentParameters } from "./DeploymentParameters"; +import azureGraph = require("azure-pipelines-tasks-azure-arm-rest/azure-graph"); + +export class DeploymentScopeBase { + protected deploymentParameters: DeploymentParameters; + protected taskParameters: armDeployTaskParameters.TaskParameters; + protected armClient: armResource.AzureServiceClientBase; + private _spnName: string; + constructor(armClient: armResource.AzureServiceClientBase, taskParameters: armDeployTaskParameters.TaskParameters, deploymentParameters?: DeploymentParameters) { + this.taskParameters = taskParameters; + this.armClient = armClient; + this.deploymentParameters = deploymentParameters; + this._spnName = null; + } + + public async deploy(): Promise { + await this.createTemplateDeployment(); + utils.deleteGeneratedFiles() + } + + protected async createTemplateDeployment() { + console.log(tl.loc("CreatingTemplateDeployment")); + var params: DeploymentParameters; + if (this.taskParameters.templateLocation === "Linked artifact") { + params = await utils.getDeploymentDataForLinkedArtifact(this.taskParameters); + } else if (this.taskParameters.templateLocation === "URL of the file") { + params = await utils.getDeploymentObjectForPublicURL(this.taskParameters); + } else { + throw new Error(tl.loc("InvalidTemplateLocation")); + } + + if(!!this.deploymentParameters){ + params.location = this.deploymentParameters.location; + } + + this.deploymentParameters = params; + await this.performAzureDeployment(3); + } + + protected async performAzureDeployment(retryCount = 0): Promise { + if(!this._spnName && this.taskParameters.authScheme == "ServicePrincipal") { + this._spnName = await this.getServicePrincipalName(); + } + + if (this.deploymentParameters.properties["mode"] === "Validation") { + this.deploymentParameters.properties["mode"] = "Incremental"; + return this.validateDeployment(); + } else { + try { + await this.validateDeployment(); + } catch (error) { + tl.warning(tl.loc("TemplateValidationFailure", error)); + } + console.log(tl.loc("StartingDeployment")); + return new Promise((resolve, reject) => { + this.taskParameters.deploymentName = this.taskParameters.deploymentName || utils.createDeploymentName(this.taskParameters); + console.log(tl.loc("LogDeploymentName", this.taskParameters.deploymentName)); + this.armClient.deployments.createOrUpdate(this.taskParameters.deploymentName, this.deploymentParameters, (error, result, request, response) => { + if (error) { + if(this.taskParameters.deploymentScope === "Resource Group" && error.code == "ResourceGroupNotFound" && retryCount > 0){ + return this.waitAndPerformAzureDeployment(retryCount); + } + utils.writeDeploymentErrors(this.taskParameters, error); + this.checkAndPrintPortalDeploymentURL((!!result && !!result.error) ? result.error : error); + this.printServicePrincipalRoleAssignmentError(error); + return reject(tl.loc("CreateTemplateDeploymentFailed")); + } + if (result && result["properties"] && result["properties"]["outputs"] && utils.isNonEmpty(this.taskParameters.deploymentOutputs)) { + const setVariablesInObject = (path: string, obj: any) => { + for (var key of Object.keys(obj)) { + if (obj[key] && typeof(obj[key]) === "object") { + setVariablesInObject(`${path}.${key}`, obj[key]); + } + else { + console.log(`##vso[task.setvariable variable=${path}.${key};]` + (this.taskParameters.useWithoutJSON ? obj[key] : JSON.stringify(obj[key]))); + console.log(tl.loc("AddedOutputVariable", `${path}.${key}`)); + } + } + } + if (typeof(result["properties"]["outputs"]) === "object") { + setVariablesInObject(this.taskParameters.deploymentOutputs, result["properties"]["outputs"]); + } + console.log(`##vso[task.setvariable variable=${this.taskParameters.deploymentOutputs};]` + JSON.stringify(result["properties"]["outputs"])); + console.log(tl.loc("AddedOutputVariable", this.taskParameters.deploymentOutputs)); + } + + console.log(tl.loc("CreateTemplateDeploymentSucceeded")); + resolve(); + }); + }); + } + } + + private printServicePrincipalRoleAssignmentError(error: any) { + if(!!error && error.statusCode == 403) { + if(this.taskParameters.authScheme == "ServicePrincipal") { + if(this.taskParameters.deploymentScope == "Resource Group") { + tl.error(tl.loc("ServicePrincipalRoleAssignmentDetails", this._spnName, this.taskParameters.resourceGroupName)); + } else if(this.taskParameters.deploymentScope == "Subscription") { + tl.error(tl.loc("ServicePrincipalRoleAssignmentDetails", this._spnName, this.taskParameters.subscriptionId)); + } else if(this.taskParameters.deploymentScope == "Management Group") { + tl.error(tl.loc("ServicePrincipalRoleAssignmentDetails", this._spnName, this.taskParameters.managementGroupId)); + } + } else if(this.taskParameters.authScheme == "ManagedServiceIdentity") { + tl.error(tl.loc("ManagedServiceIdentityDetails", this.taskParameters.resourceGroupName)); + } + } + } + + protected async getServicePrincipalName(): Promise { + try { + var graphClient: azureGraph.GraphManagementClient = new azureGraph.GraphManagementClient(this.taskParameters.graphCredentials); + var servicePrincipalObject = await graphClient.servicePrincipals.GetServicePrincipal(null); + return !!servicePrincipalObject ? servicePrincipalObject.appDisplayName : ""; + } catch (error) { + tl.debug(tl.loc("ServicePrincipalFetchFailed", (error.message || error))); + return ""; + } + } + + protected checkAndPrintPortalDeploymentURL(error: any) { + if((this.taskParameters.deploymentScope == "Resource Group" || this.taskParameters.deploymentScope == "Subscription") && (!!error && (error.statusCode < 400 || error.statusCode >= 500))) { + let url = this.getAzurePortalDeploymentURL(); + if(url != null) { + tl.error(tl.loc("FindMoreDeploymentDetailsAzurePortal", this.getAzurePortalDeploymentURL())); + } + } + } + + private getAzurePortalDeploymentURL() { + try { + let portalUrl = this.taskParameters.endpointPortalUrl ? this.taskParameters.endpointPortalUrl : "https://portal.azure.com"; + portalUrl += "/#blade/HubsExtension/DeploymentDetailsBlade/overview/id/"; + + let subscriptionSpecificURL = "/subscriptions/" + this.taskParameters.subscriptionId; + if(this.taskParameters.deploymentScope == "Resource Group") { + subscriptionSpecificURL += "/resourceGroups/" + this.taskParameters.resourceGroupName; + } + + subscriptionSpecificURL += "/providers/Microsoft.Resources/deployments/" + this.taskParameters.deploymentName; + + return portalUrl + subscriptionSpecificURL.replace(/\//g, '%2F'); + } catch (error) { + tl.error(error); + return null; + } + } + + protected validateDeployment(): Promise { + return new Promise((resolve, reject) => { + console.log(tl.loc("StartingValidation")); + if(!(!!this.deploymentParameters.properties["mode"] && (this.deploymentParameters.properties["mode"] === "Complete" || this.deploymentParameters.properties["mode"] === "Incremental"))) + { + this.deploymentParameters.properties["mode"] = "Incremental"; + } + this.taskParameters.deploymentName = this.taskParameters.deploymentName || utils.createDeploymentName(this.taskParameters); + console.log(tl.loc("LogDeploymentName", this.taskParameters.deploymentName)); + this.armClient.deployments.validate(this.taskParameters.deploymentName, this.deploymentParameters, (error, result, request, response) => { + if (error) { + return reject(tl.loc("CreateTemplateDeploymentValidationFailed", utils.getError(error))); + } + if (result.error) { + utils.writeDeploymentErrors(this.taskParameters, result.error); + return reject(tl.loc("CreateTemplateDeploymentFailed")); + } else { + console.log(tl.loc("ValidDeployment")); + resolve(); + } + }); + }); + } + + private async waitAndPerformAzureDeployment(retryCount): Promise { + await sleepFor(3); + return this.performAzureDeployment(retryCount - 1); + } +} diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/operations/FileEncoding.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/FileEncoding.ts new file mode 100644 index 000000000000..dc2452386603 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/FileEncoding.ts @@ -0,0 +1,105 @@ +//File Encoding detected to be : utf-32be, which is not supported by Node.js +//'Unable to detect encoding of file ' + typeCode +//'File buffer is too short to detect encoding type' + +var fs = require('fs'); +import tl = require('azure-pipelines-task-lib'); + +export class FileEncoding { + public type: string; + public usesBOM: boolean; + constructor(type: string, usesBOM: boolean) { + this.type = type; + this.usesBOM = usesBOM; + } +} + +function detectFileEncodingWithBOM(buffer: Buffer): FileEncoding { + tl.debug('Detecting file encoding using BOM'); + var type: string; + if (buffer.slice(0, 3).equals(new Buffer([239, 187, 191]))) { + type = 'utf-8'; + } + else if (buffer.slice(0, 4).equals(new Buffer([255, 254, 0, 0]))) { + type = 'utf-32le'; + } + else if (buffer.slice(0, 2).equals(new Buffer([254, 255]))) { + type = 'utf-16be'; + } + else if (buffer.slice(0, 2).equals(new Buffer([255, 254]))) { + type = 'utf-16le'; + } + else if (buffer.slice(0, 4).equals(new Buffer([0, 0, 254, 255]))) { + type = 'utf-32be'; + } + else { + tl.debug('Unable to detect File encoding using BOM'); + return null; + } + return new FileEncoding(type, true); +} + +function detectFileEncodingWithoutBOM(buffer: Buffer): FileEncoding { + tl.debug('Detecting file encoding without BOM'); + + var typeCode = 0; + var type: string; + var codeForUtf8 = 0 + for (var index = 0; index < 4 && index < buffer.length; index++) { + typeCode = typeCode << 1; + typeCode = typeCode | (buffer[index] > 0 ? 1 : 0); + codeForUtf8 = codeForUtf8 << 1; + codeForUtf8++; + } + switch (typeCode) { + case 1: + type = 'utf-32be'; + break; + case 5: + type = 'utf-16be'; + break; + case 8: + type = 'utf-32le'; + break; + case 10: + type = 'utf-16le'; + break; + default: + if (codeForUtf8 == typeCode) { + type = 'utf-8'; + } + else { + return null; + } + } + return new FileEncoding(type, false); +} +export function detectFileEncoding(fileName: string, buffer: Buffer): FileEncoding { + var fileEncoding: FileEncoding = detectFileEncodingWithBOM(buffer); + if (fileEncoding == null) { + if (buffer.length < 4) { + tl.debug('Short file buffer error on file' + fileName + '. length: ' + buffer.length); + } + fileEncoding = detectFileEncodingWithoutBOM(buffer); + } + + if (fileEncoding == null) { + throw new Error(tl.loc("CouldNotDetectEncoding", fileName)); + } + console.log(tl.loc("DetectedFileEncoding", fileName, fileEncoding.type)); + return fileEncoding; +} + +export function readFileContentsAsText(fileName: string): string { + var buffer = fs.readFileSync(fileName); + var supportedFileEncodings = ["utf-8", "utf-16le"] + var fileEncoding = detectFileEncoding(fileName, buffer); + if (supportedFileEncodings.indexOf(fileEncoding.type) < 0) { + throw new Error(tl.loc('EncodingNotSupported', fileName, fileEncoding.type)); + } + var fileContents: string = buffer.toString(fileEncoding.type); + if (fileEncoding.usesBOM) { + fileContents = fileContents.slice(1); + } + return fileContents; +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/operations/ParameterParser.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/ParameterParser.ts new file mode 100644 index 000000000000..c079284530f8 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/ParameterParser.ts @@ -0,0 +1,154 @@ +// This class manages the powershell parameters format + +export interface NameValuePair { + name: string; + value: string; +} + +export class PowerShellParameters { + + // Parses the string and retuens array of key-value pairs + public static parse(input: string, removeQuotes?: boolean, escapeCharacter?: string): NameValuePair[] { + if (!!escapeCharacter) { + this.escapeCharacter = escapeCharacter; + } + var result: NameValuePair[] = []; + var index = 0; + var obj: NameValuePair = { name: "", value: "" }; + + input = input.trim(); + + while (index < input.length) { + var literalData = this.findLiteral(input, index); + var nextIndex = literalData.currentPosition; + var hasSpecialCharacter = literalData.hasSpecialCharacter; + var literal = input.substr(index, nextIndex - index).trim(); + if (this.isName(literal, hasSpecialCharacter)) { + if (obj.name) { + result.push(obj); + obj = { name: "", value: "" }; + } + //substr from index 1 to remove '-' in the starting of literal + obj.name = literal.substr(1, literal.length); + } + else { + obj.value = literal; + result.push(obj); + obj = { name: "", value: "" }; + } + + index = nextIndex + 1; + } + + if (obj.name) { + result.push(obj); + } + if (!!removeQuotes) { + for (var name in result) { + result[name].value = result[name].value.replace(/^"(.*)"$/, '$1'); + } + } + + this.escapeCharacter = "`"; // Resetting escape character + return result; + } + + private static isName(literal: string, hasSpecialCharacter: boolean): boolean { + return literal[0] === '-' && !hasSpecialCharacter && isNaN(Number(literal)); + } + + private static findLiteral(input, currentPosition) { + var hasSpecialCharacter = false; + for (; currentPosition < input.length; currentPosition++) { + if (input[currentPosition] == " " || input[currentPosition] == "\t") { + for (; currentPosition < input.length; currentPosition++) { + if (input[currentPosition + 1] != " " && input[currentPosition + 1] != "\t") { + break; + } + } + + break; + } + else if (input[currentPosition] == "(") { + currentPosition = this.findClosingBracketIndex(input, currentPosition + 1, ")"); + hasSpecialCharacter = true; + } + else if (input[currentPosition] == "[") { + currentPosition = this.findClosingBracketIndex(input, currentPosition + 1, "]"); + hasSpecialCharacter = true; + } + else if (input[currentPosition] == "{") { + currentPosition = this.findClosingBracketIndex(input, currentPosition + 1, "}"); + hasSpecialCharacter = true; + } + else if (input[currentPosition] == "\"") { + //keep going till this one closes + currentPosition = this.findClosingQuoteIndex(input, currentPosition + 1, "\""); + hasSpecialCharacter = true; + } + else if (input[currentPosition] == "'") { + //keep going till this one closes + currentPosition = this.findClosingQuoteIndex(input, currentPosition + 1, "'"); + hasSpecialCharacter = true; + } + else if (input[currentPosition] == this.escapeCharacter) { + currentPosition++; + hasSpecialCharacter = true; + if (currentPosition >= input.length) { + break; + } + } + + } + return { currentPosition: currentPosition, hasSpecialCharacter: hasSpecialCharacter }; + } + + private static findClosingBracketIndex(input, currentPosition, closingBracket): number { + for (; currentPosition < input.length; currentPosition++) { + if (input[currentPosition] == closingBracket) { + break; + } + else if (input[currentPosition] == "(") { + currentPosition = this.findClosingBracketIndex(input, currentPosition + 1, ")"); + } + else if (input[currentPosition] == "[") { + currentPosition = this.findClosingBracketIndex(input, currentPosition + 1, "]"); + } + else if (input[currentPosition] == "{") { + currentPosition = this.findClosingBracketIndex(input, currentPosition + 1, "}"); + } + else if (input[currentPosition] == "\"") { + currentPosition = this.findClosingQuoteIndex(input, currentPosition + 1, "\""); + } + else if (input[currentPosition] == "'") { + currentPosition = this.findClosingQuoteIndex(input, currentPosition + 1, "'"); + } + else if (input[currentPosition] == this.escapeCharacter) { + currentPosition++; + if (currentPosition >= input.length) { + break; + } + } + } + + return currentPosition; + } + + private static findClosingQuoteIndex(input, currentPosition, closingQuote) { + for (; currentPosition < input.length; currentPosition++) { + if (input[currentPosition] == this.escapeCharacter) { + currentPosition++; + if (currentPosition >= input.length) { + break; + } + } + else if (input[currentPosition] == closingQuote) { + break; + } + } + + return currentPosition; + } + + private static escapeCharacter = "`"; +} diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/operations/ResourceGroup.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/ResourceGroup.ts new file mode 100644 index 000000000000..ddbaf1aa0f97 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/ResourceGroup.ts @@ -0,0 +1,68 @@ +import tl = require("azure-pipelines-task-lib/task"); + +import armDeployTaskParameters = require("../models/TaskParameters"); +import armResource = require("azure-pipelines-tasks-azure-arm-rest/azure-arm-resource"); +import utils = require("./Utils"); +import { DeploymentScopeBase } from "./DeploymentScopeBase"; + +export class ResourceGroup extends DeploymentScopeBase { + + public resourceManagementClient: armResource.ResourceManagementClient; + + constructor(resourceManagementClient: armResource.ResourceManagementClient, taskParameters: armDeployTaskParameters.TaskParameters) { + super(resourceManagementClient, taskParameters); + this.resourceManagementClient = resourceManagementClient; + } + + public async deploy(): Promise { + await this.createResourceGroupIfRequired(); + await this.createTemplateDeployment(); + utils.deleteGeneratedFiles() + } + + public deleteResourceGroup(): Promise { + return new Promise((resolve, reject) => { + console.log(tl.loc("DeletingResourceGroup", this.taskParameters.resourceGroupName)); + this.resourceManagementClient.resourceGroup.deleteMethod((error, result, request, response) => { + if (error) { + return reject(tl.loc("CouldNotDeletedResourceGroup", this.taskParameters.resourceGroupName, utils.getError(error))); + } + console.log(tl.loc("DeletedResourceGroup", this.taskParameters.resourceGroupName)); + resolve(); + }); + }); + } + + private async createResourceGroupIfRequired() { + var exists = await this.checkResourceGroupExistence() + if (!exists) { + await this.createResourceGroup(); + } + } + + private checkResourceGroupExistence(): Promise { + console.log(tl.loc("CheckResourceGroupExistence", this.taskParameters.resourceGroupName)); + return new Promise((resolve, reject) => { + this.resourceManagementClient.resourceGroup.checkExistence((error, exists, request, response) => { + if (error) { + return reject(tl.loc("ResourceGroupStatusFetchFailed", utils.getError(error))); + } + console.log(tl.loc("ResourceGroupStatus", exists)); + resolve(exists); + }); + }); + } + + private createResourceGroup(): Promise { + return new Promise((resolve, reject) => { + console.log(tl.loc("CreatingNewRG", this.taskParameters.resourceGroupName)); + this.resourceManagementClient.resourceGroup.createOrUpdate({ "name": this.taskParameters.resourceGroupName, "location": this.taskParameters.location }, (error, result, request, response) => { + if (error) { + return reject(tl.loc("ResourceGroupCreationFailed", utils.getError(error))); + } + console.log(tl.loc("CreatedRG")); + resolve(); + }); + }); + } +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/operations/Utils.ts b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/Utils.ts new file mode 100644 index 000000000000..88fd16cdcf26 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/operations/Utils.ts @@ -0,0 +1,523 @@ +import util = require("util"); +import path = require("path"); +import tl = require("azure-pipelines-task-lib/task"); +import fs = require("fs"); + +import armDeployTaskParameters = require("../models/TaskParameters"); +import { PowerShellParameters, NameValuePair } from "./ParameterParser"; +import fileEncoding = require('./FileEncoding'); +import { TemplateObject, ParameterValue } from "../models/Types"; +import httpInterfaces = require("typed-rest-client/Interfaces"); +import { DeploymentParameters } from "./DeploymentParameters"; +import { IExecSyncResult } from 'azure-pipelines-task-lib/toolrunner'; +import { setAzureCloudBasedOnServiceEndpoint, loginAzureRM } from 'azure-pipelines-tasks-artifacts-common/azCliUtils'; + +var cpExec = util.promisify(require('child_process').exec); +var hm = require("typed-rest-client/HttpClient"); +var uuid = require("uuid"); + +let proxyUrl: string = tl.getVariable("agent.proxyurl"); +var requestOptions: httpInterfaces.IRequestOptions = proxyUrl ? { + proxy: { + proxyUrl: proxyUrl, + proxyUsername: tl.getVariable("agent.proxyusername"), + proxyPassword: tl.getVariable("agent.proxypassword"), + proxyBypassHosts: tl.getVariable("agent.proxybypasslist") ? JSON.parse(tl.getVariable("agent.proxybypasslist")) : null + } +} : {}; + +let ignoreSslErrors: string = tl.getVariable("VSTS_ARM_REST_IGNORE_SSL_ERRORS"); +requestOptions.ignoreSslError = ignoreSslErrors && ignoreSslErrors.toLowerCase() == "true"; + +let httpClient = new hm.HttpClient(tl.getVariable("AZURE_HTTP_USER_AGENT"), null, requestOptions); + +function formatNumber(num: number): string { + return ("0" + num).slice(-2); +} + +class Utils { + public static cleanupFileList = [] + + public static isNonEmpty(str: string): boolean { + return (!!str && !!str.trim()); + } + + public static getError(error: any): string { + if (error && error.message) { + return JSON.stringify(error.message); + } + + if (typeof error === "string") { + return error; + } + + return JSON.stringify(error); + } + + public static buildErrorString(errors: string[]): string { + let index: number = 1; + return errors.map(error => !!error ? util.format("%s. %s \n", index++, error) : "").join(""); + } + + public static stripJsonComments(content) { + if (!content || (content.indexOf("//") < 0 && content.indexOf("/*") < 0)) { + return content; + } + + var currentChar; + var nextChar; + var insideQuotes = false; + var contentWithoutComments = ''; + var insideComment = 0; + var singlelineComment = 1; + var multilineComment = 2; + + for (var i = 0; i < content.length; i++) { + currentChar = content[i]; + nextChar = i + 1 < content.length ? content[i + 1] : ""; + + if (insideComment) { + var update = false; + if (insideComment == singlelineComment && (currentChar + nextChar === '\r\n' || currentChar === '\n')) { + i--; + insideComment = 0; + continue; + } + + if (insideComment == multilineComment && currentChar + nextChar === '*/') { + i++; + insideComment = 0; + continue; + } + + } else { + if (insideQuotes && currentChar == "\\") { + contentWithoutComments += currentChar + nextChar; + i++; // Skipping checks for next char if escaped + continue; + } + else { + if (currentChar == '"') { + insideQuotes = !insideQuotes; + } + + if (!insideQuotes) { + if (currentChar + nextChar === '//') { + insideComment = singlelineComment; + i++; + } + + if (currentChar + nextChar === '/*') { + insideComment = multilineComment; + i++; + } + } + } + } + + if (!insideComment) { + contentWithoutComments += content[i]; + } + } + + return contentWithoutComments; + } + + public static writeDeploymentErrors(taskParameters: armDeployTaskParameters.TaskParameters, error): void { + console.log(tl.loc("ErrorsInYourDeployment", error.code)); + if (error.message) { + tl.error(error.message); + if (error.details) { + tl.error(tl.loc("Details")); + + + for (var i = 0; i < error.details.length; i++) { + var errorMessage = null; + let policyLink = null; + + if (error.details[i].code === "RequestDisallowedByPolicy") { + policyLink = this.getPolicyHelpLink(taskParameters, error.details[i]); + errorMessage = this.getPolicyErrorMessage(error.details[i]); + } else { + errorMessage = util.format("%s: %s", error.details[i].code, error.details[i].message); + if(error.details[i].details) { + if(typeof error.details[i].details == 'object') { + errorMessage += " " + JSON.stringify(error.details[i].details); + } else { + errorMessage += " " + String(error.details[i].details); + } + } + } + + tl.error(errorMessage); + if (policyLink) { + tl.error(util.format("[%s](%s)", tl.loc("MoreInformationOnAzurePortal"), policyLink)); + } + } + + + } + } else { + tl.error(error); + } + } + + public static async getDeploymentObjectForPublicURL(taskParameters: armDeployTaskParameters.TaskParameters): Promise { + var properties = {}; + properties["templateLink"] = { + uri: taskParameters.csmFileLink + }; + var parameters: Map = {} as Map; + var deploymentParameters = new DeploymentParameters(properties); + + if (this.isNonEmpty(taskParameters.csmParametersFileLink)) { + if (this.isNonEmpty(taskParameters.overrideParameters)) { + var contents = await this.downloadFile(taskParameters.csmParametersFileLink); + parameters = JSON.parse(this.stripJsonComments(contents)).parameters; + } + else { + deploymentParameters.properties["parametersLink"] = { + uri: taskParameters.csmParametersFileLink + }; + } + } + + if (this.isNonEmpty(taskParameters.overrideParameters)) { + tl.debug("Downloading CSM Template File.. " + taskParameters.csmFileLink); + var templateFile = await this.downloadFile(taskParameters.csmFileLink); + var template; + try { + var template = JSON.parse(this.stripJsonComments(templateFile)); + tl.debug("Loaded CSM File"); + } + catch (error) { + throw new Error(tl.loc("TemplateParsingFailed", this.getError(error.message))); + } + parameters = this.updateOverrideParameters(taskParameters, template, parameters); + parameters = this.sanitizeParameters(parameters); + deploymentParameters.properties["parameters"] = parameters; + } + + deploymentParameters.updateCommonProperties(taskParameters.deploymentMode); + return deploymentParameters; + } + + public static createDeploymentName(taskParameters: armDeployTaskParameters.TaskParameters): string { + var name: string; + if (taskParameters.templateLocation == "Linked artifact") { + name = tl.findMatch(tl.getVariable("System.DefaultWorkingDirectory"), this.escapeBlockCharacters(taskParameters.csmFile))[0]; + } else { + name = taskParameters.csmFileLink; + } + name = path.basename(name).split(".")[0].replace(/\s/g, ""); + name = name.substr(0, 40); + var timestamp = new Date(Date.now()); + var uniqueId = uuid().substr(0, 4); + var suffix = util.format("%s%s%s-%s%s%s-%s", timestamp.getFullYear(), + formatNumber(timestamp.getMonth() + 1), + formatNumber(timestamp.getDate()), + formatNumber(timestamp.getHours()), + formatNumber(timestamp.getMinutes()), + formatNumber(timestamp.getSeconds()), + uniqueId); + var deploymentName = util.format("%s-%s", name, suffix); + if (deploymentName.match(/^[-\w\._\(\)]+$/) === null) { + deploymentName = util.format("deployment-%s", suffix); + } + return deploymentName; + } + + public static async getDeploymentDataForLinkedArtifact(taskParameters: armDeployTaskParameters.TaskParameters): Promise { + var template: TemplateObject; + var fileMatches = tl.findMatch(tl.getVariable("System.DefaultWorkingDirectory"), this.escapeBlockCharacters(taskParameters.csmFile)); + if (fileMatches.length > 1) { + throw new Error(tl.loc("TemplateFilePatternMatchingMoreThanOneFile", fileMatches)); + } + if (fileMatches.length < 1) { + throw new Error(tl.loc("TemplateFilePatternMatchingNoFile")); + } + var csmFilePath = fileMatches[0]; + if (!fs.lstatSync(csmFilePath).isDirectory()) { + tl.debug("Loading CSM Template File.. " + csmFilePath); + csmFilePath = await this.getFilePathForLinkedArtifact(csmFilePath, taskParameters) + try { + template = JSON.parse(this.stripJsonComments(fileEncoding.readFileContentsAsText(csmFilePath))); + } + catch (error) { + throw new Error(tl.loc("TemplateParsingFailed", csmFilePath, this.getError(error.message))); + } + tl.debug("Loaded CSM File"); + } else { + throw new Error(tl.loc("CsmFilePatternMatchesADirectoryInsteadOfAFile", csmFilePath)); + } + + var parameters: Map = {} as Map; + if (this.isNonEmpty(taskParameters.csmParametersFile)) { + var fileMatches = tl.findMatch(tl.getVariable("System.DefaultWorkingDirectory"), this.escapeBlockCharacters(taskParameters.csmParametersFile)); + if (fileMatches.length > 1) { + throw new Error(tl.loc("TemplateParameterFilePatternMatchingMoreThanOneFile", fileMatches)); + } + if (fileMatches.length < 1) { + throw new Error(tl.loc("TemplateParameterFilePatternMatchingNoFile")); + } + var csmParametersFilePath = fileMatches[0]; + if (!fs.lstatSync(csmParametersFilePath).isDirectory()) { + tl.debug("Loading Parameters File.. " + csmParametersFilePath); + csmParametersFilePath = await this.getFilePathForLinkedArtifact(csmParametersFilePath, taskParameters) + try { + var parameterFile = JSON.parse(this.stripJsonComments(fileEncoding.readFileContentsAsText(csmParametersFilePath))); + tl.debug("Loaded Parameters File"); + parameters = parameterFile["parameters"] as Map; + } catch (error) { + throw new Error(tl.loc("ParametersFileParsingFailed", csmParametersFilePath, this.getError(error.message))); + } + } else { + if (tl.filePathSupplied("csmParametersFile")) { + throw new Error(tl.loc("ParametersPatternMatchesADirectoryInsteadOfAFile", csmParametersFilePath)); + } + } + } + + if (this.isNonEmpty(taskParameters.overrideParameters)) { + parameters = this.updateOverrideParameters(taskParameters, template, parameters); + } + + parameters = this.sanitizeParameters(parameters); + + var deploymentParameters = new DeploymentParameters({ + template: template, + parameters: parameters + }); + deploymentParameters.updateCommonProperties(taskParameters.deploymentMode); + return deploymentParameters; + } + + public static deleteGeneratedFiles(): void{ + this.cleanupFileList.forEach(filePath => { + try{ + fs.unlinkSync(filePath); + }catch(err){ + console.log(tl.loc("BicepFileCleanupFailed", err)) + } + }); + } + + private static getPolicyHelpLink(taskParameters: armDeployTaskParameters.TaskParameters, errorDetail) { + var additionalInfo = errorDetail.additionalInfo; + if (!!additionalInfo) { + for (var i = 0; i < additionalInfo.length; i++) { + if (!!additionalInfo[i].info && !!additionalInfo[i].info.policyAssignmentId) { + let portalUrl = taskParameters.endpointPortalUrl ? taskParameters.endpointPortalUrl : "https://portal.azure.com"; + return portalUrl + "#blade/Microsoft_Azure_Policy/EditAssignmentBlade/id/" + encodeURIComponent(additionalInfo[i].info.policyAssignmentId); + } + } + } + + return null; + } + + private static getPolicyErrorMessage(errorDetail): string { + var errorMessage = errorDetail.message; + + if (!!errorMessage) { + errorMessage = errorMessage.split(".")[0] + "."; + } + + var additionalInfo = errorDetail.additionalInfo; + if (!!additionalInfo) { + for (var i = 0; i < additionalInfo.length; i++) { + if (!!additionalInfo[i].info) { + errorMessage = util.format("%s %s %s, %s %s, %s %s.", errorMessage, tl.loc("ErrorType"), additionalInfo[i].type, tl.loc("PolicyDefinitionName"), additionalInfo[i].info.policyDefinitionDisplayName, tl.loc("PolicyAssignmentName"), additionalInfo[i].info.policyAssignmentName); + } + } + } + + return errorMessage; + } + + private static castToType(value: string, type: string): any { + switch (type.toLowerCase()) { + case "int": + case "object": + case "secureobject": + case "array": + case "bool": + return JSON.parse(value); + case "string": + case "securestring": + return JSON.parse(`"` + value + `"`); // Adding trailing quotes for JSON parser to detect string + default: + // Sending as string + break; + } + return value; + } + + private static updateOverrideParameters(taskParameters: armDeployTaskParameters.TaskParameters, template: TemplateObject, parameters: Map): Map { + tl.debug("Overriding Parameters.."); + + var overrideParameters: NameValuePair[] = PowerShellParameters.parse(taskParameters.overrideParameters, true, "\\"); + for (var overrideParameter of overrideParameters) { + tl.debug("Overriding key: " + overrideParameter.name); + if (taskParameters.addSpnToEnvironment) { + if (overrideParameter.value === "$servicePrincipalId") { + overrideParameter.value = tl.getEndpointAuthorizationParameter(taskParameters.connectedService, 'serviceprincipalid', true); + } + if (overrideParameter.value === "$servicePrincipalKey") { + overrideParameter.value = tl.getEndpointAuthorizationParameter(taskParameters.connectedService, 'serviceprincipalkey', false); + } + } + + try { + overrideParameter.value = this.castToType(overrideParameter.value, template.parameters[overrideParameter.name].type); + } catch (error) { + console.log(tl.loc("ErrorWhileParsingParameter", overrideParameter.name, error.toString())); + } + parameters[overrideParameter.name] = { + value: overrideParameter.value + } as ParameterValue; + } + return parameters; + } + + private static downloadFile(url): Promise { + return new Promise((resolve, reject) => { + httpClient.get(url, {}).then(async (response) => { + if (response.message.statusCode == 200) { + let contents: string = ""; + try { + contents = await response.readBody(); + contents = contents.replace(/^\uFEFF/, ''); // Remove UTF-8 BOM if present. + } catch (error) { + reject(tl.loc("UnableToReadResponseBody", error)); + } + resolve(contents); + } else { + var errorMessage = response.message.statusCode.toString() + ": " + response.message.statusMessage; + return reject(tl.loc("FileFetchFailed", url, errorMessage)); + } + }, (error) => { + return reject(tl.loc("FileFetchFailed", url, error)); + }); + }); + } + + private static sanitizeParameters(parameters: Map): Map { + var result: Map = {} as Map; + for (var key in parameters) { + if (!!parameters[key]) { + if (parameters[key].hasOwnProperty("value")) { + result[key] = { + value: parameters[key].value + } as ParameterValue; + } else if (parameters[key].hasOwnProperty("reference")) { + result[key] = { + reference: parameters[key].reference + } as ParameterValue; + } + } + } + + return result; + } + + private static escapeBlockCharacters(str: string): string { + return str.replace(/[\[]/g, '$&[]'); + } + + private static async getFilePathForLinkedArtifact(filePath: string, taskParameters: armDeployTaskParameters.TaskParameters): Promise { + var filePathExtension: string = filePath.split('.').pop(); + if(filePathExtension.startsWith('bicep')){ + let azcliversion = await this.getAzureCliVersion() + if(parseFloat(azcliversion)){ + if(this.isBicepAvailable(azcliversion, filePathExtension)){ + setAzureCloudBasedOnServiceEndpoint(taskParameters.connectedService); + await loginAzureRM(taskParameters.connectedService); + await this.execBicepBuild(filePath) + if(filePathExtension === 'bicep'){ + filePath = filePath.replace('.bicep', '.json') + } + else{ + filePath = filePath.replace('.bicepparam', '.parameters.json') + } + await this.logoutAzure(); + }else{ + //Maintain backwards compatibility for runs that are not using bicep param and do not require higher version + if(filePathExtension === 'bicep'){ + throw new Error(tl.loc("IncompatibleAzureCLIVersion")); + } + else{ + throw new Error(tl.loc("IncompatibleAzureCLIVersionBicepParam")); + } + } + }else{ + throw new Error(tl.loc("AzureCLINotFound")); + } + } + + return filePath + } + + private static async getAzureCliVersion(): Promise { + let azcliversion: string = "" ; + const {error, stdout, stderr } = await cpExec('az version'); + if(error && error.code !== 0){ + throw new Error(tl.loc("FailedToFetchAzureCLIVersion", stderr)); + }else{ + try{ + azcliversion = JSON.parse(stdout)["azure-cli"] + }catch(err){ + throw new Error(tl.loc("FailedToFetchAzureCLIVersion", err)); + } + } + return azcliversion + } + + private static async execBicepBuild(filePath): Promise { + var filePathExtension: string = filePath.split('.').pop(); + var finalPathExtension: string = ".json" + + if(filePathExtension === 'bicep'){ + const result: IExecSyncResult = tl.execSync("az", `bicep build --file ${filePath}`); + if(result && result.code !== 0){ + throw new Error(tl.loc("BicepBuildFailed", result.stderr)); + } + } + else{ + var fileName: string = filePath.split(path.sep).pop().split('.')[0]; + var fileDir: string = filePath.replace(path.sep + fileName +'.bicepparam', '') + finalPathExtension = ".parameters.json" + + //Using --outfile to avoid overwriting primary bicep file in the case bicep and param file have the the same file name. + const result: IExecSyncResult = tl.execSync("az", `bicep build-params --file ${filePath} --outfile ${path.join(fileDir, fileName + finalPathExtension)}`); + if(result && result.code !== 0){ + throw new Error(tl.loc("BicepParamBuildFailed", result.stderr)); + } + } + + this.cleanupFileList.push(filePath.replace('.' + filePathExtension, finalPathExtension)) + } + + private static async logoutAzure() { + const result: IExecSyncResult = tl.execSync("az", "account clear"); + if(result && result.code !== 0){ + throw new Error(tl.loc("BicepBuildFailed", result.stderr)); + } + } + + private static isBicepAvailable(azcliversion,extension): Boolean{ + let majorVersion = azcliversion.split('.')[0] + let minorVersion = azcliversion.split('.')[1] + // Support for Bicep format was introduced in az-cli 2.20.0 + if(((majorVersion == 2 && minorVersion >= 20) && extension === 'bicep') || majorVersion > 2){ + return true + } + // Support for Bicep Param format was introduced in az-cli 2.47.0 + else if(((majorVersion == 2 && minorVersion >= 47) && extension === 'bicepparam') || majorVersion > 2){ + return true + } + return false + } +} + +export = Utils; \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/package-lock.json b/_generated/AzureResourceManagerTemplateDeploymentV3/package-lock.json new file mode 100644 index 000000000000..4d8ee3c2f66c --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/package-lock.json @@ -0,0 +1,883 @@ +{ + "name": "AzureResourceManagerTemplateDeployment", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@azure/msal-common": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.1.1.tgz", + "integrity": "sha512-we9xR8lvu47fF0h+J8KyXoRy9+G/fPzm3QEa2TrdR3jaVS3LKAyE2qyMuUkNdbVkvzl8Zr9f7l+IUSP22HeqXw==" + }, + "@azure/msal-node": { + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.14.5.tgz", + "integrity": "sha512-NcVdMfn8Z3ogN+9RjOSF7uwf2Gki5DEJl0BdDSL83KUAgVAobtkZi5W8EqxbJLrTO/ET0jv5DregrcR5qg2pEA==", + "requires": { + "@azure/msal-common": "^9.0.1", + "jsonwebtoken": "^8.5.1", + "uuid": "^8.3.0" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "requires": { + "@types/node": "*" + } + }, + "@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", + "requires": { + "@types/node": "*" + } + }, + "@types/fs-extra": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/jsonwebtoken": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz", + "integrity": "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==", + "requires": { + "@types/node": "*" + } + }, + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + }, + "@types/node": { + "version": "16.18.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.39.tgz", + "integrity": "sha512-8q9ZexmdYYyc5/cfujaXb4YOucpQxAV4RMG0himLyDUOEr8Mr79VrqsFI+cQ2M2h89YIuy95lbxuYjxT4Hk4kQ==" + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "async-mutex": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.0.tgz", + "integrity": "sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==", + "requires": { + "tslib": "^2.4.0" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "azure-devops-node-api": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "azure-pipelines-task-lib": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.4.0.tgz", + "integrity": "sha512-JgtxfjxjRA+KWY0Q5UC1fo48nkbVxFHgKEuasKdJMSNxHydOyNlB5MNw4UTiTXp9b0nnqKeOQOBn5RN3go3aPg==", + "requires": { + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + } + }, + "azure-pipelines-tasks-artifacts-common": { + "version": "2.225.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.225.0.tgz", + "integrity": "sha512-08XSqanlmZ4STq4AIOHV44Dz7Tpxjq7XpKVmlOoM/g38spb4B+XUQmZ3c+477co3Dye7c5X11zs2ZadAatmiww==", + "requires": { + "@types/fs-extra": "8.0.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "azure-devops-node-api": "12.0.0", + "azure-pipelines-task-lib": "^4.2.0", + "fs-extra": "8.1.0", + "semver": "6.3.0" + }, + "dependencies": { + "@types/node": { + "version": "16.18.38", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.38.tgz", + "integrity": "sha512-6sfo1qTulpVbkxECP+AVrHV9OoJqhzCsfTNp5NIG+enM4HyM3HvZCO798WShIXBN0+QtDIcutJCjsVYnQP5rIQ==" + }, + "azure-pipelines-task-lib": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.4.0.tgz", + "integrity": "sha512-JgtxfjxjRA+KWY0Q5UC1fo48nkbVxFHgKEuasKdJMSNxHydOyNlB5MNw4UTiTXp9b0nnqKeOQOBn5RN3go3aPg==", + "requires": { + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } + } + }, + "mockery": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "azure-pipelines-tasks-azure-arm-rest": { + "version": "3.223.3", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-azure-arm-rest/-/azure-pipelines-tasks-azure-arm-rest-3.223.3.tgz", + "integrity": "sha512-kja8LPk5krRZpr8YAVpiYaxzYhn9jEGEkSkMSSDGpqnlJVf6maEkfYdyTvnXQ693wW9AGYQ/eiR75f2Rddu+nA==", + "requires": { + "@azure/msal-node": "1.14.5", + "@types/jsonwebtoken": "^8.5.8", + "@types/mocha": "^5.2.7", + "@types/node": "^10.17.0", + "@types/q": "1.5.4", + "async-mutex": "^0.4.0", + "azure-devops-node-api": "^12.0.0", + "azure-pipelines-task-lib": "^3.4.0", + "https-proxy-agent": "^4.0.0", + "jsonwebtoken": "^8.5.1", + "node-fetch": "^2.6.7", + "q": "1.5.1", + "typed-rest-client": "1.8.4", + "xml2js": "0.4.13" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "azure-pipelines-task-lib": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.4.0.tgz", + "integrity": "sha512-3eC4OTFw+7xD7A2aUhxR/j+jRlTI+vVfS0CGxt1pCLs4c/KmY0tQWgbqjD3157kmiucWxELBvgZHaD2gCBe9fg==", + "requires": { + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + } + }, + "mockery": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "typed-rest-client": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", + "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "requires": { + "@types/node": "^10.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + } + } + }, + "https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "requires": { + "agent-base": "5", + "debug": "4" + }, + "dependencies": { + "agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==" + } + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mockery": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "requires": { + "get-port": "^3.1.0" + } + }, + "then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + }, + "typed-rest-client": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", + "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typescript": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", + "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", + "dev": true + }, + "underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xml2js": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.13.tgz", + "integrity": "sha512-BoxD65qWA2p4znzbaati/Td19uFEc0X6ydj0bFphJO62RrNaGqOyW6ljLWPo3GKDbvW/6dnxAoRX01BsgEWsMA==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": ">=2.4.6" + } + }, + "xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==" + } + } +} diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/package.json b/_generated/AzureResourceManagerTemplateDeploymentV3/package.json new file mode 100644 index 000000000000..f424495da5da --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/package.json @@ -0,0 +1,16 @@ +{ + "name": "AzureResourceManagerTemplateDeployment", + "main": "main.js", + "dependencies": { + "@types/node": "^16.11.39", + "agent-base": "^6.0.2", + "azure-pipelines-task-lib": "^4.4.0", + "azure-pipelines-tasks-artifacts-common": "^2.225.0", + "azure-pipelines-tasks-azure-arm-rest": "3.223.3", + "moment": "^2.29.4", + "typed-rest-client": "^1.8.9" + }, + "devDependencies": { + "typescript": "4.0.2" + } +} diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/task.json b/_generated/AzureResourceManagerTemplateDeploymentV3/task.json new file mode 100644 index 000000000000..87c54da97336 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/task.json @@ -0,0 +1,342 @@ +{ + "id": "94A74903-F93F-4075-884F-DC11F34058B4", + "name": "AzureResourceManagerTemplateDeployment", + "friendlyName": "ARM template deployment", + "description": "Deploy an Azure Resource Manager (ARM) template to all the deployment scopes", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment", + "helpMarkDown": "[Learn more about this task](https://aka.ms/armtaskreadme)", + "category": "Deploy", + "releaseNotes": "- Added support for bicepparam.", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 3, + "Minor": 235, + "Patch": 0 + }, + "demands": [], + "minimumAgentVersion": "2.119.1", + "groups": [ + { + "name": "AzureDetails", + "displayName": "Azure Details", + "isExpanded": true + }, + { + "name": "Template", + "displayName": "Template", + "isExpanded": true, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + }, + { + "name": "Advanced", + "displayName": "Advanced", + "isExpanded": true, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + } + ], + "inputs": [ + { + "name": "deploymentScope", + "type": "pickList", + "label": "Deployment scope", + "defaultValue": "Resource Group", + "required": "true", + "groupName": "AzureDetails", + "helpMarkDown": "Deployment scope of the deployment. To know more abour deployment scopes, refer this [link](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "options": { + "Management Group": "Management Group", + "Subscription": "Subscription", + "Resource Group": "Resource Group" + } + }, + { + "name": "ConnectedServiceName", + "aliases": [ + "azureResourceManagerConnection" + ], + "type": "connectedService:AzureRM", + "label": "Azure Resource Manager connection", + "defaultValue": "", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Select the Azure Resource Manager service connection having access to the selected deployment scope.", + "properties": { + "EndpointFilterRule": "ScopeLevel >= deploymentScope" + } + }, + { + "name": "subscriptionName", + "aliases": [ + "subscriptionId" + ], + "type": "pickList", + "label": "Subscription", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Select the Azure subscription", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "deploymentScope != Management Group" + }, + { + "name": "action", + "type": "pickList", + "label": "Action", + "defaultValue": "Create Or Update Resource Group", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Action to be performed on the Azure resources or resource group.", + "options": { + "Create Or Update Resource Group": "Create or update resource group", + "DeleteRG": "Delete resource group" + }, + "visibleRule": "deploymentScope = Resource Group" + }, + { + "name": "resourceGroupName", + "type": "pickList", + "label": "Resource group", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Provide the name of a resource group.", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "deploymentScope = Resource Group" + }, + { + "name": "location", + "type": "pickList", + "label": "Location", + "required": true, + "helpMarkDown": "For Resource Group deployment scope: Location for deploying the resource group. If the resource group already exists in the subscription, then this value will be ignored.\n For other deployment scope: Location to store deployment metadata.", + "groupName": "AzureDetails", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + }, + { + "name": "templateLocation", + "type": "pickList", + "label": "Template location", + "required": true, + "defaultValue": "Linked artifact", + "groupName": "Template", + "options": { + "Linked artifact": "Linked artifact", + "URL of the file": "URL of the file" + } + }, + { + "name": "csmFileLink", + "type": "string", + "label": "Template link", + "defaultValue": "", + "required": true, + "groupName": "Template", + "helpMarkDown": "Specify the URL of the template file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nTo deploy a template stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `/template.json?` To upload a template file (or a linked template) to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911).\n\nTo view the template parameters in a grid, click on “…†next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.", + "visibleRule": "templateLocation = URL of the file" + }, + { + "name": "csmParametersFileLink", + "type": "string", + "label": "Template parameters link", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "Specify the URL of the parameters file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nTo use a file stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `/template.json?` To upload a parameters file to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911). \n\nTo view the template parameters in a grid, click on “…†next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.", + "visibleRule": " templateLocation = URL of the file" + }, + { + "name": "csmFile", + "type": "filePath", + "label": "Template", + "defaultValue": "", + "required": true, + "groupName": "Template", + "visibleRule": " templateLocation = Linked artifact", + "helpMarkDown": "Specify the path or a pattern pointing to the Azure Resource Manager template. For more information about the templates see https://aka.ms/azuretemplates. To get started immediately use template https://aka.ms/sampletemplate. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0" + }, + { + "name": "csmParametersFile", + "type": "filePath", + "label": "Template parameters", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0", + "visibleRule": " templateLocation = Linked artifact" + }, + { + "name": "overrideParameters", + "type": "multiLine", + "label": "Override template parameters", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "To view the template parameters in a grid, click on “…†next to Override Parameters textbox. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS. Or type the template parameters to override in the textbox. Example,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
If the parameter value you're using has multiple words, enclose them in quotes, even if you're passing them using variables. For example, -name \"parameter value\" -name2 \"$(var)\"
To override object type parameters use stringified JSON objects. For example, -options [\"option1\"] -map {\"key1\": \"value1\" }. ", + "properties": { + "editorExtension": "ms.vss-services-azure.azurerg-parameters-grid" + } + }, + { + "name": "deploymentMode", + "type": "pickList", + "label": "Deployment mode", + "defaultValue": "Incremental", + "required": true, + "groupName": "Template", + "helpMarkDown": "Refer to [this](https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-modes) for more details. \n\n Incremental mode handles deployments as incremental updates to the resource group. It leaves unchanged resources that exist in the resource group but are not specified in the template. \n\n Complete mode deletes resources that are not in your template. Complete mode takes relatively more time than incremental mode. If the task times out, consider increasing the timeout, or changing the mode to 'Incremental'. \n **[Warning] Complete mode will delete all the existing resources in the resource group that are not specified in the template. Do review if the resource group you're deploying to doesn't contain any necessary resources that are not specified in the template.** \n\n Validate mode enables you to find problems with the template before creating actual resources. Validate mode enables you to find problems with the template before creating actual resources. Please note that this mode will anyways create a resource group even if it does not deploy any resource.\n\n By default, Incremental mode is used.", + "options": { + "Incremental": "Incremental", + "Complete": "Complete", + "Validation": "Validation only" + } + }, + { + "name": "deploymentName", + "type": "string", + "label": "Deployment name", + "defaultValue": "", + "required": false, + "groupName": "Advanced", + "helpMarkDown": "Specifies the name of the resource group deployment to create." + }, + { + "name": "deploymentOutputs", + "type": "string", + "label": "Deployment outputs", + "required": false, + "defaultValue": "", + "groupName": "Advanced", + "helpMarkDown": "Provide a name for the variable for the output variable which will contain the outputs section of the current deployment object in string format. You can use the “ConvertFrom-Json†PowerShell cmdlet to parse the JSON object and access the individual output values. For more details refer to [this](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)" + }, + { + "name": "addSpnToEnvironment", + "type": "boolean", + "label": "Access service principal details in override parameters", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Adds service principal id and key of the Azure endpoint you chose to the script's execution environment. You can use these variables: `$servicePrincipalId` and `$servicePrincipalKey` in your override parameters like `-key $servicePrincipalKey`", + "groupName": "Advanced" + }, + { + "name": "useWithoutJSON", + "type": "boolean", + "label": "Use individual output values without JSON.Stringify applied", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Individual output values are being converted via JSON.Stringify by default. If you want to use the output values as it is without converting them via JSON.Stringify, enable this option. For more details refer to [this](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "groupName": "Advanced" + } + ], + "dataSourceBindings": [ + { + "target": "subscriptionName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureSubscriptions", + "resultTemplate": "{ \"Value\" : \"{{{subscriptionId}}}\", \"DisplayValue\" : \"{{{displayName}}} ({{{subscriptionId}}})\" }" + }, + { + "target": "resourceGroupName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureResourceGroupsByExplicitSubscription", + "parameters": { + "subscriptionId": "$(subscriptionName)" + } + }, + { + "target": "location", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureLocationsByDeploymentScope", + "parameters": { + "subscriptionId": "$(subscriptionName)", + "deploymentScope": "$(deploymentScope)" + } + } + ], + "instanceNameFormat": "ARM Template deployment: $(deploymentScope) scope", + "execution": { + "Node10": { + "target": "main.js" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } + }, + "messages": { + "CheckResourceGroupExistence": "Checking if the following resource group exists: %s.", + "ResourceGroupStatusFetchFailed": "Failed to check the resource group status. Error: %s.", + "ResourceGroupStatus": "Resource group exists: %s.", + "ResourceGroupCreationFailed": "Failed to create the resource group. Error: %s", + "CreatingNewRG": "Creating resource Group: %s", + "CreatedRG": "Resource Group created successfully.", + "CreatingTemplateDeployment": "Creating deployment parameters.", + "TemplateParsingFailed": "Ensure the Template file ( '%s' ) is valid. Task failed while parsing with following error: %s", + "FileFetchFailed": "Failed to download the file. URL: '%s'. Error: %s", + "ParametersFileParsingFailed": "Ensure the Parameters file ( '%s' ) is valid. Task failed while parsing with following error: %s", + "StartingDeployment": "Starting Deployment.", + "CreateTemplateDeploymentSucceeded": "Successfully deployed the template.", + "CreateTemplateDeploymentFailed": "Task failed while creating or updating the template deployment.", + "ErrorsInYourDeployment": "There were errors in your deployment. Error code: %s.", + "Details": "Details:", + "ErrorType": "Error Type:", + "PolicyDefinitionName": "Policy Definition Name :", + "PolicyAssignmentName": "Policy Assignment Name :", + "StartingValidation": "Starting template validation.", + "ValidDeployment": "Template deployment validation was completed successfully.", + "CreateTemplateDeploymentValidationFailed": "Template validation failed. Error: %s.", + "DeletingResourceGroup": "Deleting resource group: %s", + "CouldNotDeletedResourceGroup": "Could not delete resource group: '%s'. Operation failed with error: %s", + "DeletedResourceGroup": "Deleted resource group: %s", + "InvalidAction": "This action is not defined. Check with the task author.", + "ARGD_ConstructorFailed": "Task failed while initializing. Error: %s", + "InvalidTemplateLocation": "The template location supplied is invalid. Task only supports 'Linked artifact' or 'URL of the file'", + "EncodingNotSupported": "Encoding of the file '%s' is '%s' which is not supported. Supported file encodings are ['utf-8', 'utf-16le']", + "CouldNotDetectEncoding": "Could not detect encoding of file '%s'", + "DetectedFileEncoding": "The detected encoding for file '%s' is '%s'", + "ErrorWhileParsingParameter": "There was an error while overriding '%s' parameter because of '%s', make sure it follows JavaScript Object Notation (JSON)", + "TemplateFilePatternMatchingMoreThanOneFile": "Found multiple files matching template file pattern: %s", + "TemplateParameterFilePatternMatchingMoreThanOneFile": "Found multiple files matching template parameters file pattern: %s", + "TemplateFilePatternMatchingNoFile": "Could not find any file matching the template file pattern", + "TemplateParameterFilePatternMatchingNoFile": "Could not find any file matching the template file pattern", + "ParametersPatternMatchesADirectoryInsteadOfAFile": "Parameters file pattern matches a directory instead of a file.", + "CsmFilePatternMatchesADirectoryInsteadOfAFile": "Template file pattern matches a directory instead of a file: %s", + "AddedOutputVariable": "Updated output variable '%s', which contains the outputs section of the current deployment object in string format.", + "UnableToReadResponseBody": "Unable to read response body. Error: %s", + "MoreInformationOnAzurePortal": "More information on Azure Portal", + "LogDeploymentName": "Deployment name is %s", + "ResourceGroupNameNotProvided": "Resource Group name should be provided", + "LocationNotProvided": "Location is required for deployment", + "ARMServiceConnectionScope": "ARM Service Connection deployment scope - %s", + "ServicePrincipalRoleAssignmentDetails": "Please make sure the Service Principal with name %s is assigned the right roles for the entity %s. Follow the link for more details: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal", + "ServicePrincipalFetchFailed": "Error while fetching Service Principal details: %s", + "FindMoreDeploymentDetailsAzurePortal": "Task successfully created an Azure Resource Manager deployment, but the deployment failed. Please see more detailed Azure resource manager deployment logs at: (Please Copy-Paste the link) %s", + "ManagedServiceIdentityDetails": "Please make sure the Managed Service Identity used for deployment is assigned the right roles for the Resource Group %s. Follow the link for more details: https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "CompleteDeploymentModeNotSupported": "Deployment mode 'Complete' is not supported for deployment at '%s' scope", + "TemplateValidationFailure": "Validation errors were found in the Azure Resource Manager template. This can potentially cause template deployment to fail. %s. Please follow https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-syntax", + "TroubleshootingGuide": "Check out the troubleshooting guide to see if your issue is addressed: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "IncompatibleAzureCLIVersion": "Azure CLI version should be >= 2.20.0", + "AzureCLINotFound": "Azure CLI not found on the agent.", + "FailedToFetchAzureCLIVersion": "Failed to fetch az cli version from agent. Error: %s", + "BicepBuildFailed": "\"az bicep build\" failed. Error: %s", + "BicepFileCleanupFailed": "Failed to delete Bicep file. Error: %s", + "LoginFailed": "Azure login failed: %s", + "MSILoginFailed": "Azure login failed using Managed Service Identity: %s", + "AuthSchemeNotSupported": "Auth Scheme %s is not supported", + "ErrorInSettingUpSubscription": "Error in setting up subscription: %s", + "BicepParamBuildFailed": "\"az bicep build-param\" failed. Error: %s", + "IncompatibleAzureCLIVersionBicepParam": "Azure CLI version should be >= 2.47.0 to use .bicepparam file" + }, + "_buildConfigMapping": { + "Default": "3.235.0", + "Node20_229_2": "3.235.1" + } +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/task.loc.json b/_generated/AzureResourceManagerTemplateDeploymentV3/task.loc.json new file mode 100644 index 000000000000..4c69fdd7b7f6 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/task.loc.json @@ -0,0 +1,342 @@ +{ + "id": "94A74903-F93F-4075-884F-DC11F34058B4", + "name": "AzureResourceManagerTemplateDeployment", + "friendlyName": "ms-resource:loc.friendlyName", + "description": "ms-resource:loc.description", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment", + "helpMarkDown": "ms-resource:loc.helpMarkDown", + "category": "Deploy", + "releaseNotes": "ms-resource:loc.releaseNotes", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 3, + "Minor": 235, + "Patch": 0 + }, + "demands": [], + "minimumAgentVersion": "2.119.1", + "groups": [ + { + "name": "AzureDetails", + "displayName": "ms-resource:loc.group.displayName.AzureDetails", + "isExpanded": true + }, + { + "name": "Template", + "displayName": "ms-resource:loc.group.displayName.Template", + "isExpanded": true, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + }, + { + "name": "Advanced", + "displayName": "ms-resource:loc.group.displayName.Advanced", + "isExpanded": true, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + } + ], + "inputs": [ + { + "name": "deploymentScope", + "type": "pickList", + "label": "ms-resource:loc.input.label.deploymentScope", + "defaultValue": "Resource Group", + "required": "true", + "groupName": "AzureDetails", + "helpMarkDown": "ms-resource:loc.input.help.deploymentScope", + "options": { + "Management Group": "Management Group", + "Subscription": "Subscription", + "Resource Group": "Resource Group" + } + }, + { + "name": "ConnectedServiceName", + "aliases": [ + "azureResourceManagerConnection" + ], + "type": "connectedService:AzureRM", + "label": "ms-resource:loc.input.label.ConnectedServiceName", + "defaultValue": "", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "ms-resource:loc.input.help.ConnectedServiceName", + "properties": { + "EndpointFilterRule": "ScopeLevel >= deploymentScope" + } + }, + { + "name": "subscriptionName", + "aliases": [ + "subscriptionId" + ], + "type": "pickList", + "label": "ms-resource:loc.input.label.subscriptionName", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "ms-resource:loc.input.help.subscriptionName", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "deploymentScope != Management Group" + }, + { + "name": "action", + "type": "pickList", + "label": "ms-resource:loc.input.label.action", + "defaultValue": "Create Or Update Resource Group", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "ms-resource:loc.input.help.action", + "options": { + "Create Or Update Resource Group": "Create or update resource group", + "DeleteRG": "Delete resource group" + }, + "visibleRule": "deploymentScope = Resource Group" + }, + { + "name": "resourceGroupName", + "type": "pickList", + "label": "ms-resource:loc.input.label.resourceGroupName", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "ms-resource:loc.input.help.resourceGroupName", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "deploymentScope = Resource Group" + }, + { + "name": "location", + "type": "pickList", + "label": "ms-resource:loc.input.label.location", + "required": true, + "helpMarkDown": "ms-resource:loc.input.help.location", + "groupName": "AzureDetails", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + }, + { + "name": "templateLocation", + "type": "pickList", + "label": "ms-resource:loc.input.label.templateLocation", + "required": true, + "defaultValue": "Linked artifact", + "groupName": "Template", + "options": { + "Linked artifact": "Linked artifact", + "URL of the file": "URL of the file" + } + }, + { + "name": "csmFileLink", + "type": "string", + "label": "ms-resource:loc.input.label.csmFileLink", + "defaultValue": "", + "required": true, + "groupName": "Template", + "helpMarkDown": "ms-resource:loc.input.help.csmFileLink", + "visibleRule": "templateLocation = URL of the file" + }, + { + "name": "csmParametersFileLink", + "type": "string", + "label": "ms-resource:loc.input.label.csmParametersFileLink", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "ms-resource:loc.input.help.csmParametersFileLink", + "visibleRule": " templateLocation = URL of the file" + }, + { + "name": "csmFile", + "type": "filePath", + "label": "ms-resource:loc.input.label.csmFile", + "defaultValue": "", + "required": true, + "groupName": "Template", + "visibleRule": " templateLocation = Linked artifact", + "helpMarkDown": "ms-resource:loc.input.help.csmFile" + }, + { + "name": "csmParametersFile", + "type": "filePath", + "label": "ms-resource:loc.input.label.csmParametersFile", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "ms-resource:loc.input.help.csmParametersFile", + "visibleRule": " templateLocation = Linked artifact" + }, + { + "name": "overrideParameters", + "type": "multiLine", + "label": "ms-resource:loc.input.label.overrideParameters", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "ms-resource:loc.input.help.overrideParameters", + "properties": { + "editorExtension": "ms.vss-services-azure.azurerg-parameters-grid" + } + }, + { + "name": "deploymentMode", + "type": "pickList", + "label": "ms-resource:loc.input.label.deploymentMode", + "defaultValue": "Incremental", + "required": true, + "groupName": "Template", + "helpMarkDown": "ms-resource:loc.input.help.deploymentMode", + "options": { + "Incremental": "Incremental", + "Complete": "Complete", + "Validation": "Validation only" + } + }, + { + "name": "deploymentName", + "type": "string", + "label": "ms-resource:loc.input.label.deploymentName", + "defaultValue": "", + "required": false, + "groupName": "Advanced", + "helpMarkDown": "ms-resource:loc.input.help.deploymentName" + }, + { + "name": "deploymentOutputs", + "type": "string", + "label": "ms-resource:loc.input.label.deploymentOutputs", + "required": false, + "defaultValue": "", + "groupName": "Advanced", + "helpMarkDown": "ms-resource:loc.input.help.deploymentOutputs" + }, + { + "name": "addSpnToEnvironment", + "type": "boolean", + "label": "ms-resource:loc.input.label.addSpnToEnvironment", + "defaultValue": "false", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.addSpnToEnvironment", + "groupName": "Advanced" + }, + { + "name": "useWithoutJSON", + "type": "boolean", + "label": "ms-resource:loc.input.label.useWithoutJSON", + "defaultValue": "false", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.useWithoutJSON", + "groupName": "Advanced" + } + ], + "dataSourceBindings": [ + { + "target": "subscriptionName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureSubscriptions", + "resultTemplate": "{ \"Value\" : \"{{{subscriptionId}}}\", \"DisplayValue\" : \"{{{displayName}}} ({{{subscriptionId}}})\" }" + }, + { + "target": "resourceGroupName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureResourceGroupsByExplicitSubscription", + "parameters": { + "subscriptionId": "$(subscriptionName)" + } + }, + { + "target": "location", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureLocationsByDeploymentScope", + "parameters": { + "subscriptionId": "$(subscriptionName)", + "deploymentScope": "$(deploymentScope)" + } + } + ], + "instanceNameFormat": "ms-resource:loc.instanceNameFormat", + "execution": { + "Node10": { + "target": "main.js" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } + }, + "messages": { + "CheckResourceGroupExistence": "ms-resource:loc.messages.CheckResourceGroupExistence", + "ResourceGroupStatusFetchFailed": "ms-resource:loc.messages.ResourceGroupStatusFetchFailed", + "ResourceGroupStatus": "ms-resource:loc.messages.ResourceGroupStatus", + "ResourceGroupCreationFailed": "ms-resource:loc.messages.ResourceGroupCreationFailed", + "CreatingNewRG": "ms-resource:loc.messages.CreatingNewRG", + "CreatedRG": "ms-resource:loc.messages.CreatedRG", + "CreatingTemplateDeployment": "ms-resource:loc.messages.CreatingTemplateDeployment", + "TemplateParsingFailed": "ms-resource:loc.messages.TemplateParsingFailed", + "FileFetchFailed": "ms-resource:loc.messages.FileFetchFailed", + "ParametersFileParsingFailed": "ms-resource:loc.messages.ParametersFileParsingFailed", + "StartingDeployment": "ms-resource:loc.messages.StartingDeployment", + "CreateTemplateDeploymentSucceeded": "ms-resource:loc.messages.CreateTemplateDeploymentSucceeded", + "CreateTemplateDeploymentFailed": "ms-resource:loc.messages.CreateTemplateDeploymentFailed", + "ErrorsInYourDeployment": "ms-resource:loc.messages.ErrorsInYourDeployment", + "Details": "ms-resource:loc.messages.Details", + "ErrorType": "ms-resource:loc.messages.ErrorType", + "PolicyDefinitionName": "ms-resource:loc.messages.PolicyDefinitionName", + "PolicyAssignmentName": "ms-resource:loc.messages.PolicyAssignmentName", + "StartingValidation": "ms-resource:loc.messages.StartingValidation", + "ValidDeployment": "ms-resource:loc.messages.ValidDeployment", + "CreateTemplateDeploymentValidationFailed": "ms-resource:loc.messages.CreateTemplateDeploymentValidationFailed", + "DeletingResourceGroup": "ms-resource:loc.messages.DeletingResourceGroup", + "CouldNotDeletedResourceGroup": "ms-resource:loc.messages.CouldNotDeletedResourceGroup", + "DeletedResourceGroup": "ms-resource:loc.messages.DeletedResourceGroup", + "InvalidAction": "ms-resource:loc.messages.InvalidAction", + "ARGD_ConstructorFailed": "ms-resource:loc.messages.ARGD_ConstructorFailed", + "InvalidTemplateLocation": "ms-resource:loc.messages.InvalidTemplateLocation", + "EncodingNotSupported": "ms-resource:loc.messages.EncodingNotSupported", + "CouldNotDetectEncoding": "ms-resource:loc.messages.CouldNotDetectEncoding", + "DetectedFileEncoding": "ms-resource:loc.messages.DetectedFileEncoding", + "ErrorWhileParsingParameter": "ms-resource:loc.messages.ErrorWhileParsingParameter", + "TemplateFilePatternMatchingMoreThanOneFile": "ms-resource:loc.messages.TemplateFilePatternMatchingMoreThanOneFile", + "TemplateParameterFilePatternMatchingMoreThanOneFile": "ms-resource:loc.messages.TemplateParameterFilePatternMatchingMoreThanOneFile", + "TemplateFilePatternMatchingNoFile": "ms-resource:loc.messages.TemplateFilePatternMatchingNoFile", + "TemplateParameterFilePatternMatchingNoFile": "ms-resource:loc.messages.TemplateParameterFilePatternMatchingNoFile", + "ParametersPatternMatchesADirectoryInsteadOfAFile": "ms-resource:loc.messages.ParametersPatternMatchesADirectoryInsteadOfAFile", + "CsmFilePatternMatchesADirectoryInsteadOfAFile": "ms-resource:loc.messages.CsmFilePatternMatchesADirectoryInsteadOfAFile", + "AddedOutputVariable": "ms-resource:loc.messages.AddedOutputVariable", + "UnableToReadResponseBody": "ms-resource:loc.messages.UnableToReadResponseBody", + "MoreInformationOnAzurePortal": "ms-resource:loc.messages.MoreInformationOnAzurePortal", + "LogDeploymentName": "ms-resource:loc.messages.LogDeploymentName", + "ResourceGroupNameNotProvided": "ms-resource:loc.messages.ResourceGroupNameNotProvided", + "LocationNotProvided": "ms-resource:loc.messages.LocationNotProvided", + "ARMServiceConnectionScope": "ms-resource:loc.messages.ARMServiceConnectionScope", + "ServicePrincipalRoleAssignmentDetails": "ms-resource:loc.messages.ServicePrincipalRoleAssignmentDetails", + "ServicePrincipalFetchFailed": "ms-resource:loc.messages.ServicePrincipalFetchFailed", + "FindMoreDeploymentDetailsAzurePortal": "ms-resource:loc.messages.FindMoreDeploymentDetailsAzurePortal", + "ManagedServiceIdentityDetails": "ms-resource:loc.messages.ManagedServiceIdentityDetails", + "CompleteDeploymentModeNotSupported": "ms-resource:loc.messages.CompleteDeploymentModeNotSupported", + "TemplateValidationFailure": "ms-resource:loc.messages.TemplateValidationFailure", + "TroubleshootingGuide": "ms-resource:loc.messages.TroubleshootingGuide", + "IncompatibleAzureCLIVersion": "ms-resource:loc.messages.IncompatibleAzureCLIVersion", + "AzureCLINotFound": "ms-resource:loc.messages.AzureCLINotFound", + "FailedToFetchAzureCLIVersion": "ms-resource:loc.messages.FailedToFetchAzureCLIVersion", + "BicepBuildFailed": "ms-resource:loc.messages.BicepBuildFailed", + "BicepFileCleanupFailed": "ms-resource:loc.messages.BicepFileCleanupFailed", + "LoginFailed": "ms-resource:loc.messages.LoginFailed", + "MSILoginFailed": "ms-resource:loc.messages.MSILoginFailed", + "AuthSchemeNotSupported": "ms-resource:loc.messages.AuthSchemeNotSupported", + "ErrorInSettingUpSubscription": "ms-resource:loc.messages.ErrorInSettingUpSubscription", + "BicepParamBuildFailed": "ms-resource:loc.messages.BicepParamBuildFailed", + "IncompatibleAzureCLIVersionBicepParam": "ms-resource:loc.messages.IncompatibleAzureCLIVersionBicepParam" + }, + "_buildConfigMapping": { + "Default": "3.235.0", + "Node20_229_2": "3.235.1" + } +} \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3/tsconfig.json b/_generated/AzureResourceManagerTemplateDeploymentV3/tsconfig.json new file mode 100644 index 000000000000..875bb90cd697 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3/tsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "commonjs" + } +} diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Strings/resources.resjson/en-US/resources.resjson index 29eda715e723..1f180d7426ca 100644 --- a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -3,7 +3,7 @@ "loc.helpMarkDown": "[Learn more about this task](https://aka.ms/armtaskreadme)", "loc.description": "Deploy an Azure Resource Manager (ARM) template to all the deployment scopes", "loc.instanceNameFormat": "ARM Template deployment: $(deploymentScope) scope", - "loc.releaseNotes": "- Added support for deployment at all the deployment scopes.\n- Removed all the VM related actions.", + "loc.releaseNotes": "- Added support for bicepparam.", "loc.group.displayName.AzureDetails": "Azure Details", "loc.group.displayName.Template": "Template", "loc.group.displayName.Advanced": "Advanced", @@ -27,7 +27,7 @@ "loc.input.label.csmFile": "Template", "loc.input.help.csmFile": "Specify the path or a pattern pointing to the Azure Resource Manager template. For more information about the templates see https://aka.ms/azuretemplates. To get started immediately use template https://aka.ms/sampletemplate. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0", "loc.input.label.csmParametersFile": "Template parameters", - "loc.input.help.csmParametersFile": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0", + "loc.input.help.csmParametersFile": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template. 'Linked artifact' also has support for Bicep Param files when the Azure CLI version > 2.47.0", "loc.input.label.overrideParameters": "Override template parameters", "loc.input.help.overrideParameters": "To view the template parameters in a grid, click on “…†next to Override Parameters textbox. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS. Or type the template parameters to override in the textbox. Example,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
If the parameter value you're using has multiple words, enclose them in quotes, even if you're passing them using variables. For example, -name \"parameter value\" -name2 \"$(var)\"
To override object type parameters use stringified JSON objects. For example, -options [\"option1\"] -map {\"key1\": \"value1\" }. ", "loc.input.label.deploymentMode": "Deployment mode", @@ -99,5 +99,7 @@ "loc.messages.LoginFailed": "Azure login failed: %s", "loc.messages.MSILoginFailed": "Azure login failed using Managed Service Identity: %s", "loc.messages.AuthSchemeNotSupported": "Auth Scheme %s is not supported", - "loc.messages.ErrorInSettingUpSubscription": "Error in setting up subscription: %s" + "loc.messages.ErrorInSettingUpSubscription": "Error in setting up subscription: %s", + "loc.messages.BicepParamBuildFailed": "\"az bicep build-param\" failed. Error: %s", + "loc.messages.IncompatibleAzureCLIVersionBicepParam": "Azure CLI version should be >= 2.47.0 to use .bicepparam file" } \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/CSMwithBicep.bicep b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/CSMwithBicep.bicep index ad2523a9f7b9..69219e35cb2b 100644 --- a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/CSMwithBicep.bicep +++ b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/CSMwithBicep.bicep @@ -1,10 +1,10 @@ param location string = 'eastasia' -var storageAccountName_var = 'deepak2121' +var storageAccountName = 'deepak2121' var storageAccountType = 'Premium_LRS' resource storageAccount 'Microsoft.Storage/storageAccounts@2021-01-01' = { - name: toLower(take(storageAccountName_var, 24)) + name: toLower(take(storageAccountName, 24)) location: location sku: { name: storageAccountType @@ -15,4 +15,4 @@ resource storageAccount 'Microsoft.Storage/storageAccounts@2021-01-01' = { output storageAccount_Name string = storageAccount.name output storageAccount_Location string = storageAccount.location output storageAccount_SKUName string = storageAccount.sku.name -output storageAccount_Kind string = storageAccount.kind \ No newline at end of file +output storageAccount_Kind string = storageAccount.kind diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/CSMwithBicep.bicepparam b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/CSMwithBicep.bicepparam new file mode 100644 index 000000000000..358b83b8dc21 --- /dev/null +++ b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/CSMwithBicep.bicepparam @@ -0,0 +1,3 @@ +using 'CSMwithBicep.bicep' + +param location = 'eastasia' diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/L0.ts b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/L0.ts index bde033774ab4..f8fb2d0a8e24 100644 --- a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/L0.ts +++ b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/L0.ts @@ -226,6 +226,26 @@ describe('Azure Resource Manager Template Deployment', function () { } }); + it('Successfully triggered createOrUpdate deployment using bicep file with bicepparam file', (done) => { + let tp = path.join(__dirname, 'createOrUpdate.js'); + process.env["csmFile"] = "CSMwithBicep.bicep"; + process.env["csmParametersFile"] = "CSMwithBicep.bicepparam"; + process.env["deploymentOutputs"] = "someVar"; + let tr = new ttm.MockTestRunner(tp); + tr.run(); + try { + assert(tr.succeeded, "Should have succeeded"); + assert(tr.stdout.indexOf("deployments.createOrUpdate is called") > 0, "deployments.createOrUpdate function should have been called from azure-sdk"); + assert(tr.stdout.indexOf("##vso[task.setvariable variable=someVar;]") >= 0, "deploymentsOutput should have been updated"); + done(); + } + catch (error) { + console.log("STDERR", tr.stderr); + console.log("STDOUT", tr.stdout); + done(error); + } + }); + // it('createOrUpdate deployment should fail when bicep file contains error', (done) => { // let tp = path.join(__dirname, 'createOrUpdate.js'); // process.env["csmFile"] = "CSMwithBicepWithError.bicep"; diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/createOrUpdate.ts b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/createOrUpdate.ts index 7ebbe798b903..c4c7d9ebc73c 100644 --- a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/createOrUpdate.ts +++ b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/Tests/createOrUpdate.ts @@ -33,12 +33,14 @@ process.env["ENDPOINT_AUTH_PARAMETER_AzureRM_AUTHENTICATIONTYPE"] = "key"; var CSMJson = path.join(__dirname, "CSM.json"); var CSMBicep = path.join(__dirname, "CSMwithBicep.bicep"); +var CSMBicepParam = path.join(__dirname, "CSMwithBicep.bicepparam"); var CSMBicepWithWarning = path.join(__dirname, "CSMwithBicepWithWarning.bicep"); var CSMBicepWithError = path.join(__dirname, "CSMwithBicepWithError.bicep"); var CSMwithComments = path.join(__dirname, "CSMwithComments.json"); var defaults = path.join(__dirname, "defaults.json"); var faultyCSM = path.join(__dirname, "faultyCSM.json"); var bicepbuildCmd = `az bicep build --file ${path.join(__dirname, "CSMwithBicep.bicep")}`; +var bicepparambuildCmd = `az bicep build-params --file ${path.join(__dirname, "CSMwithBicep.bicepparam")} --outfile ${path.join(__dirname, "CSMwithBicep.parameters.json")}`; var bicepbuildwithWarning = `az bicep build --file ${path.join(__dirname, "CSMwithBicepWithWarning.bicep")}`; var azloginCommand = `az login --service-principal -u "id" --password="key" --tenant "tenant" --allow-no-subscriptions`; var azaccountSet = `az account set --subscription "sId"`; @@ -50,6 +52,7 @@ const successExec = { "stdout": "Executed Successfully" } exec[bicepbuildCmd] = successExec; +exec[bicepparambuildCmd] = successExec; exec[bicepbuildwithWarning] = successExec; exec[azloginCommand] = successExec; exec[azaccountSet] = successExec; @@ -66,6 +69,7 @@ let a: ma.TaskLibAnswers = { "findMatch": { "CSM.json": [CSMJson], "CSMwithBicep.bicep": [CSMBicep], + "CSMwithBicep.bicepparam": [CSMBicepParam], "CSMwithBicepWithWarning.bicep": [CSMBicepWithWarning], "CSMwithBicepWithError.bicep": [CSMBicepWithError], "CSMwithComments.json": [CSMwithComments], @@ -85,10 +89,14 @@ tr.registerMock('azure-pipelines-tasks-azure-arm-rest/azure-arm-resource', requi const fsClone = Object.assign({}, fs); fsClone.readFileSync = function(fileName: string): Buffer { - if (fileName.indexOf("CSMwithBicep") >= 0) { + if (fileName.indexOf("CSMwithBicep.json") >= 0 || fileName.indexOf("CSMwithBicepWithWarning.json") >= 0) { const filePath = fileName.replace('.json', '.bicep'); cpExec(`az bicep build --file ${filePath}`); } + else if (fileName.indexOf("CSMwithBicep.parameters.json") >= 0) { + const filePath = fileName.replace('.parameters.json', '.bicepparam'); + cpExec(`az bicep build-params --file ${filePath} --outfile ${fileName}`); + } var buffer = fs.readFileSync(fileName); return buffer; } diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/operations/Utils.ts b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/operations/Utils.ts index 53638b62bae2..88fd16cdcf26 100644 --- a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/operations/Utils.ts +++ b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/operations/Utils.ts @@ -427,23 +427,34 @@ class Utils { private static async getFilePathForLinkedArtifact(filePath: string, taskParameters: armDeployTaskParameters.TaskParameters): Promise { var filePathExtension: string = filePath.split('.').pop(); - if(filePathExtension === 'bicep'){ + if(filePathExtension.startsWith('bicep')){ let azcliversion = await this.getAzureCliVersion() if(parseFloat(azcliversion)){ - if(this.isBicepAvailable(azcliversion)){ + if(this.isBicepAvailable(azcliversion, filePathExtension)){ setAzureCloudBasedOnServiceEndpoint(taskParameters.connectedService); await loginAzureRM(taskParameters.connectedService); await this.execBicepBuild(filePath) - filePath = filePath.replace('.bicep', '.json') - this.cleanupFileList.push(filePath) + if(filePathExtension === 'bicep'){ + filePath = filePath.replace('.bicep', '.json') + } + else{ + filePath = filePath.replace('.bicepparam', '.parameters.json') + } await this.logoutAzure(); }else{ - throw new Error(tl.loc("IncompatibleAzureCLIVersion")); + //Maintain backwards compatibility for runs that are not using bicep param and do not require higher version + if(filePathExtension === 'bicep'){ + throw new Error(tl.loc("IncompatibleAzureCLIVersion")); + } + else{ + throw new Error(tl.loc("IncompatibleAzureCLIVersionBicepParam")); + } } }else{ throw new Error(tl.loc("AzureCLINotFound")); } } + return filePath } @@ -463,10 +474,28 @@ class Utils { } private static async execBicepBuild(filePath): Promise { - const result: IExecSyncResult = tl.execSync("az", `bicep build --file ${filePath}`); - if(result && result.code !== 0){ - throw new Error(tl.loc("BicepBuildFailed", result.stderr)); + var filePathExtension: string = filePath.split('.').pop(); + var finalPathExtension: string = ".json" + + if(filePathExtension === 'bicep'){ + const result: IExecSyncResult = tl.execSync("az", `bicep build --file ${filePath}`); + if(result && result.code !== 0){ + throw new Error(tl.loc("BicepBuildFailed", result.stderr)); + } + } + else{ + var fileName: string = filePath.split(path.sep).pop().split('.')[0]; + var fileDir: string = filePath.replace(path.sep + fileName +'.bicepparam', '') + finalPathExtension = ".parameters.json" + + //Using --outfile to avoid overwriting primary bicep file in the case bicep and param file have the the same file name. + const result: IExecSyncResult = tl.execSync("az", `bicep build-params --file ${filePath} --outfile ${path.join(fileDir, fileName + finalPathExtension)}`); + if(result && result.code !== 0){ + throw new Error(tl.loc("BicepParamBuildFailed", result.stderr)); + } } + + this.cleanupFileList.push(filePath.replace('.' + filePathExtension, finalPathExtension)) } private static async logoutAzure() { @@ -476,11 +505,15 @@ class Utils { } } - private static isBicepAvailable(azcliversion): Boolean{ + private static isBicepAvailable(azcliversion,extension): Boolean{ let majorVersion = azcliversion.split('.')[0] let minorVersion = azcliversion.split('.')[1] - // Support Bicep was introduced in az-cli 2.20.0 - if((majorVersion == 2 && minorVersion >= 20) || majorVersion > 2){ + // Support for Bicep format was introduced in az-cli 2.20.0 + if(((majorVersion == 2 && minorVersion >= 20) && extension === 'bicep') || majorVersion > 2){ + return true + } + // Support for Bicep Param format was introduced in az-cli 2.47.0 + else if(((majorVersion == 2 && minorVersion >= 47) && extension === 'bicepparam') || majorVersion > 2){ return true } return false diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/task.json b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/task.json index da7bddde715a..03b030f168a0 100644 --- a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/task.json +++ b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/task.json @@ -6,7 +6,7 @@ "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment", "helpMarkDown": "[Learn more about this task](https://aka.ms/armtaskreadme)", "category": "Deploy", - "releaseNotes": "- Added support for deployment at all the deployment scopes.\n- Removed all the VM related actions.", + "releaseNotes": "- Added support for bicepparam.", "visibility": [ "Build", "Release" @@ -14,8 +14,8 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 231, - "Patch": 2 + "Minor": 235, + "Patch": 1 }, "demands": [], "minimumAgentVersion": "2.119.1", @@ -335,10 +335,12 @@ "LoginFailed": "Azure login failed: %s", "MSILoginFailed": "Azure login failed using Managed Service Identity: %s", "AuthSchemeNotSupported": "Auth Scheme %s is not supported", - "ErrorInSettingUpSubscription": "Error in setting up subscription: %s" + "ErrorInSettingUpSubscription": "Error in setting up subscription: %s", + "BicepParamBuildFailed": "\"az bicep build-param\" failed. Error: %s", + "IncompatibleAzureCLIVersionBicepParam": "Azure CLI version should be >= 2.47.0 to use .bicepparam file" }, "_buildConfigMapping": { - "Default": "3.231.0", - "Node20_229_2": "3.231.2" + "Default": "3.235.0", + "Node20_229_2": "3.235.1" } } \ No newline at end of file diff --git a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/task.loc.json b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/task.loc.json index f1c5c700b5de..977d793f1ef3 100644 --- a/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/task.loc.json +++ b/_generated/AzureResourceManagerTemplateDeploymentV3_Node20/task.loc.json @@ -14,8 +14,8 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 231, - "Patch": 2 + "Minor": 235, + "Patch": 1 }, "demands": [], "minimumAgentVersion": "2.119.1", @@ -335,10 +335,12 @@ "LoginFailed": "ms-resource:loc.messages.LoginFailed", "MSILoginFailed": "ms-resource:loc.messages.MSILoginFailed", "AuthSchemeNotSupported": "ms-resource:loc.messages.AuthSchemeNotSupported", - "ErrorInSettingUpSubscription": "ms-resource:loc.messages.ErrorInSettingUpSubscription" + "ErrorInSettingUpSubscription": "ms-resource:loc.messages.ErrorInSettingUpSubscription", + "BicepParamBuildFailed": "ms-resource:loc.messages.BicepParamBuildFailed", + "IncompatibleAzureCLIVersionBicepParam": "ms-resource:loc.messages.IncompatibleAzureCLIVersionBicepParam" }, "_buildConfigMapping": { - "Default": "3.231.0", - "Node20_229_2": "3.231.2" + "Default": "3.235.0", + "Node20_229_2": "3.235.1" } } \ No newline at end of file From 017a0646fb0e7f483e9753bfff73f14e0db0b3d5 Mon Sep 17 00:00:00 2001 From: Shriti Chandra <34476976+chandrashritii@users.noreply.github.com> Date: Wed, 31 Jan 2024 15:11:24 +0530 Subject: [PATCH 05/10] update task version for PCCR V2 from 2.234.0 to 2.235.0 (#19459) * update task version for PCCR V2 from 2.234.0 to 2.234.1 Signed-off-by: Shriti Chandra (from Dev Box) * Add generated task files Signed-off-by: Shriti Chandra (from Dev Box) * Add generated files Signed-off-by: Shriti Chandra (from Dev Box) * update task version, zip file and generated task files Signed-off-by: Shriti Chandra (from Dev Box) --------- Signed-off-by: Shriti Chandra (from Dev Box) Co-authored-by: Shriti Chandra (from Dev Box) Co-authored-by: Vinayak <110326599+vinayakmsft@users.noreply.github.com> --- Tasks/Common/coveragepublisher/make.json | 2 +- .../_buildConfigs/Node20/package-lock.json | 50 +- .../package-lock.json | 46 +- Tasks/PublishCodeCoverageResultsV2/task.json | 2 +- .../task.loc.json | 2 +- ...ublishCodeCoverageResultsV2.versionmap.txt | 4 +- .../PublishCodeCoverageResultsV2/README.md | 12 + .../resources.resjson/de-DE/resources.resjson | 14 + .../resources.resjson/en-US/resources.resjson | 14 + .../resources.resjson/es-ES/resources.resjson | 14 + .../resources.resjson/fr-FR/resources.resjson | 14 + .../resources.resjson/it-IT/resources.resjson | 14 + .../resources.resjson/ja-JP/resources.resjson | 14 + .../resources.resjson/ko-KR/resources.resjson | 14 + .../resources.resjson/ru-RU/resources.resjson | 14 + .../resources.resjson/zh-CN/resources.resjson | 14 + .../resources.resjson/zh-TW/resources.resjson | 14 + .../PublishCodeCoverageResultsV2/Tests/L0.ts | 29 + .../Tests/L0NotFailWithEmptyResults.ts | 12 + .../Tests/L0SummaryFileLocationMatches.ts | 11 + .../Tests/TestFiles/coverage.cobertura.xml | 8370 +++++++++++++++++ .../Tests/TestFiles/sampempty.xml | 0 .../Tests/answers.ts | 133 + .../ThirdPartyNotices.txt | 466 + .../PublishCodeCoverageResultsV2/icon.png | Bin 0 -> 991 bytes .../PublishCodeCoverageResultsV2/icon.svg | 7 + .../PublishCodeCoverageResultsV2/make.json | 17 + .../package-lock.json | 345 + .../PublishCodeCoverageResultsV2/package.json | 11 + .../publishcodecoverageresults.ts | 74 + .../PublishCodeCoverageResultsV2/task.json | 68 + .../task.loc.json | 68 + .../tsconfig.json | 6 + .../package-lock.json | 50 +- .../task.json | 6 +- .../task.loc.json | 6 +- 36 files changed, 9917 insertions(+), 20 deletions(-) create mode 100644 _generated/PublishCodeCoverageResultsV2/README.md create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/de-DE/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/en-US/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/es-ES/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/fr-FR/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/it-IT/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ja-JP/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ko-KR/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ru-RU/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/zh-CN/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/zh-TW/resources.resjson create mode 100644 _generated/PublishCodeCoverageResultsV2/Tests/L0.ts create mode 100644 _generated/PublishCodeCoverageResultsV2/Tests/L0NotFailWithEmptyResults.ts create mode 100644 _generated/PublishCodeCoverageResultsV2/Tests/L0SummaryFileLocationMatches.ts create mode 100644 _generated/PublishCodeCoverageResultsV2/Tests/TestFiles/coverage.cobertura.xml create mode 100644 _generated/PublishCodeCoverageResultsV2/Tests/TestFiles/sampempty.xml create mode 100644 _generated/PublishCodeCoverageResultsV2/Tests/answers.ts create mode 100644 _generated/PublishCodeCoverageResultsV2/ThirdPartyNotices.txt create mode 100644 _generated/PublishCodeCoverageResultsV2/icon.png create mode 100644 _generated/PublishCodeCoverageResultsV2/icon.svg create mode 100644 _generated/PublishCodeCoverageResultsV2/make.json create mode 100644 _generated/PublishCodeCoverageResultsV2/package-lock.json create mode 100644 _generated/PublishCodeCoverageResultsV2/package.json create mode 100644 _generated/PublishCodeCoverageResultsV2/publishcodecoverageresults.ts create mode 100644 _generated/PublishCodeCoverageResultsV2/task.json create mode 100644 _generated/PublishCodeCoverageResultsV2/task.loc.json create mode 100644 _generated/PublishCodeCoverageResultsV2/tsconfig.json diff --git a/Tasks/Common/coveragepublisher/make.json b/Tasks/Common/coveragepublisher/make.json index 54f66a326486..1cb1303e2944 100644 --- a/Tasks/Common/coveragepublisher/make.json +++ b/Tasks/Common/coveragepublisher/make.json @@ -2,7 +2,7 @@ "externals": { "archivePackages": [ { - "url": "https://coveragepublishers.blob.core.windows.net/coveragepublisher/25303541/CoveragePublisher.zip", + "url": "https://coveragepublishers.blob.core.windows.net/coveragepublisher/25539620/CoveragePublisher.zip", "dest": "./" } ] diff --git a/Tasks/PublishCodeCoverageResultsV2/_buildConfigs/Node20/package-lock.json b/Tasks/PublishCodeCoverageResultsV2/_buildConfigs/Node20/package-lock.json index 34d0fa8ffc1d..16a0593fa73c 100644 --- a/Tasks/PublishCodeCoverageResultsV2/_buildConfigs/Node20/package-lock.json +++ b/Tasks/PublishCodeCoverageResultsV2/_buildConfigs/Node20/package-lock.json @@ -47,6 +47,14 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -65,18 +73,42 @@ "version": "file:../../_build/Tasks/Common/coveragepublisher-1.1.0.tgz", "requires": { "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^5.0.1-preview.0", + "azure-pipelines-task-lib": "^4.1.0", "os": "^0.1.1", "uuid": "^3.3.2" }, "dependencies": { "@types/node": { - "version": "16.18.70", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", - "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" + }, + "azure-pipelines-task-lib": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.8.2.tgz", + "integrity": "sha512-hTupUi+c6kT6Mna1PHQzuBjWcoULphnNfYaXcUW5EyH02V8D9C7eNhArMW1uFVE0J3Vi23rdkEDYm+0oo17alw==", + "requires": { + "adm-zip": "^0.5.10", + "deasync": "^0.1.28", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } } } }, + "deasync": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz", + "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==", + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + } + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -85,6 +117,11 @@ "ms": "2.1.2" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", @@ -193,6 +230,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, "nodejs-file-downloader": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", diff --git a/Tasks/PublishCodeCoverageResultsV2/package-lock.json b/Tasks/PublishCodeCoverageResultsV2/package-lock.json index e0b2498a87e1..ee494d458d63 100644 --- a/Tasks/PublishCodeCoverageResultsV2/package-lock.json +++ b/Tasks/PublishCodeCoverageResultsV2/package-lock.json @@ -44,6 +44,14 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -62,9 +70,35 @@ "version": "file:../../_build/Tasks/Common/coveragepublisher-1.1.0.tgz", "requires": { "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^5.0.1-preview.0", + "azure-pipelines-task-lib": "^4.1.0", "os": "^0.1.1", "uuid": "^3.3.2" + }, + "dependencies": { + "azure-pipelines-task-lib": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.8.2.tgz", + "integrity": "sha512-hTupUi+c6kT6Mna1PHQzuBjWcoULphnNfYaXcUW5EyH02V8D9C7eNhArMW1uFVE0J3Vi23rdkEDYm+0oo17alw==", + "requires": { + "adm-zip": "^0.5.10", + "deasync": "^0.1.28", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + } + } + }, + "deasync": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz", + "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==", + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" } }, "debug": { @@ -75,6 +109,11 @@ "ms": "2.1.2" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", @@ -183,6 +222,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, "nodejs-file-downloader": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", diff --git a/Tasks/PublishCodeCoverageResultsV2/task.json b/Tasks/PublishCodeCoverageResultsV2/task.json index 8253a439c218..3154effad738 100644 --- a/Tasks/PublishCodeCoverageResultsV2/task.json +++ b/Tasks/PublishCodeCoverageResultsV2/task.json @@ -15,7 +15,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 234, + "Minor": 235, "Patch": 0 }, "demands": [], diff --git a/Tasks/PublishCodeCoverageResultsV2/task.loc.json b/Tasks/PublishCodeCoverageResultsV2/task.loc.json index a04a4a080c64..09dae777c352 100644 --- a/Tasks/PublishCodeCoverageResultsV2/task.loc.json +++ b/Tasks/PublishCodeCoverageResultsV2/task.loc.json @@ -15,7 +15,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 234, + "Minor": 235, "Patch": 0 }, "demands": [], diff --git a/_generated/PublishCodeCoverageResultsV2.versionmap.txt b/_generated/PublishCodeCoverageResultsV2.versionmap.txt index e2aa7939be81..9152ee4b9c8c 100644 --- a/_generated/PublishCodeCoverageResultsV2.versionmap.txt +++ b/_generated/PublishCodeCoverageResultsV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.234.0 -Node20_229_4|2.234.1 +Default|2.235.0 +Node20_229_4|2.235.1 diff --git a/_generated/PublishCodeCoverageResultsV2/README.md b/_generated/PublishCodeCoverageResultsV2/README.md new file mode 100644 index 000000000000..7472b7aeb393 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/README.md @@ -0,0 +1,12 @@ +# Publish Code Coverage Results + +### Overview +The Publish Code Coverage Results task is used to publish the code coverage results of a build. + +### The different parameters of the task are explained below: + +- **Summary Files:** Required Field. The path pattern for summary files containing code coverage statistics, such as line, method, and class coverage. The value may contain minimatch patterns as well as multiline inputs. For example: `$(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/*.xml` + +- **Path to Source Files:** The file path specifying the location of source files, this is required for generating HTML reports in case of tools which put relative paths in their summary files. + +- **Fail when code coverage files are not found:** Fail the task if the summary file patterns yielded no coverage files. \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/de-DE/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/de-DE/resources.resjson new file mode 100644 index 000000000000..23eea9ab72e6 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/de-DE/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "Code Coverage-Ergebnisse v2 veröffentlichen", + "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "Alle Code Coverage-Ergebnisse aus einem Build veröffentlichen", + "loc.instanceNameFormat": "Code Coverage-Ergebnisse veröffentlichen", + "loc.input.label.summaryFileLocation": "Pfad zu Zusammenfassungsdateien", + "loc.input.help.summaryFileLocation": "Pfade zu Zusammenfassungsdateien, die Code Coverage-Statistiken enthalten, z. B. Zeile, Methode und Klassenabdeckung. Mehrere Zusammenfassungsdateien werden in einem einzelnen Bericht zusammengeführt. Unterstützt mehrere Zeilen mit Minimatchmustern. [Weitere Informationen](https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "Pfad zu Quelldateien", + "loc.input.help.pathToSources": "Der Pfad zu den Quelldateien ist erforderlich, wenn Coverage-XML-Berichte keinen absoluten Pfad zu den Quelldateien enthalten. Beispielsweise verwenden JaCoCo-Berichte keine absoluten Pfade, und beim Veröffentlichen der JaCoCo-Coveragedaten für Java-Apps würde das Muster in etwa folgendermaßen lauten: \"$(System.DefaultWorkingDirectory)/MyApp/src/main/java/\".
diese Eingabe ist auch erforderlich, wenn Tests in einem Docker-Container ausgeführt werden. Diese Eingabe muss auf den absoluten Pfad zu den Quelldateien auf dem Host zeigen. Beispiel: \"$(System.DefaultWorkingDirectory)/MyApp/\"", + "loc.input.label.failIfCoverageEmpty": "Fehler, wenn die Code Coverage-Ergebnisse fehlen", + "loc.input.help.failIfCoverageEmpty": "Fehlschlagen der Aufgabe festlegen, wenn die Code Coverage keine Ergebnisse zum Veröffentlichen ergeben hat.", + "loc.messages.FoundNMatchesForPattern": "%s Ergebnis(se) gefunden, die dem Muster: %s entsprechen", + "loc.messages.NoCodeCoverage": "Keine Code Coverage-Ergebnisse zum Veröffentlichen gefunden." +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/en-US/resources.resjson new file mode 100644 index 000000000000..948cc60e9292 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/en-US/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "Publish code coverage results v2", + "loc.helpMarkDown": "[Learn more about this task](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "Publish any of the code coverage results from a build", + "loc.instanceNameFormat": "Publish code coverage results", + "loc.input.label.summaryFileLocation": "Path to summary files", + "loc.input.help.summaryFileLocation": "Paths to summary files containing code coverage statistics, such as line, method, and class coverage. Multiple summary files will be merged into a single report. Supports multiple lines of minimatch patterns. [More information](https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "Path to Source files", + "loc.input.help.pathToSources": "Path to source files is required when coverage XML reports do not contain absolute path to source files. For e.g., JaCoCo reports do not use absolute paths and when publishing JaCoCo coverage for Java apps, the pattern would be similar to `$(System.DefaultWorkingDirectory)/MyApp/src/main/java/`.
This input is also needed if tests are run in a docker container. This input should point to absolute path to source files on the host. For e.g., `$(System.DefaultWorkingDirectory)/MyApp/`", + "loc.input.label.failIfCoverageEmpty": "Fail if code coverage results are missing", + "loc.input.help.failIfCoverageEmpty": "Fail the task if code coverage did not produce any results to publish.", + "loc.messages.FoundNMatchesForPattern": "Found %s result(s) matching pattern: %s", + "loc.messages.NoCodeCoverage": "No code coverage results were found to publish." +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/es-ES/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/es-ES/resources.resjson new file mode 100644 index 000000000000..2025a961a4f7 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/es-ES/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "Publicar resultados de cobertura de código v2", + "loc.helpMarkDown": "[Más información sobre esta tarea](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "Publicar cualquiera de los resultados de la cobertura de código de una compilación", + "loc.instanceNameFormat": "Publicar resultados de cobertura de código", + "loc.input.label.summaryFileLocation": "Ruta de acceso a los archivos de resumen", + "loc.input.help.summaryFileLocation": "Rutas de acceso a archivos de resumen que contienen estadísticas de cobertura de código, como la cobertura de clase, método y línea. Varios archivos de resumen se combinarán en un único informe. Admite varias líneas de patrones de minimatch. [Más información](https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "Ruta de acceso a los archivos de origen", + "loc.input.help.pathToSources": "Se requiere la ruta de acceso a los archivos de código fuente cuando los informes XML de cobertura no contienen la ruta de acceso absoluta a dichos archivos. Por ejemplo, los informes de JaCoCo no usan rutas de acceso absolutas y, al publicar la cobertura de JaCoCo para las aplicaciones Java, el patrón sería similar a \"$(System.DefaultWorkingDirectory)/MyApp/src/main/java/\".
También se necesita esta entrada si las pruebas se ejecutan en un contenedor Docker. La entrada debe apuntar a una ruta de acceso absoluta a los archivos de código fuente en el host. Por ejemplo, \"$(System.DefaultWorkingDirectory)/MyApp/\".", + "loc.input.label.failIfCoverageEmpty": "Error si faltan los resultados de cobertura de código", + "loc.input.help.failIfCoverageEmpty": "Error de tarea si la cobertura de código no produjo resultados para publicar.", + "loc.messages.FoundNMatchesForPattern": "Se encontraron %s resultados coincidentes con el patrón: %s", + "loc.messages.NoCodeCoverage": "No se encontraron resultados de cobertura de código para publicar." +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/fr-FR/resources.resjson new file mode 100644 index 000000000000..567067517ded --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "Publier les résultats de couverture du code v2", + "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "Publier les résultats de couverture du code à partir d'une build", + "loc.instanceNameFormat": "Publier les résultats de la couverture du code", + "loc.input.label.summaryFileLocation": "Chemin des fichiers récapitulatifs", + "loc.input.help.summaryFileLocation": "Chemins des fichiers récapitulatifs contenant les statistiques de couverture du code, par exemple la couverture de ligne, de méthode et de classe. Plusieurs fichiers récapitulatifs sont fusionnés en un seul rapport. Prend en charge plusieurs lignes de modèles minimatch. [Plus d'informations](https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "Chemin des fichiers sources", + "loc.input.help.pathToSources": "Le chemin des fichiers sources est obligatoire quand les rapports XML de couverture ne contiennent pas le chemin absolu des fichiers sources. Par exemple, les rapports JaCoCo n'utilisent pas de chemins absolus, et durant la publication de la couverture JaCoCo pour les applications Java, le modèle est similaire à '$(System.DefaultWorkingDirectory)/MyApp/src/main/java/'.
Cette entrée est également nécessaire si les tests sont exécutés dans un conteneur Docker. Cette entrée doit pointer vers le chemin absolu des fichiers sources sur l'hôte. Exemple : '$(System.DefaultWorkingDirectory)/MyApp/'", + "loc.input.label.failIfCoverageEmpty": "Échec si les résultats de la couverture du code sont manquants", + "loc.input.help.failIfCoverageEmpty": "Échec de la tâche si la couverture du code ne produit aucun résultat à publier.", + "loc.messages.FoundNMatchesForPattern": "%s résultat(s) correspondant au modèle %s", + "loc.messages.NoCodeCoverage": "Il n'existe aucun résultat de couverture du code à publier." +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/it-IT/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/it-IT/resources.resjson new file mode 100644 index 000000000000..441f2952f362 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/it-IT/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "Pubblicare risultati code coverage v2", + "loc.helpMarkDown": "[Altre informazioni su questa attività](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "Pubblica i risultati del code coverage restituiti da una compilazione", + "loc.instanceNameFormat": "Pubblica risultati di code coverage", + "loc.input.label.summaryFileLocation": "Percorso dei file di riepilogo", + "loc.input.help.summaryFileLocation": "Percorsi dei file di riepilogo contenenti le statistiche di code coverage, ad esempio a livello di riga, metodo e classe. In un singolo report verranno uniti più file di riepilogo. Supporta più righe di criteri di corrispondenza minima. [Altre informazioni] (https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "Percorso dei file di origine", + "loc.input.help.pathToSources": "Il percorso dei file di origine è obbligatorio quando i report XML di code coverage non contengono il percorso assoluto dei file di origine. Ad esempio, i report JaCoCo non usano percorsi assoluti e quando si pubblicano le informazioni di code coverage JaCoCo per le app Java, il percorso sarà simile a `$(System.DefaultWorkingDirectory)/MyApp/src/main/java/`.
Questo valore di input è necessario anche se i test vengono eseguiti in un contenitore Docker e deve puntare al percorso assoluto dei file di origine nell'host, ad esempio `$(System.DefaultWorkingDirectory)/MyApp/`", + "loc.input.label.failIfCoverageEmpty": "Non eseguire se mancano i risultati del code coverage", + "loc.input.help.failIfCoverageEmpty": "Non esegue l'attività se il code coverage non ha prodotto risultati da pubblicare.", + "loc.messages.FoundNMatchesForPattern": "Sono stati trovati %s risultato/i corrispondenti al criterio: %s", + "loc.messages.NoCodeCoverage": "Non sono stati trovati risultati del code coverage da pubblicare." +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ja-JP/resources.resjson new file mode 100644 index 000000000000..0a5b8b079890 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "コード ã‚«ãƒãƒ¬ãƒƒã‚¸çµæžœ v2 ã®å…¬é–‹", + "loc.helpMarkDown": "[ã“ã®ã‚¿ã‚¹ã‚¯ã®è©³ç´°](https://learn.microsoft.com/ja-jp/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "ビルドã‹ã‚‰ã‚³ãƒ¼ãƒ‰ ã‚«ãƒãƒ¬ãƒƒã‚¸ã®çµæžœã‚’公開ã—ã¾ã™", + "loc.instanceNameFormat": "コード ã‚«ãƒãƒ¬ãƒƒã‚¸çµæžœã®å…¬é–‹", + "loc.input.label.summaryFileLocation": "概è¦ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ãƒ‘ス", + "loc.input.help.summaryFileLocation": "è¡Œã€ãƒ¡ã‚½ãƒƒãƒ‰ã€ã‚¯ãƒ©ã‚¹ã®ã‚«ãƒãƒ¬ãƒƒã‚¸ãªã©ã€ã‚³ãƒ¼ãƒ‰ ã‚«ãƒãƒ¬ãƒƒã‚¸çµ±è¨ˆæƒ…報をå«ã‚€æ¦‚è¦ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ãƒ‘ス。複数ã®æ¦‚è¦ãƒ•ã‚¡ã‚¤ãƒ«ãŒ 1 ã¤ã®ãƒ¬ãƒãƒ¼ãƒˆã«çµ±åˆã•ã‚Œã¾ã™ã€‚複数行㮠minimatch パターンãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚[詳細情報](https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "ソース ファイルã¸ã®ãƒ‘ス", + "loc.input.help.pathToSources": "ã‚«ãƒãƒ¬ãƒƒã‚¸ XML レãƒãƒ¼ãƒˆã«ã‚½ãƒ¼ã‚¹ ファイルã¸ã®çµ¶å¯¾ãƒ‘スãŒå«ã¾ã‚Œã¦ã„ãªã„å ´åˆã¯ã€ã‚½ãƒ¼ã‚¹ ファイルã¸ã®ãƒ‘スãŒå¿…è¦ã§ã™ã€‚例: JaCoCo レãƒãƒ¼ãƒˆã§ã¯çµ¶å¯¾ãƒ‘スã¯ä½¿ç”¨ã•ã‚Œãšã€Java アプリ㮠JaCoCo ã‚«ãƒãƒ¬ãƒƒã‚¸ã‚’公開ã™ã‚‹å ´åˆã€ãƒ‘ターン㯠`$(System.DefaultWorkingDirectory)/MyApp/src/main/java/` ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
ã“ã®å…¥åŠ›ã¯ã€ãƒ†ã‚¹ãƒˆãŒ Docker コンテナーã§å®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹å ´åˆã«ã‚‚å¿…è¦ã§ã™ã€‚ã“ã®å…¥åŠ›ã¯ã€ãƒ›ã‚¹ãƒˆä¸Šã®ã‚½ãƒ¼ã‚¹ ファイルã¸ã®çµ¶å¯¾ãƒ‘スを指ã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚例: `$(System.DefaultWorkingDirectory)/MyApp/`", + "loc.input.label.failIfCoverageEmpty": "コード ã‚«ãƒãƒ¬ãƒƒã‚¸ã®çµæžœãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆã«å¤±æ•—ã•ã›ã‚‹", + "loc.input.help.failIfCoverageEmpty": "コード ã‚«ãƒãƒ¬ãƒƒã‚¸ãŒç™ºè¡Œã™ã‚‹çµæžœã‚’生æˆã—ãªã„ã¨ã€ã‚¿ã‚¹ã‚¯ã¯å¤±æ•—ã—ã¾ã™ã€‚", + "loc.messages.FoundNMatchesForPattern": "%s 件ã®çµæžœãŒãƒ‘ターン %s ã«ä¸€è‡´ã™ã‚‹ã‚‚ã®ã¨ã—ã¦è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ", + "loc.messages.NoCodeCoverage": "発行ã™ã‚‹ã‚³ãƒ¼ãƒ‰ ã‚«ãƒãƒ¬ãƒƒã‚¸ã®çµæžœãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚" +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ko-KR/resources.resjson new file mode 100644 index 000000000000..d07810e0a65f --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ko-KR/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "코드 검사 ê²°ê³¼ 게시 v2", + "loc.helpMarkDown": "[ì´ ìž‘ì—…ì— ëŒ€í•œ ìžì„¸í•œ ì •ë³´](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "빌드ì—ì„œ 코드 검사 ê²°ê³¼ 게시", + "loc.instanceNameFormat": "코드 검사 ê²°ê³¼ 게시", + "loc.input.label.summaryFileLocation": "요약 파ì¼ì˜ 경로", + "loc.input.help.summaryFileLocation": "Line, method ë° class 커버리지와 ê°™ì€ ì½”ë“œ 검사 통계가 í¬í•¨ëœ 요약 파ì¼ì˜ 경로입니다. 여러 요약 파ì¼ì´ ë‹¨ì¼ ë³´ê³ ì„œì— ë³‘í•©ë©ë‹ˆë‹¤. 여러 ì¤„ì˜ minimatch íŒ¨í„´ì„ ì§€ì›í•©ë‹ˆë‹¤. [ìžì„¸í•œ ì •ë³´](https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "소스 파ì¼ì˜ 경로", + "loc.input.help.pathToSources": "검사 XML ë³´ê³ ì„œì— ì†ŒìŠ¤ 파ì¼ì˜ 절대 경로가 없는 경우 소스 파ì¼ì˜ 경로가 필요합니다. 예를 들어 JaCoCo ë³´ê³ ì„œì—서는 절대 경로를 사용하지 않으므로, Java ì•±ì— ëŒ€í•œ JaCoCo 검사를 게시할 ë•Œì˜ íŒ¨í„´ì€ '$(System.DefaultWorkingDirectory)/MyApp/src/main/java/'와 비슷합니다.
Docker 컨테ì´ë„ˆì—ì„œ 테스트를 실행하는 경우ì—ë„ ì´ëŸ¬í•œ ìž…ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. ì´ ìž…ë ¥ì€ í˜¸ìŠ¤íŠ¸ì— ìžˆëŠ” 소스 파ì¼ì˜ 절대 경로를 가리켜야 합니다. 예: '$(System.DefaultWorkingDirectory)/MyApp/'", + "loc.input.label.failIfCoverageEmpty": "코드 검사 결과가 없는 경우 실패", + "loc.input.help.failIfCoverageEmpty": "코드 검사ì—ì„œ 게시할 결과를 ìƒì„±í•˜ì§€ ì•Šì€ ê²½ìš° ìž‘ì—…ì— ì‹¤íŒ¨í•©ë‹ˆë‹¤.", + "loc.messages.FoundNMatchesForPattern": "%sê°œì˜ ê²°ê³¼ê°€ 패턴 %sê³¼(와) ì¼ì¹˜í•©ë‹ˆë‹¤.", + "loc.messages.NoCodeCoverage": "게시할 코드 검사 결과가 없습니다." +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ru-RU/resources.resjson new file mode 100644 index 000000000000..947346ad1954 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð¾Ð² объема протеÑтированного кода верÑии 2", + "loc.helpMarkDown": "[Подробнее об Ñтой задаче](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð¾Ð² Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐ¼Ð° протеÑтированного кода из Ñборки", + "loc.instanceNameFormat": "Опубликовать результаты оценки объема протеÑтированного кода", + "loc.input.label.summaryFileLocation": "Путь к Ñводным файлам", + "loc.input.help.summaryFileLocation": "Пути к Ñводным файлам, Ñодержащим ÑтатиÑтику по объему протеÑтированного кода, например охват Ñтрок, методов и клаÑÑов. ÐеÑколько Ñводных файлов будут объединены в один отчет. Поддерживает неÑколько Ñтрок шаблонов minimatch. [Дополнительные ÑведениÑ](https://aka.ms/minimatchexamples).", + "loc.input.label.pathToSources": "Путь к иÑходным файлам", + "loc.input.help.pathToSources": "Путь к иÑходным файлам обÑзателен, еÑли XML-отчеты об объеме протеÑтированного кода не Ñодержат абÑолютный путь к иÑходным файлам. Ðапример, в отчетах JaCoCo не иÑпользуютÑÑ Ð°Ð±Ñолютные пути, и при публикации объема протеÑтированного кода JaCoCo Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ Java Ñтот шаблон будет похож на \"$(System.DefaultWorkingDirectory)/MyApp/src/main/java/\".
Эти входные данные также необходимы, еÑли теÑÑ‚Ñ‹ выполнÑÑŽÑ‚ÑÑ Ð² контейнере Docker. Эти входные данные должны указывать на абÑолютный путь к иÑходным файлам на узле. Ðапример, \"$(System.DefaultWorkingDirectory)/MyApp/\"", + "loc.input.label.failIfCoverageEmpty": "Сбой, еÑли отÑутÑтвуют результаты Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐ¼Ð° протеÑтированного кода", + "loc.input.help.failIfCoverageEmpty": "ПроиÑходит Ñбой задачи, еÑли объем протеÑтированного кода не Ñоздает результаты Ð´Ð»Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸.", + "loc.messages.FoundNMatchesForPattern": "Ðайдены результаты (%s), ÑоответÑтвующие шаблону: %s", + "loc.messages.NoCodeCoverage": "Результаты по объему протеÑтированного кода Ð´Ð»Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸ не найдены." +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/zh-CN/resources.resjson new file mode 100644 index 000000000000..ec25ec1f0ed2 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/zh-CN/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "å‘布代ç è¦†ç›–率结果 v2", + "loc.helpMarkDown": "[了解有关此任务的详细信æ¯](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "å‘布æ¥è‡ªå†…部版本的任何代ç è¦†ç›–率结果", + "loc.instanceNameFormat": "å‘布代ç è¦†ç›–率结果", + "loc.input.label.summaryFileLocation": "摘è¦æ–‡ä»¶çš„路径", + "loc.input.help.summaryFileLocation": "摘è¦æ–‡ä»¶çš„路径,该文件包å«ä»£ç è¦†ç›–率统计信æ¯ï¼Œå¦‚è¡Œã€æ–¹æ³•å’Œç±»è¦†ç›–率。多个摘è¦æ–‡ä»¶å°†åˆå¹¶åˆ°ä¸€ä¸ªæŠ¥è¡¨ä¸­ã€‚支æŒå¤šè¡Œçš„最å°åŒ¹é…模å¼ã€‚[详细信æ¯](https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "æºæ–‡ä»¶çš„路径", + "loc.input.help.pathToSources": "当覆盖率 XML 报表ä¸åŒ…å«æºæ–‡ä»¶çš„ç»å¯¹è·¯å¾„时,需è¦æºæ–‡ä»¶çš„路径。例如,JaCoCo 报表ä¸ä½¿ç”¨ç»å¯¹è·¯å¾„,当å‘布 Java 应用的 JaCoCo 覆盖率时,模å¼å°†ä¸Ž `$(System.DefaultWorkingDirectory)/MyApp/src/main/java/` 类似。
如果在 Docker 容器中è¿è¡Œæµ‹è¯•ï¼Œåˆ™ä¹Ÿéœ€è¦æ­¤è¾“入。此输入应指å‘主机上æºæ–‡ä»¶çš„ç»å¯¹è·¯å¾„。例如 `$(System.DefaultWorkingDirectory)/MyApp/`", + "loc.input.label.failIfCoverageEmpty": "如果缺少代ç è¦†ç›–率结果则失败", + "loc.input.help.failIfCoverageEmpty": "如果代ç è¦†ç›–率未产生任何å¯å‘布的结果,任务将失败。", + "loc.messages.FoundNMatchesForPattern": "找到 %s 个结果匹é…模å¼: %s", + "loc.messages.NoCodeCoverage": "未找到å¯å‘布的代ç è¦†ç›–率结果。" +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/zh-TW/resources.resjson new file mode 100644 index 000000000000..779d2fbf7367 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -0,0 +1,14 @@ +{ + "loc.friendlyName": "發佈程å¼ç¢¼æ¶µè“‹ç¯„åœçµæžœ v2", + "loc.helpMarkDown": "[深入了解此工作](https://learn.microsoft.com/zh-tw/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "loc.description": "從組建發行任何程å¼ç¢¼æ¶µè“‹ç¯„åœçµæžœ", + "loc.instanceNameFormat": "發佈程å¼ç¢¼æ¶µè“‹ç¯„åœçµæžœ", + "loc.input.label.summaryFileLocation": "摘è¦æª”案路徑", + "loc.input.help.summaryFileLocation": "包å«ç¨‹å¼ç¢¼æ¶µè“‹ç¯„åœçµ±è¨ˆè³‡æ–™çš„摘è¦æª”路徑,例如行ã€æ–¹æ³•å’Œé¡žåˆ¥æ¶µè“‹ç¯„åœã€‚多個摘è¦æª”會åˆä½µæˆå–®ä¸€ä»½å ±å‘Šã€‚支æ´å¤šè¡Œçš„ minimatch 模å¼ã€‚[詳細資訊](https://aka.ms/minimatchexamples)", + "loc.input.label.pathToSources": "來æºæª”案的路徑", + "loc.input.help.pathToSources": "ç•¶æ¶µè“‹ç¯„åœ XML 報告未包å«ä¾†æºæª”案的絕å°è·¯å¾‘時,來æºæª”案的路徑å³ç‚ºå¿…è¦é …。舉例來說,JaCoCo 並未使用絕å°è·¯å¾‘,則在為 Java 應用程å¼ç™¼ä½ˆ JaCoCo 涵蓋範åœæ™‚,模å¼æœƒç›¸ä¼¼æ–¼ `$(System.DefaultWorkingDirectory)/MyApp/src/main/java/`。
如果測試是在 Docker 容器中執行的,則此輸出亦為必è¦é …。這個輸出應會在主機上指å‘來æºæª”案的絕å°è·¯å¾‘。例如 `$(System.DefaultWorkingDirectory)/MyApp/`", + "loc.input.label.failIfCoverageEmpty": "如果éºæ¼ç¨‹å¼ç¢¼æ¶µè“‹ç¯„åœçµæžœå°±æœƒå¤±æ•—", + "loc.input.help.failIfCoverageEmpty": "若程å¼ç¢¼æ¶µè“‹ç¯„åœä¸¦æœªç”¢ç”Ÿä»»ä½•å¯ç™¼è¡Œçµæžœï¼Œå‰‡å·¥ä½œæœƒå¤±æ•—。", + "loc.messages.FoundNMatchesForPattern": "找到 %s 個çµæžœç¬¦åˆæ ¼å¼: %s", + "loc.messages.NoCodeCoverage": "找ä¸åˆ°è¦ç™¼è¡Œçš„程å¼ç¢¼æ¶µè“‹ç¯„åœçµæžœã€‚" +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Tests/L0.ts b/_generated/PublishCodeCoverageResultsV2/Tests/L0.ts new file mode 100644 index 000000000000..be4bdc857175 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Tests/L0.ts @@ -0,0 +1,29 @@ +import { MockTestRunner } from 'azure-pipelines-task-lib/mock-test'; +import fs = require('fs'); +import assert = require('assert'); +import path = require('path'); + +describe('PublishCodeCoverageResultsV2 Suite', function () { + this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 15000); + + before(() => { + process.env["AGENT_TEMPDIRECTORY"] = process.cwd(); + }); + + it('Publish Code coverage results with Summary file matches', async function() { + const testPath = path.join(__dirname, 'L0SummaryFileLocationMatches.ts') + const tr: MockTestRunner = new MockTestRunner(testPath); + await tr.runAsync(); + + assert(tr.succeeded, 'task should have succeeded'); + }); + + it('Publish Code coverage results should work fine with empty results', async function() { + const testPath = path.join(__dirname, 'L0NotFailWithEmptyResults.ts') + const tr: MockTestRunner = new MockTestRunner(testPath); + await tr.runAsync(); + + assert(tr.succeeded, 'task should have succeeded'); // It will give a message of No code coverage for empty inputs + }); + +}); diff --git a/_generated/PublishCodeCoverageResultsV2/Tests/L0NotFailWithEmptyResults.ts b/_generated/PublishCodeCoverageResultsV2/Tests/L0NotFailWithEmptyResults.ts new file mode 100644 index 000000000000..3d9736a54603 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Tests/L0NotFailWithEmptyResults.ts @@ -0,0 +1,12 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +const taskPath = path.join(__dirname, '..', 'publishcodecoverageresults.js'); +const tr: TaskMockRunner = new TaskMockRunner(taskPath); + +tr.setInput('summaryFileLocation', 'TestFiles\sampempty.xml'); + +tr.setAnswers(answers.emptyAnswers); + +tr.run(); diff --git a/_generated/PublishCodeCoverageResultsV2/Tests/L0SummaryFileLocationMatches.ts b/_generated/PublishCodeCoverageResultsV2/Tests/L0SummaryFileLocationMatches.ts new file mode 100644 index 000000000000..3c59f2721e3b --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Tests/L0SummaryFileLocationMatches.ts @@ -0,0 +1,11 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +const taskPath = path.join(__dirname, '..', 'publishcodecoverageresults.js'); +const tr: TaskMockRunner = new TaskMockRunner(taskPath); + +tr.setInput('summaryFileLocation', 'TestFiles\coverage.cobertura.xml'); +tr.setAnswers(answers.defaultAnswers); + +tr.run(); diff --git a/_generated/PublishCodeCoverageResultsV2/Tests/TestFiles/coverage.cobertura.xml b/_generated/PublishCodeCoverageResultsV2/Tests/TestFiles/coverage.cobertura.xml new file mode 100644 index 000000000000..38fe215ef39c --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Tests/TestFiles/coverage.cobertura.xml @@ -0,0 +1,8370 @@ + + + + S:\src\ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/Tests/TestFiles/sampempty.xml b/_generated/PublishCodeCoverageResultsV2/Tests/TestFiles/sampempty.xml new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/_generated/PublishCodeCoverageResultsV2/Tests/answers.ts b/_generated/PublishCodeCoverageResultsV2/Tests/answers.ts new file mode 100644 index 000000000000..976bf3121a33 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/Tests/answers.ts @@ -0,0 +1,133 @@ +import { TaskLibAnswers } from 'azure-pipelines-task-lib/mock-answer'; + +export const emptyAnswers: TaskLibAnswers = { + "getVariable": { + "System.DefaultWorkingDirectory": "/someDir" + }, + "find": { + }, + "findMatch": { + "/user/admin/summary.xml": [] + }, + "exist": { + "/user/admin/summary.xml": false + } +}; + +export const noncoreAnswers: TaskLibAnswers = { + "getVariable": { + "System.DefaultWorkingDirectory": "/someDir", + "ignore.coverage.autogenerate": true + }, + "find": { + "/someDir": [ + "someDir/someFile2", + "/someDir/someFile1" + ] + }, + "exist": { + "/user/admin/summary.xml": true + }, + "which": { + "dotnet": null + }, + "findMatch": { + "/user/admin/summary.xml": [ + "/user/admin/summary.xml" + ], + "/some/*pattern": [ + "some/path", + "some/path/one", + "some/path/two" + ], + "/some/*pattern/path": [ + "some/path" + ], + "/some/*pattern/one": [ + "some/path/one" + ], + "/other/*pattern": [], + "/user/admin/report": [ + "user/admin/report" + ] + }, + "stats": { + "some/path": { + "isFile": false + }, + "some/path/one": { + "isFile": true + }, + "some/path/two": { + "isFile": true + }, + "/tmp/sources": { + "isDirectory": true + } + } +}; + +export const defaultAnswers: TaskLibAnswers = { + "getVariable": { + "System.DefaultWorkingDirectory": "/someDir", + "ignore.coverage.autogenerate": true, + "Agent.TempDirectory": '/someDir' + }, + "find": { + "/someDir": [ + "someDir/someFile2", + "/someDir/someFile1" + ], + "\\user\\admin\\summary.xml": [ + "/user/admin/summary.xml" + ] + }, + "exist": { + "/user/admin/summary.xml": true + }, + "which": { + "dotnet": "/tmp/dotnet" + }, + "findMatch": { + "\\user\\admin\\summary.xml": [ + "/user/admin/summary.xml" + ], + "/user/admin/summary.xml": [ + "/user/admin/summary.xml" + ], + "/some/*pattern": [ + "some/path", + "some/path/one", + "some/path/two" + ], + "/some/*pattern/path": [ + "some/path" + ], + "/some/*pattern/one": [ + "some/path/one" + ], + "/other/*pattern": [], + "/user/admin/report": [ + "user/admin/report" + ] + }, + "findPath": { + "\\user\\admin\\summary.xml": [ + "/user/admin/summary.xml" + ] + }, + "stats": { + "some/path": { + "isFile": false + }, + "some/path/one": { + "isFile": true + }, + "some/path/two": { + "isFile": true + }, + "/tmp/sources": { + "isDirectory" : true + } + } +} diff --git a/_generated/PublishCodeCoverageResultsV2/ThirdPartyNotices.txt b/_generated/PublishCodeCoverageResultsV2/ThirdPartyNotices.txt new file mode 100644 index 000000000000..014eb5e152db --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/ThirdPartyNotices.txt @@ -0,0 +1,466 @@ + +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do Not Translate or Localize + +Azure DevOps Agent incorporates third party material from the projects listed below. + +1. ReportGenerator (https://github.com/danielpalme/ReportGenerator) + Includes:AngularJS + Includes:Files with code from core.js + Includes:Files containing material from FontAwesome + Includes:File containing material from Glob.cs +2. Newtonsoft.Json (https://github.com/JamesNK/Newtonsoft.Json) + Includes:LINQBridge + + +%% ReportGenerator NOTICES AND INFORMATION BEGIN HERE +========================================= +Copyright 2019 Daniel Palme + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +========================================= +AngularJS + +The MIT License + +Copyright (c) 2010-2018 Google, Inc. http://angularjs.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +Files with code from core.js + +Copyright (c) 2014-2019 Denis Pushkarev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +Files containing material from FontAwesome + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + + Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + Licensor means the individual(s) or entity(ies) granting rights under this Public License. + Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope. + + License grant. + Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + reproduce and Share the Licensed Material, in whole or in part; and + produce, reproduce, and Share Adapted Material. + Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + Term. The term of this Public License is specified in Section 6(a). + Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + Downstream recipients. + Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + + Other rights. + Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + Patent and trademark rights are not licensed under this Public License. + To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + Attribution. + + If You Share the Licensed Material (including in modified form), You must: + retain the following if it is supplied by the Licensor with the Licensed Material: + identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + a copyright notice; + a notice that refers to this Public License; + a notice that refers to the disclaimer of warranties; + a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. + +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + + Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + + The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination. + + This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + + Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + upon express reinstatement by the Licensor. + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions. + + The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation. + + For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. +========================================= +File containing material from Glob.cs + + Copyright 2013-2014 Michael Ganss + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +========================================= +END OF ReportGenerator NOTICES AND INFORMATION + +%% Newtonsoft.Json NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +Includes: + +LINQBridge + +// Copyright (c) 2007-9 Atif Aziz, Joseph Albahari. All rights reserved. +// +// Author(s): +// +// Atif Aziz, http://www.raboof.com +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the New BSD License, a copy of which should have +// been delivered along with this distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +(https://www.nuget.org/packages/LinqBridge/) + +LINQBridge Copyright (c) 2007-2009, Atif Aziz, Joseph Albahari +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +- Neither the name of the original authors nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +========================================= +END OF Newtonsoft.Json NOTICES AND INFORMATION + + + + diff --git a/_generated/PublishCodeCoverageResultsV2/icon.png b/_generated/PublishCodeCoverageResultsV2/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c9c041a2d9c0fe20750aef05361aee39c596c3 GIT binary patch literal 991 zcmV<510ei~P)8mf_^Y<TUYcfGHl=_fd`}c56eO6 zg)9I7g-yi|5MGQReiY%9K`u|umOkp1lN05%67M{J0jH(kIh@rTpntKJU+8oG0iFlh zuFCPKZdZV06AqxdnT3V*s{y#N{`QT)R$w4)j)gHhP@Vw!9Iz4Dqw2i38USN-8rTik zzzoXcn7FSxD*jwvcKvmI)Mr75fH15%15;Q08)?nQHv0pOM(ui3^S5ikFI#4q347(m zui#YRFCuzA3T^Dha9VQ!W2!@uIRf7|%{|ZaJEmqE0hS_OAJ58Av~d^H$2kNWtHEFi7& zJWpHWN~N;wlx(|_g{q&}!b!jZcF()D9|{z|20d2}j=i5uF1T;J0`d^(E{JbIRiW;_ z6C9sQ1KIWprY@DPs>ng0NxlszfIQPVU7n4eH_a90U|REK005J-Z@z6AMu9URb3m`% zEEJdr&RB-g@}<&5T60MBz*;L!5Bwh+(Jf`tn)X2Qo%d3uQjuFd@Gn-&D$uY~yA}Wd N002ovPDHLkV1kjD$$bC- literal 0 HcmV?d00001 diff --git a/_generated/PublishCodeCoverageResultsV2/icon.svg b/_generated/PublishCodeCoverageResultsV2/icon.svg new file mode 100644 index 000000000000..a28a126c7106 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/icon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_generated/PublishCodeCoverageResultsV2/make.json b/_generated/PublishCodeCoverageResultsV2/make.json new file mode 100644 index 000000000000..9bf3ac72589a --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/make.json @@ -0,0 +1,17 @@ +{ + "common": [ + { + "module": "../Common/coveragepublisher", + "type": "node", + "compile": true + } + ], + "rm": [ + { + "items": [ + "node_modules/coveragepublisher/node_modules/azure-pipelines-task-lib" + ], + "options": "-Rf" + } + ] +} diff --git a/_generated/PublishCodeCoverageResultsV2/package-lock.json b/_generated/PublishCodeCoverageResultsV2/package-lock.json new file mode 100644 index 000000000000..ee494d458d63 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/package-lock.json @@ -0,0 +1,345 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + }, + "@types/node": { + "version": "16.18.52", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.52.tgz", + "integrity": "sha512-sm2aph6cRSsTMFYFgI+RpPLunXO9ClJkpizUVdT7KmGeyfQ14xnjTMT/f3MHcfKqevXqGT6BgVFzW8wcEoDUtA==" + }, + "adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "azure-pipelines-task-lib": { + "version": "5.0.1-preview.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.1-preview.0.tgz", + "integrity": "sha512-/1R7HbRfY3ntupW3UWeU/Xoi95by8JjoHDOFL7AdwuiitIg2cKX/Hi1nbY1xNOwp+vZyMLrVo73IMYeE4pMdEw==", + "requires": { + "adm-zip": "^0.5.10", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "coveragepublisher": { + "version": "file:../../_build/Tasks/Common/coveragepublisher-1.1.0.tgz", + "requires": { + "@types/node": "^16.11.39", + "azure-pipelines-task-lib": "^4.1.0", + "os": "^0.1.1", + "uuid": "^3.3.2" + }, + "dependencies": { + "azure-pipelines-task-lib": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.8.2.tgz", + "integrity": "sha512-hTupUi+c6kT6Mna1PHQzuBjWcoULphnNfYaXcUW5EyH02V8D9C7eNhArMW1uFVE0J3Vi23rdkEDYm+0oo17alw==", + "requires": { + "adm-zip": "^0.5.10", + "deasync": "^0.1.28", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + } + } + }, + "deasync": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz", + "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==", + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "follow-redirects": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "requires": { + "hasown": "^2.0.0" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, + "nodejs-file-downloader": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", + "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", + "requires": { + "follow-redirects": "^1.15.1", + "https-proxy-agent": "^5.0.0", + "mime-types": "^2.1.27", + "sanitize-filename": "^1.6.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "os": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/os/-/os-0.1.2.tgz", + "integrity": "sha512-ZoXJkvAnljwvc56MbvhtKVWmSkzV712k42Is2mA0+0KTSRakq5XXuXpjZjgAt9ctzl51ojhQWakQQpmOvXWfjQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "requires": { + "resolve": "^1.1.6" + } + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, + "typescript": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", + "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", + "dev": true + }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + } +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/package.json b/_generated/PublishCodeCoverageResultsV2/package.json new file mode 100644 index 000000000000..2c6bb35afdf8 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/package.json @@ -0,0 +1,11 @@ +{ + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^16.11.39", + "azure-pipelines-task-lib": "^5.0.1-preview.0", + "coveragepublisher": "file:../../_build/Tasks/Common/coveragepublisher-1.1.0.tgz" + }, + "devDependencies": { + "typescript": "4.0.2" + } +} diff --git a/_generated/PublishCodeCoverageResultsV2/publishcodecoverageresults.ts b/_generated/PublishCodeCoverageResultsV2/publishcodecoverageresults.ts new file mode 100644 index 000000000000..6ff1fe9a2d1d --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/publishcodecoverageresults.ts @@ -0,0 +1,74 @@ +import * as path from 'path'; +import * as taskLib from 'azure-pipelines-task-lib/task'; +import * as coveragePublisher from 'coveragepublisher/coveragepublisher'; + +// Main entry point of this task. +async function run() { + try { + // Initialize localization + taskLib.setResourcePath(path.join(__dirname, 'task.json')); + + // Get input values + const summaryFileLocations = taskLib.getInput('summaryFileLocation', true); + const failIfCoverageIsEmpty: boolean = taskLib.getBoolInput('failIfCoverageEmpty'); + const workingDirectory: string = taskLib.getVariable('System.DefaultWorkingDirectory'); + const pathToSources: string = taskLib.getInput('pathToSources'); + + var resolvedSummaryFiles = resolveSummaryFiles(workingDirectory, summaryFileLocations) + + if(resolvedSummaryFiles.length === 0) { + if(failIfCoverageIsEmpty === true) { + throw taskLib.loc('NoCodeCoverage'); + } else { + taskLib.warning(taskLib.loc('NoCodeCoverage')); + } + } + + await coveragePublisher.PublishCodeCoverage(resolvedSummaryFiles, pathToSources); + + } catch (err) { + taskLib.setResult(taskLib.TaskResult.Failed, err); + } +} + +function resolveSummaryFiles(workingDirectory: string, summaryFiles: string): string[] { + if(summaryFiles) { + const summaryFilesArray = summaryFiles.trim().split('\n').filter((pattern) => pattern.trim() != ""); + const resolvedSummaryFiles: string[] = []; + + if(summaryFilesArray.length > 0) { + summaryFilesArray.forEach(filePattern => { + const findOptions: taskLib.FindOptions = { allowBrokenSymbolicLinks: false, followSymbolicLinks: false, followSpecifiedSymbolicLink: false }; + const pathMatches: string[] = taskLib.findMatch( + workingDirectory, + filePattern, + findOptions); + + console.log(taskLib.loc('FoundNMatchesForPattern', pathMatches.length, filePattern)); + + pathMatches.forEach(path => { + if(pathExistsAsFile(path)) { + resolvedSummaryFiles.push(path); + console.log(path); + } + }); + }); + + return resolvedSummaryFiles; + } + } + + return []; +} + +// Gets whether the specified path exists as file. +function pathExistsAsFile(path: string) { + try { + return taskLib.stats(path).isFile(); + } catch (error) { + taskLib.debug(error); + return false; + } +} + +run(); diff --git a/_generated/PublishCodeCoverageResultsV2/task.json b/_generated/PublishCodeCoverageResultsV2/task.json new file mode 100644 index 000000000000..39def88f0350 --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/task.json @@ -0,0 +1,68 @@ +{ + "id": "2A7EBC54-C13E-490E-81A5-D7561AB7CD97", + "name": "PublishCodeCoverageResults", + "friendlyName": "Publish code coverage results v2", + "description": "Publish any of the code coverage results from a build", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/publish-code-coverage-results", + "helpMarkDown": "[Learn more about this task](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "category": "Test", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 235, + "Patch": 0 + }, + "demands": [], + "minimumAgentVersion": "2.144.0", + "instanceNameFormat": "Publish code coverage results", + "inputs": [ + { + "name": "summaryFileLocation", + "type": "multiLine", + "label": "Path to summary files", + "defaultValue": "", + "required": true, + "helpMarkDown": "Paths to summary files containing code coverage statistics, such as line, method, and class coverage. Multiple summary files will be merged into a single report. Supports multiple lines of minimatch patterns. [More information](https://aka.ms/minimatchexamples)" + }, + { + "name": "pathToSources", + "type": "string", + "label": "Path to Source files", + "defaultValue": "", + "required": false, + "helpMarkDown": "Path to source files is required when coverage XML reports do not contain absolute path to source files. For e.g., JaCoCo reports do not use absolute paths and when publishing JaCoCo coverage for Java apps, the pattern would be similar to `$(System.DefaultWorkingDirectory)/MyApp/src/main/java/`.
This input is also needed if tests are run in a docker container. This input should point to absolute path to source files on the host. For e.g., `$(System.DefaultWorkingDirectory)/MyApp/`" + }, + { + "name": "failIfCoverageEmpty", + "type": "boolean", + "label": "Fail if code coverage results are missing", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Fail the task if code coverage did not produce any results to publish." + } + ], + "execution": { + "Node10": { + "target": "publishcodecoverageresults.js", + "argumentFormat": "" + }, + "Node16": { + "target": "publishcodecoverageresults.js", + "argumentFormat": "" + } + }, + "messages": { + "FoundNMatchesForPattern": "Found %s result(s) matching pattern: %s", + "NoCodeCoverage": "No code coverage results were found to publish." + }, + "_buildConfigMapping": { + "Default": "2.235.0", + "Node20_229_4": "2.235.1" + } +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/task.loc.json b/_generated/PublishCodeCoverageResultsV2/task.loc.json new file mode 100644 index 000000000000..15349597ad3e --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/task.loc.json @@ -0,0 +1,68 @@ +{ + "id": "2A7EBC54-C13E-490E-81A5-D7561AB7CD97", + "name": "PublishCodeCoverageResults", + "friendlyName": "ms-resource:loc.friendlyName", + "description": "ms-resource:loc.description", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/publish-code-coverage-results", + "helpMarkDown": "ms-resource:loc.helpMarkDown", + "category": "Test", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 235, + "Patch": 0 + }, + "demands": [], + "minimumAgentVersion": "2.144.0", + "instanceNameFormat": "ms-resource:loc.instanceNameFormat", + "inputs": [ + { + "name": "summaryFileLocation", + "type": "multiLine", + "label": "ms-resource:loc.input.label.summaryFileLocation", + "defaultValue": "", + "required": true, + "helpMarkDown": "ms-resource:loc.input.help.summaryFileLocation" + }, + { + "name": "pathToSources", + "type": "string", + "label": "ms-resource:loc.input.label.pathToSources", + "defaultValue": "", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.pathToSources" + }, + { + "name": "failIfCoverageEmpty", + "type": "boolean", + "label": "ms-resource:loc.input.label.failIfCoverageEmpty", + "defaultValue": "false", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.failIfCoverageEmpty" + } + ], + "execution": { + "Node10": { + "target": "publishcodecoverageresults.js", + "argumentFormat": "" + }, + "Node16": { + "target": "publishcodecoverageresults.js", + "argumentFormat": "" + } + }, + "messages": { + "FoundNMatchesForPattern": "ms-resource:loc.messages.FoundNMatchesForPattern", + "NoCodeCoverage": "ms-resource:loc.messages.NoCodeCoverage" + }, + "_buildConfigMapping": { + "Default": "2.235.0", + "Node20_229_4": "2.235.1" + } +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2/tsconfig.json b/_generated/PublishCodeCoverageResultsV2/tsconfig.json new file mode 100644 index 000000000000..0438b79f69ac --- /dev/null +++ b/_generated/PublishCodeCoverageResultsV2/tsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "commonjs" + } +} \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2_Node20/package-lock.json b/_generated/PublishCodeCoverageResultsV2_Node20/package-lock.json index 34d0fa8ffc1d..16a0593fa73c 100644 --- a/_generated/PublishCodeCoverageResultsV2_Node20/package-lock.json +++ b/_generated/PublishCodeCoverageResultsV2_Node20/package-lock.json @@ -47,6 +47,14 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -65,18 +73,42 @@ "version": "file:../../_build/Tasks/Common/coveragepublisher-1.1.0.tgz", "requires": { "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^5.0.1-preview.0", + "azure-pipelines-task-lib": "^4.1.0", "os": "^0.1.1", "uuid": "^3.3.2" }, "dependencies": { "@types/node": { - "version": "16.18.70", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", - "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==" + "version": "16.18.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.76.tgz", + "integrity": "sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==" + }, + "azure-pipelines-task-lib": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.8.2.tgz", + "integrity": "sha512-hTupUi+c6kT6Mna1PHQzuBjWcoULphnNfYaXcUW5EyH02V8D9C7eNhArMW1uFVE0J3Vi23rdkEDYm+0oo17alw==", + "requires": { + "adm-zip": "^0.5.10", + "deasync": "^0.1.28", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } } } }, + "deasync": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz", + "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==", + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + } + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -85,6 +117,11 @@ "ms": "2.1.2" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", @@ -193,6 +230,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, "nodejs-file-downloader": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", diff --git a/_generated/PublishCodeCoverageResultsV2_Node20/task.json b/_generated/PublishCodeCoverageResultsV2_Node20/task.json index 2ce20c69ad15..ffb1d4de9422 100644 --- a/_generated/PublishCodeCoverageResultsV2_Node20/task.json +++ b/_generated/PublishCodeCoverageResultsV2_Node20/task.json @@ -15,7 +15,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 234, + "Minor": 235, "Patch": 1 }, "demands": [], @@ -66,7 +66,7 @@ "NoCodeCoverage": "No code coverage results were found to publish." }, "_buildConfigMapping": { - "Default": "2.234.0", - "Node20_229_4": "2.234.1" + "Default": "2.235.0", + "Node20_229_4": "2.235.1" } } \ No newline at end of file diff --git a/_generated/PublishCodeCoverageResultsV2_Node20/task.loc.json b/_generated/PublishCodeCoverageResultsV2_Node20/task.loc.json index f930774154c5..33d13eb2a2ba 100644 --- a/_generated/PublishCodeCoverageResultsV2_Node20/task.loc.json +++ b/_generated/PublishCodeCoverageResultsV2_Node20/task.loc.json @@ -15,7 +15,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 234, + "Minor": 235, "Patch": 1 }, "demands": [], @@ -66,7 +66,7 @@ "NoCodeCoverage": "ms-resource:loc.messages.NoCodeCoverage" }, "_buildConfigMapping": { - "Default": "2.234.0", - "Node20_229_4": "2.234.1" + "Default": "2.235.0", + "Node20_229_4": "2.235.1" } } \ No newline at end of file From 08bff22b9728040ee7b7fe71ec2399f687a44e5b Mon Sep 17 00:00:00 2001 From: dogirala <100841140+dogirala@users.noreply.github.com> Date: Wed, 31 Jan 2024 15:46:08 +0530 Subject: [PATCH 06/10] Remove vstest v3 (#18758) --- make-options.json | 1 - 1 file changed, 1 deletion(-) diff --git a/make-options.json b/make-options.json index 11ffe53c8765..3a77698a8587 100644 --- a/make-options.json +++ b/make-options.json @@ -194,7 +194,6 @@ "VSBuildV1", "VsTestV1", "VsTestV2", - "VsTestV3", "VsTestPlatformToolInstallerV1", "WindowsMachineFileCopyV1", "WindowsMachineFileCopyV2", From 72cb0bd6ba0469692d5b6bace663be7918738b02 Mon Sep 17 00:00:00 2001 From: Aditya Shah <110218555+adityashahms@users.noreply.github.com> Date: Wed, 31 Jan 2024 15:56:57 +0530 Subject: [PATCH 07/10] Removing AzureTestPlanTaskV0 from make-options.json (#19487) Co-authored-by: triptijain2112 <92331194+triptijain2112@users.noreply.github.com> --- make-options.json | 1 - 1 file changed, 1 deletion(-) diff --git a/make-options.json b/make-options.json index 3a77698a8587..02bf57c9f72d 100644 --- a/make-options.json +++ b/make-options.json @@ -45,7 +45,6 @@ "AzureRmWebAppDeploymentV4", "AzureSpringCloudV0", "AzureStaticWebAppV0", - "AzureTestPlanV0", "AzureWebAppV1", "AzureWebAppContainerV1", "AzureVmssDeploymentV0", From b79c91d0da97aa8f45fc3b331d88dd514372a9d4 Mon Sep 17 00:00:00 2001 From: Pranshu-Negi <117078846+Pranshu-Negi@users.noreply.github.com> Date: Wed, 31 Jan 2024 15:24:23 +0100 Subject: [PATCH 08/10] Add aka.ms link to deprecated task guidance error messages (#19486) * Add aka.ms link to deprecated task guidance error messages * Rephrase --- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- Tasks/AppCenterDistributeV1/task.json | 4 ++-- Tasks/AppCenterDistributeV1/task.loc.json | 2 +- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- Tasks/AppCenterDistributeV2/task.json | 4 ++-- Tasks/AppCenterDistributeV2/task.loc.json | 2 +- Tasks/ChefKnifeV1/ChefKnife.ps1 | 2 +- Tasks/ChefKnifeV1/task.json | 2 +- Tasks/ChefKnifeV1/task.loc.json | 2 +- Tasks/ChefV1/Chef.ps1 | 2 +- Tasks/ChefV1/task.json | 2 +- Tasks/ChefV1/task.loc.json | 2 +- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- Tasks/CondaEnvironmentV1/task.json | 4 ++-- Tasks/CondaEnvironmentV1/task.loc.json | 2 +- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- Tasks/DotNetCoreInstallerV1/task.json | 4 ++-- Tasks/DotNetCoreInstallerV1/task.loc.json | 2 +- Tasks/IISWebAppDeployment/DeployIISWebApp.ps1 | 2 +- Tasks/IISWebAppDeployment/task.json | 2 +- Tasks/IISWebAppDeployment/task.loc.json | 2 +- Tasks/QuickPerfTestV1/Invoke-QuickPerfTest.ps1 | 2 +- Tasks/QuickPerfTestV1/task.json | 2 +- Tasks/QuickPerfTestV1/task.loc.json | 2 +- Tasks/RunJMeterLoadTestV1/Start-ApacheJMeterTest.ps1 | 2 +- Tasks/RunJMeterLoadTestV1/task.json | 2 +- Tasks/RunJMeterLoadTestV1/task.loc.json | 2 +- Tasks/RunLoadTestV1/Start-CloudLoadTest.ps1 | 2 +- Tasks/RunLoadTestV1/task.json | 2 +- Tasks/RunLoadTestV1/task.loc.json | 2 +- Tasks/SqlServerDacpacDeployment/DeployToSqlServer.ps1 | 2 +- Tasks/SqlServerDacpacDeployment/task.json | 2 +- Tasks/SqlServerDacpacDeployment/task.loc.json | 2 +- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- Tasks/XamarinTestCloudV1/XamarinTestCloud.ps1 | 2 +- Tasks/XamarinTestCloudV1/task.json | 4 ++-- Tasks/XamarinTestCloudV1/task.loc.json | 2 +- _generated/AppCenterDistributeV1.versionmap.txt | 4 ++-- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- _generated/AppCenterDistributeV1_Node20/task.json | 8 ++++---- _generated/AppCenterDistributeV1_Node20/task.loc.json | 6 +++--- _generated/AppCenterDistributeV2.versionmap.txt | 4 ++-- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- _generated/AppCenterDistributeV2_Node20/task.json | 8 ++++---- _generated/AppCenterDistributeV2_Node20/task.loc.json | 6 +++--- _generated/CondaEnvironmentV1.versionmap.txt | 4 ++-- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- _generated/CondaEnvironmentV1/task.json | 8 ++++---- _generated/CondaEnvironmentV1/task.loc.json | 6 +++--- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- _generated/CondaEnvironmentV1_Node20/task.json | 8 ++++---- _generated/CondaEnvironmentV1_Node20/task.loc.json | 6 +++--- _generated/DotNetCoreInstallerV1.versionmap.txt | 4 ++-- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- _generated/DotNetCoreInstallerV1_Node20/task.json | 8 ++++---- _generated/DotNetCoreInstallerV1_Node20/task.loc.json | 6 +++--- _generated/XamarinTestCloudV1.versionmap.txt | 4 ++-- .../Strings/resources.resjson/en-US/resources.resjson | 2 +- _generated/XamarinTestCloudV1_Node20/XamarinTestCloud.ps1 | 2 +- _generated/XamarinTestCloudV1_Node20/task.json | 8 ++++---- _generated/XamarinTestCloudV1_Node20/task.loc.json | 6 +++--- 61 files changed, 101 insertions(+), 101 deletions(-) diff --git a/Tasks/AppCenterDistributeV1/Strings/resources.resjson/en-US/resources.resjson b/Tasks/AppCenterDistributeV1/Strings/resources.resjson/en-US/resources.resjson index c946550ca471..bfa660e1f93a 100644 --- a/Tasks/AppCenterDistributeV1/Strings/resources.resjson/en-US/resources.resjson +++ b/Tasks/AppCenterDistributeV1/Strings/resources.resjson/en-US/resources.resjson @@ -39,5 +39,5 @@ "loc.messages.FoundMultipleFiles": "Found multiple files matching %s.", "loc.messages.FailedToCreateFile": "Failed to create %s with error: %s.", "loc.messages.FailedToFindFile": "Failed to find %s at %s.", - "loc.messages.DeprecatedTask": "The AppCenterDistribute@1 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "loc.messages.DeprecatedTask": "The AppCenterDistribute@1 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/Tasks/AppCenterDistributeV1/task.json b/Tasks/AppCenterDistributeV1/task.json index 79f0701d7155..201480de2177 100644 --- a/Tasks/AppCenterDistributeV1/task.json +++ b/Tasks/AppCenterDistributeV1/task.json @@ -17,7 +17,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "minimumAgentVersion": "2.144.0", "releaseNotes": "Fix bug where feature branches were being truncated.", @@ -202,6 +202,6 @@ "FoundMultipleFiles": "Found multiple files matching %s.", "FailedToCreateFile": "Failed to create %s with error: %s.", "FailedToFindFile": "Failed to find %s at %s.", - "DeprecatedTask": "The AppCenterDistribute@1 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "DeprecatedTask": "The AppCenterDistribute@1 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } } \ No newline at end of file diff --git a/Tasks/AppCenterDistributeV1/task.loc.json b/Tasks/AppCenterDistributeV1/task.loc.json index 3ad7a018bd43..21b6f4e265c7 100644 --- a/Tasks/AppCenterDistributeV1/task.loc.json +++ b/Tasks/AppCenterDistributeV1/task.loc.json @@ -17,7 +17,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "minimumAgentVersion": "2.144.0", "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/AppCenterDistributeV2/Strings/resources.resjson/en-US/resources.resjson b/Tasks/AppCenterDistributeV2/Strings/resources.resjson/en-US/resources.resjson index 0d154f652428..027cee3bdc01 100644 --- a/Tasks/AppCenterDistributeV2/Strings/resources.resjson/en-US/resources.resjson +++ b/Tasks/AppCenterDistributeV2/Strings/resources.resjson/en-US/resources.resjson @@ -40,5 +40,5 @@ "loc.messages.FoundMultipleFiles": "Found multiple files matching %s.", "loc.messages.FailedToCreateFile": "Failed to create %s with error: %s.", "loc.messages.FailedToFindFile": "Failed to find %s at %s.", - "loc.messages.DeprecatedTask": "The AppCenterDistribute@2 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "loc.messages.DeprecatedTask": "The AppCenterDistribute@2 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/Tasks/AppCenterDistributeV2/task.json b/Tasks/AppCenterDistributeV2/task.json index 96d662b08ddb..126efab09520 100644 --- a/Tasks/AppCenterDistributeV2/task.json +++ b/Tasks/AppCenterDistributeV2/task.json @@ -17,7 +17,7 @@ "version": { "Major": 2, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "minimumAgentVersion": "2.144.0", "releaseNotes": "Added support for multiple destinations.", @@ -204,6 +204,6 @@ "FoundMultipleFiles": "Found multiple files matching %s.", "FailedToCreateFile": "Failed to create %s with error: %s.", "FailedToFindFile": "Failed to find %s at %s.", - "DeprecatedTask": "The AppCenterDistribute@2 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "DeprecatedTask": "The AppCenterDistribute@2 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } } diff --git a/Tasks/AppCenterDistributeV2/task.loc.json b/Tasks/AppCenterDistributeV2/task.loc.json index acf7b5407c68..f6763ecf1c87 100644 --- a/Tasks/AppCenterDistributeV2/task.loc.json +++ b/Tasks/AppCenterDistributeV2/task.loc.json @@ -17,7 +17,7 @@ "version": { "Major": 2, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "minimumAgentVersion": "2.144.0", "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/ChefKnifeV1/ChefKnife.ps1 b/Tasks/ChefKnifeV1/ChefKnife.ps1 index 4ef50eff0033..62ad99118ee9 100644 --- a/Tasks/ChefKnifeV1/ChefKnife.ps1 +++ b/Tasks/ChefKnifeV1/ChefKnife.ps1 @@ -36,7 +36,7 @@ try } if ($featureFlags.failDeprecatedBuildTask) { - throw "The ChefKnife@1 (Run scripts with Knife commands on your Chef workstation) task has been deprecated since March 5, 2018 and will soon be retired. To continue to use Chef Knife, use the Knife client directly from a bash/pwsh/script task. See https://docs.chef.io/workstation/knife_client/." + throw "The ChefKnife@1 (Run scripts with Knife commands on your Chef workstation) task has been deprecated since March 5, 2018 and will soon be retired. To continue to use Chef Knife, use the Knife client directly from a bash/pwsh/script task. See https://docs.chef.io/workstation/knife_client/. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } } finally diff --git a/Tasks/ChefKnifeV1/task.json b/Tasks/ChefKnifeV1/task.json index 31b79240b2db..c307498559a3 100644 --- a/Tasks/ChefKnifeV1/task.json +++ b/Tasks/ChefKnifeV1/task.json @@ -17,7 +17,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/ChefKnifeV1/task.loc.json b/Tasks/ChefKnifeV1/task.loc.json index 1c79b96b5dc1..b31e6a149b42 100644 --- a/Tasks/ChefKnifeV1/task.loc.json +++ b/Tasks/ChefKnifeV1/task.loc.json @@ -17,7 +17,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/ChefV1/Chef.ps1 b/Tasks/ChefV1/Chef.ps1 index 9286f242e733..1536b15cb49c 100644 --- a/Tasks/ChefV1/Chef.ps1 +++ b/Tasks/ChefV1/Chef.ps1 @@ -192,7 +192,7 @@ try } if ($featureFlags.failDeprecatedBuildTask) { - throw "The Chef@1 (Deploy to Chef environments by editing environment attributes) task has been deprecated since March 5, 2018 and will soon be retired. To continue to use Chef, use the Chef CLI directly from a bash/pwsh/script task. See https://github.com/chef/chef-cli." + throw "The Chef@1 (Deploy to Chef environments by editing environment attributes) task has been deprecated since March 5, 2018 and will soon be retired. To continue to use Chef, use the Chef CLI directly from a bash/pwsh/script task. See https://github.com/chef/chef-cli. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } } finally diff --git a/Tasks/ChefV1/task.json b/Tasks/ChefV1/task.json index dafc21544d95..53ea8904961f 100644 --- a/Tasks/ChefV1/task.json +++ b/Tasks/ChefV1/task.json @@ -18,7 +18,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/ChefV1/task.loc.json b/Tasks/ChefV1/task.loc.json index 827412781d3b..0b1c7d4ab52f 100644 --- a/Tasks/ChefV1/task.loc.json +++ b/Tasks/ChefV1/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/CondaEnvironmentV1/Strings/resources.resjson/en-US/resources.resjson b/Tasks/CondaEnvironmentV1/Strings/resources.resjson/en-US/resources.resjson index 74ac7b229902..8ca3241634b0 100644 --- a/Tasks/CondaEnvironmentV1/Strings/resources.resjson/en-US/resources.resjson +++ b/Tasks/CondaEnvironmentV1/Strings/resources.resjson/en-US/resources.resjson @@ -25,5 +25,5 @@ "loc.messages.ParameterRequired": "The `%s` parameter is required", "loc.messages.PlatformNotRecognized": "Platform not recognized", "loc.messages.PrependPath": "Prepending PATH environment variable with directory: %s", - "loc.messages.DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task." + "loc.messages.DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/Tasks/CondaEnvironmentV1/task.json b/Tasks/CondaEnvironmentV1/task.json index 256fb105599c..e7da1ba5920f 100644 --- a/Tasks/CondaEnvironmentV1/task.json +++ b/Tasks/CondaEnvironmentV1/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "deprecated": true, "removalDate": "2024-01-31", @@ -102,6 +102,6 @@ "ParameterRequired": "The `%s` parameter is required", "PlatformNotRecognized": "Platform not recognized", "PrependPath": "Prepending PATH environment variable with directory: %s", - "DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task." + "DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } } \ No newline at end of file diff --git a/Tasks/CondaEnvironmentV1/task.loc.json b/Tasks/CondaEnvironmentV1/task.loc.json index dde84a5aa260..fb733844a5de 100644 --- a/Tasks/CondaEnvironmentV1/task.loc.json +++ b/Tasks/CondaEnvironmentV1/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/DotNetCoreInstallerV1/Strings/resources.resjson/en-US/resources.resjson b/Tasks/DotNetCoreInstallerV1/Strings/resources.resjson/en-US/resources.resjson index 25a049565f25..1d4969656532 100644 --- a/Tasks/DotNetCoreInstallerV1/Strings/resources.resjson/en-US/resources.resjson +++ b/Tasks/DotNetCoreInstallerV1/Strings/resources.resjson/en-US/resources.resjson @@ -79,5 +79,5 @@ "loc.messages.VersionFilesDataIncorrect": "Version's files data is missing or has missing required fields.", "loc.messages.VersionInformationNotComplete": "Version: %s required information is not complete in releases.json file. Error: %s", "loc.messages.FailedWhileExtractingPacakge": "Failed while extracting downloaded package with error: %s", - "loc.messages.DeprecatedTask": "The DotNetCoreInstaller@1 (.NET Core SDK/runtime installer) task has been deprecated since August 22, 2019 and will soon be retired. Use the UseDotNet@2 task instead." + "loc.messages.DeprecatedTask": "The DotNetCoreInstaller@1 (.NET Core SDK/runtime installer) task has been deprecated since August 22, 2019 and will soon be retired. Use the UseDotNet@2 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/Tasks/DotNetCoreInstallerV1/task.json b/Tasks/DotNetCoreInstallerV1/task.json index 4d8f543063a3..bb1193770cdb 100644 --- a/Tasks/DotNetCoreInstallerV1/task.json +++ b/Tasks/DotNetCoreInstallerV1/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "deprecated": true, "removalDate": "2024-01-31", @@ -154,6 +154,6 @@ "VersionFilesDataIncorrect": "Version's files data is missing or has missing required fields.", "VersionInformationNotComplete": "Version: %s required information is not complete in releases.json file. Error: %s", "FailedWhileExtractingPacakge": "Failed while extracting downloaded package with error: %s", - "DeprecatedTask": "The DotNetCoreInstaller@1 (.NET Core SDK/runtime installer) task has been deprecated since August 22, 2019 and will soon be retired. Use the UseDotNet@2 task instead." + "DeprecatedTask": "The DotNetCoreInstaller@1 (.NET Core SDK/runtime installer) task has been deprecated since August 22, 2019 and will soon be retired. Use the UseDotNet@2 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } } \ No newline at end of file diff --git a/Tasks/DotNetCoreInstallerV1/task.loc.json b/Tasks/DotNetCoreInstallerV1/task.loc.json index 14e7a158132b..1a7d2d4a8b05 100644 --- a/Tasks/DotNetCoreInstallerV1/task.loc.json +++ b/Tasks/DotNetCoreInstallerV1/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/IISWebAppDeployment/DeployIISWebApp.ps1 b/Tasks/IISWebAppDeployment/DeployIISWebApp.ps1 index 65308a35e479..e873592d0ee2 100644 --- a/Tasks/IISWebAppDeployment/DeployIISWebApp.ps1 +++ b/Tasks/IISWebAppDeployment/DeployIISWebApp.ps1 @@ -159,7 +159,7 @@ $featureFlags = @{ } if ($featureFlags.failDeprecatedBuildTask) { - throw "The IISWebAppDeployment@1 (IIS Web App deployment) task has been deprecated since October 5, 2018 and will soon be retired. Use the 'IIS Web App Deployment Using WinRM' extension instead: https://marketplace.visualstudio.com/items?itemName=ms-vscs-rm.iiswebapp." + throw "The IISWebAppDeployment@1 (IIS Web App deployment) task has been deprecated since October 5, 2018 and will soon be retired. Use the 'IIS Web App Deployment Using WinRM' extension instead: https://marketplace.visualstudio.com/items?itemName=ms-vscs-rm.iiswebapp. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } Write-Output ( Get-LocalizedString -Key "Successfully deployed IIS Web Deploy Package : {0}" -ArgumentList $webDeployPackage) \ No newline at end of file diff --git a/Tasks/IISWebAppDeployment/task.json b/Tasks/IISWebAppDeployment/task.json index d9a154906021..987b5d51b5a1 100644 --- a/Tasks/IISWebAppDeployment/task.json +++ b/Tasks/IISWebAppDeployment/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "demands": [], "minimumAgentVersion": "1.91.0", diff --git a/Tasks/IISWebAppDeployment/task.loc.json b/Tasks/IISWebAppDeployment/task.loc.json index a425c699e336..0dd4e6eb665b 100644 --- a/Tasks/IISWebAppDeployment/task.loc.json +++ b/Tasks/IISWebAppDeployment/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "demands": [], "minimumAgentVersion": "1.91.0", diff --git a/Tasks/QuickPerfTestV1/Invoke-QuickPerfTest.ps1 b/Tasks/QuickPerfTestV1/Invoke-QuickPerfTest.ps1 index d34fcdcc30cf..b3a3f8373d42 100644 --- a/Tasks/QuickPerfTestV1/Invoke-QuickPerfTest.ps1 +++ b/Tasks/QuickPerfTestV1/Invoke-QuickPerfTest.ps1 @@ -192,7 +192,7 @@ $featureFlags = @{ } if ($featureFlags.failDeprecatedBuildTask) { - throw "The QuickPerfTest@1 (Cloud-based web performance test) task has been deprecated since June 4, 2019 and will soon be retired. Use the AzureLoadTest@1 task instead." + throw "The QuickPerfTest@1 (Cloud-based web performance test) task has been deprecated since June 4, 2019 and will soon be retired. Use the AzureLoadTest@1 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } Write-Output "Quick Perf Test Script execution completed" diff --git a/Tasks/QuickPerfTestV1/task.json b/Tasks/QuickPerfTestV1/task.json index f47eeaa8aa78..c855e1fc1d21 100644 --- a/Tasks/QuickPerfTestV1/task.json +++ b/Tasks/QuickPerfTestV1/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/QuickPerfTestV1/task.loc.json b/Tasks/QuickPerfTestV1/task.loc.json index 30b46298fe64..5c1297969f60 100644 --- a/Tasks/QuickPerfTestV1/task.loc.json +++ b/Tasks/QuickPerfTestV1/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/RunJMeterLoadTestV1/Start-ApacheJMeterTest.ps1 b/Tasks/RunJMeterLoadTestV1/Start-ApacheJMeterTest.ps1 index 3a7c05111cf9..09aa3486e5a8 100644 --- a/Tasks/RunJMeterLoadTestV1/Start-ApacheJMeterTest.ps1 +++ b/Tasks/RunJMeterLoadTestV1/Start-ApacheJMeterTest.ps1 @@ -189,7 +189,7 @@ $featureFlags = @{ } if ($featureFlags.failDeprecatedBuildTask) { - throw "The ApacheJMeterLoadTest@1 (Cloud-based Apache JMeter load test) task haas been deprecated since June 4, 2019 and will soon be retired. For cloud-based load testing, use the AzureLoadTest@1 task." + throw "The ApacheJMeterLoadTest@1 (Cloud-based Apache JMeter load test) task haas been deprecated since June 4, 2019 and will soon be retired. For cloud-based load testing, use the AzureLoadTest@1 task. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } WriteTaskMessages "JMeter Test Script execution completed" diff --git a/Tasks/RunJMeterLoadTestV1/task.json b/Tasks/RunJMeterLoadTestV1/task.json index d0b7231c17c5..605042243c5e 100644 --- a/Tasks/RunJMeterLoadTestV1/task.json +++ b/Tasks/RunJMeterLoadTestV1/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/RunJMeterLoadTestV1/task.loc.json b/Tasks/RunJMeterLoadTestV1/task.loc.json index e124a0259b03..d99938ea58ed 100644 --- a/Tasks/RunJMeterLoadTestV1/task.loc.json +++ b/Tasks/RunJMeterLoadTestV1/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/RunLoadTestV1/Start-CloudLoadTest.ps1 b/Tasks/RunLoadTestV1/Start-CloudLoadTest.ps1 index 2f22ff319746..b2c2231c6a9b 100644 --- a/Tasks/RunLoadTestV1/Start-CloudLoadTest.ps1 +++ b/Tasks/RunLoadTestV1/Start-CloudLoadTest.ps1 @@ -238,7 +238,7 @@ $featureFlags = @{ } if ($featureFlags.failDeprecatedBuildTask) { - throw "The CloudLoadTest@1 (Cloud-based load test) has been deprecated since June 4, 2019 and will soon be retired. Use the AzureLoadTest@1 task instead." + throw "The CloudLoadTest@1 (Cloud-based load test) has been deprecated since June 4, 2019 and will soon be retired. Use the AzureLoadTest@1 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } WriteTaskMessages "Load Test Script execution completed" diff --git a/Tasks/RunLoadTestV1/task.json b/Tasks/RunLoadTestV1/task.json index b3ba80661b51..6f383992f9af 100644 --- a/Tasks/RunLoadTestV1/task.json +++ b/Tasks/RunLoadTestV1/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/RunLoadTestV1/task.loc.json b/Tasks/RunLoadTestV1/task.loc.json index 3008abe45d56..f4736e2d9e32 100644 --- a/Tasks/RunLoadTestV1/task.loc.json +++ b/Tasks/RunLoadTestV1/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/SqlServerDacpacDeployment/DeployToSqlServer.ps1 b/Tasks/SqlServerDacpacDeployment/DeployToSqlServer.ps1 index eadb79dea226..4a089e0abd65 100644 --- a/Tasks/SqlServerDacpacDeployment/DeployToSqlServer.ps1 +++ b/Tasks/SqlServerDacpacDeployment/DeployToSqlServer.ps1 @@ -86,7 +86,7 @@ $featureFlags = @{ } if ($featureFlags.failDeprecatedBuildTask) { - throw "The SqlServerDacpacDeployment@1 (SQL Server database deploy) task has been deprecated since October 5, 2018 and will soon be retired. Use the 'IIS Web App Deployment Using WinRM' extension instead: https://marketplace.visualstudio.com/items?itemName=ms-vscs-rm.iiswebapp. For Azure SQL Database use the SqlAzureDacpacDeployment@1 task." + throw "The SqlServerDacpacDeployment@1 (SQL Server database deploy) task has been deprecated since October 5, 2018 and will soon be retired. Use the 'IIS Web App Deployment Using WinRM' extension instead: https://marketplace.visualstudio.com/items?itemName=ms-vscs-rm.iiswebapp. For Azure SQL Database use the SqlAzureDacpacDeployment@1 task. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } Write-Output ( Get-LocalizedString -Key "Successfully deployed Sql Dacpac File : {0}" -ArgumentList $dacpacFile) \ No newline at end of file diff --git a/Tasks/SqlServerDacpacDeployment/task.json b/Tasks/SqlServerDacpacDeployment/task.json index cc1e81a4c374..59c4b275ab6e 100644 --- a/Tasks/SqlServerDacpacDeployment/task.json +++ b/Tasks/SqlServerDacpacDeployment/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "demands": [], "minimumAgentVersion": "1.96.2", diff --git a/Tasks/SqlServerDacpacDeployment/task.loc.json b/Tasks/SqlServerDacpacDeployment/task.loc.json index 55c090fc3e35..f03810e1cbf0 100644 --- a/Tasks/SqlServerDacpacDeployment/task.loc.json +++ b/Tasks/SqlServerDacpacDeployment/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 1 }, "demands": [], "minimumAgentVersion": "1.96.2", diff --git a/Tasks/XamarinTestCloudV1/Strings/resources.resjson/en-US/resources.resjson b/Tasks/XamarinTestCloudV1/Strings/resources.resjson/en-US/resources.resjson index bae4406560f9..377b8fda33ef 100644 --- a/Tasks/XamarinTestCloudV1/Strings/resources.resjson/en-US/resources.resjson +++ b/Tasks/XamarinTestCloudV1/Strings/resources.resjson/en-US/resources.resjson @@ -29,5 +29,5 @@ "loc.input.help.optionalArgs": "Additional arguments passed to test-cloud.exe.", "loc.input.label.publishNUnitResults": "Publish results to Azure Pipelines", "loc.input.help.publishNUnitResults": "When selected, --nunit-xml option will be passed to test-cloud.exe. Results from the NUnit xml file will be published to Azure Pipelines.", - "loc.messages.DeprecatedTask": "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "loc.messages.DeprecatedTask": "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/Tasks/XamarinTestCloudV1/XamarinTestCloud.ps1 b/Tasks/XamarinTestCloudV1/XamarinTestCloud.ps1 index 80e6b6170378..db863759521d 100644 --- a/Tasks/XamarinTestCloudV1/XamarinTestCloud.ps1 +++ b/Tasks/XamarinTestCloudV1/XamarinTestCloud.ps1 @@ -198,6 +198,6 @@ $featureFlags = @{ } if ($featureFlags.failDeprecatedBuildTask) { - throw "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead." + throw "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } Write-Verbose "Leaving script XamarinTestCloud.ps1" \ No newline at end of file diff --git a/Tasks/XamarinTestCloudV1/task.json b/Tasks/XamarinTestCloudV1/task.json index 2d7f9ebbb51a..94ba1d921464 100644 --- a/Tasks/XamarinTestCloudV1/task.json +++ b/Tasks/XamarinTestCloudV1/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "demands": [], "minimumAgentVersion": "1.83.0", @@ -198,6 +198,6 @@ } }, "messages": { - "DeprecatedTask": "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "DeprecatedTask": "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } } \ No newline at end of file diff --git a/Tasks/XamarinTestCloudV1/task.loc.json b/Tasks/XamarinTestCloudV1/task.loc.json index 3d5c25ad59ae..44e908a2e504 100644 --- a/Tasks/XamarinTestCloudV1/task.loc.json +++ b/Tasks/XamarinTestCloudV1/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "demands": [], "minimumAgentVersion": "1.83.0", diff --git a/_generated/AppCenterDistributeV1.versionmap.txt b/_generated/AppCenterDistributeV1.versionmap.txt index bf340ca139ef..68659d064af1 100644 --- a/_generated/AppCenterDistributeV1.versionmap.txt +++ b/_generated/AppCenterDistributeV1.versionmap.txt @@ -1,2 +1,2 @@ -Default|1.235.0 -Node20_229_7|1.235.1 +Default|1.235.2 +Node20_229_7|1.235.3 diff --git a/_generated/AppCenterDistributeV1_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/AppCenterDistributeV1_Node20/Strings/resources.resjson/en-US/resources.resjson index c946550ca471..bfa660e1f93a 100644 --- a/_generated/AppCenterDistributeV1_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/AppCenterDistributeV1_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -39,5 +39,5 @@ "loc.messages.FoundMultipleFiles": "Found multiple files matching %s.", "loc.messages.FailedToCreateFile": "Failed to create %s with error: %s.", "loc.messages.FailedToFindFile": "Failed to find %s at %s.", - "loc.messages.DeprecatedTask": "The AppCenterDistribute@1 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "loc.messages.DeprecatedTask": "The AppCenterDistribute@1 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/_generated/AppCenterDistributeV1_Node20/task.json b/_generated/AppCenterDistributeV1_Node20/task.json index 228767bdfa8d..541712815dba 100644 --- a/_generated/AppCenterDistributeV1_Node20/task.json +++ b/_generated/AppCenterDistributeV1_Node20/task.json @@ -17,7 +17,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "minimumAgentVersion": "2.144.0", "releaseNotes": "Fix bug where feature branches were being truncated.", @@ -206,10 +206,10 @@ "FoundMultipleFiles": "Found multiple files matching %s.", "FailedToCreateFile": "Failed to create %s with error: %s.", "FailedToFindFile": "Failed to find %s at %s.", - "DeprecatedTask": "The AppCenterDistribute@1 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "DeprecatedTask": "The AppCenterDistribute@1 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20_229_7": "1.235.1" + "Default": "1.235.2", + "Node20_229_7": "1.235.3" } } \ No newline at end of file diff --git a/_generated/AppCenterDistributeV1_Node20/task.loc.json b/_generated/AppCenterDistributeV1_Node20/task.loc.json index 4b88e72ba053..f6b2a3cabfa1 100644 --- a/_generated/AppCenterDistributeV1_Node20/task.loc.json +++ b/_generated/AppCenterDistributeV1_Node20/task.loc.json @@ -17,7 +17,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "minimumAgentVersion": "2.144.0", "releaseNotes": "ms-resource:loc.releaseNotes", @@ -209,7 +209,7 @@ "DeprecatedTask": "ms-resource:loc.messages.DeprecatedTask" }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20_229_7": "1.235.1" + "Default": "1.235.2", + "Node20_229_7": "1.235.3" } } \ No newline at end of file diff --git a/_generated/AppCenterDistributeV2.versionmap.txt b/_generated/AppCenterDistributeV2.versionmap.txt index 5bb6442d61ff..617d8c186052 100644 --- a/_generated/AppCenterDistributeV2.versionmap.txt +++ b/_generated/AppCenterDistributeV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.235.0 -Node20_229_7|2.235.1 +Default|2.235.2 +Node20_229_7|2.235.3 diff --git a/_generated/AppCenterDistributeV2_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/AppCenterDistributeV2_Node20/Strings/resources.resjson/en-US/resources.resjson index 0d154f652428..027cee3bdc01 100644 --- a/_generated/AppCenterDistributeV2_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/AppCenterDistributeV2_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -40,5 +40,5 @@ "loc.messages.FoundMultipleFiles": "Found multiple files matching %s.", "loc.messages.FailedToCreateFile": "Failed to create %s with error: %s.", "loc.messages.FailedToFindFile": "Failed to find %s at %s.", - "loc.messages.DeprecatedTask": "The AppCenterDistribute@2 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "loc.messages.DeprecatedTask": "The AppCenterDistribute@2 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/_generated/AppCenterDistributeV2_Node20/task.json b/_generated/AppCenterDistributeV2_Node20/task.json index 3848df20dfe5..436df2e3500a 100644 --- a/_generated/AppCenterDistributeV2_Node20/task.json +++ b/_generated/AppCenterDistributeV2_Node20/task.json @@ -17,7 +17,7 @@ "version": { "Major": 2, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "minimumAgentVersion": "2.144.0", "releaseNotes": "Added support for multiple destinations.", @@ -208,10 +208,10 @@ "FoundMultipleFiles": "Found multiple files matching %s.", "FailedToCreateFile": "Failed to create %s with error: %s.", "FailedToFindFile": "Failed to find %s at %s.", - "DeprecatedTask": "The AppCenterDistribute@2 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "DeprecatedTask": "The AppCenterDistribute@2 (App Center distribute) task has been deprecated since November 14, 2022 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." }, "_buildConfigMapping": { - "Default": "2.235.0", - "Node20_229_7": "2.235.1" + "Default": "2.235.2", + "Node20_229_7": "2.235.3" } } \ No newline at end of file diff --git a/_generated/AppCenterDistributeV2_Node20/task.loc.json b/_generated/AppCenterDistributeV2_Node20/task.loc.json index 72de3386fd19..3e4513f8ddfc 100644 --- a/_generated/AppCenterDistributeV2_Node20/task.loc.json +++ b/_generated/AppCenterDistributeV2_Node20/task.loc.json @@ -17,7 +17,7 @@ "version": { "Major": 2, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "minimumAgentVersion": "2.144.0", "releaseNotes": "ms-resource:loc.releaseNotes", @@ -211,7 +211,7 @@ "DeprecatedTask": "ms-resource:loc.messages.DeprecatedTask" }, "_buildConfigMapping": { - "Default": "2.235.0", - "Node20_229_7": "2.235.1" + "Default": "2.235.2", + "Node20_229_7": "2.235.3" } } \ No newline at end of file diff --git a/_generated/CondaEnvironmentV1.versionmap.txt b/_generated/CondaEnvironmentV1.versionmap.txt index 26181367ed1e..6da3626d7a5f 100644 --- a/_generated/CondaEnvironmentV1.versionmap.txt +++ b/_generated/CondaEnvironmentV1.versionmap.txt @@ -1,2 +1,2 @@ -Default|1.235.0 -Node20-225|1.235.1 +Default|1.235.2 +Node20-225|1.235.3 diff --git a/_generated/CondaEnvironmentV1/Strings/resources.resjson/en-US/resources.resjson b/_generated/CondaEnvironmentV1/Strings/resources.resjson/en-US/resources.resjson index 74ac7b229902..8ca3241634b0 100644 --- a/_generated/CondaEnvironmentV1/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/CondaEnvironmentV1/Strings/resources.resjson/en-US/resources.resjson @@ -25,5 +25,5 @@ "loc.messages.ParameterRequired": "The `%s` parameter is required", "loc.messages.PlatformNotRecognized": "Platform not recognized", "loc.messages.PrependPath": "Prepending PATH environment variable with directory: %s", - "loc.messages.DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task." + "loc.messages.DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/_generated/CondaEnvironmentV1/task.json b/_generated/CondaEnvironmentV1/task.json index 48948eb4c677..d246b3610c93 100644 --- a/_generated/CondaEnvironmentV1/task.json +++ b/_generated/CondaEnvironmentV1/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "deprecated": true, "removalDate": "2024-01-31", @@ -102,10 +102,10 @@ "ParameterRequired": "The `%s` parameter is required", "PlatformNotRecognized": "Platform not recognized", "PrependPath": "Prepending PATH environment variable with directory: %s", - "DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task." + "DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-225": "1.235.1" + "Default": "1.235.2", + "Node20-225": "1.235.3" } } \ No newline at end of file diff --git a/_generated/CondaEnvironmentV1/task.loc.json b/_generated/CondaEnvironmentV1/task.loc.json index c7dfb5c58d09..f44f1c233aaa 100644 --- a/_generated/CondaEnvironmentV1/task.loc.json +++ b/_generated/CondaEnvironmentV1/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 0 + "Patch": 2 }, "deprecated": true, "removalDate": "2024-01-31", @@ -105,7 +105,7 @@ "DeprecatedTask": "ms-resource:loc.messages.DeprecatedTask" }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-225": "1.235.1" + "Default": "1.235.2", + "Node20-225": "1.235.3" } } \ No newline at end of file diff --git a/_generated/CondaEnvironmentV1_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/CondaEnvironmentV1_Node20/Strings/resources.resjson/en-US/resources.resjson index 74ac7b229902..8ca3241634b0 100644 --- a/_generated/CondaEnvironmentV1_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/CondaEnvironmentV1_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -25,5 +25,5 @@ "loc.messages.ParameterRequired": "The `%s` parameter is required", "loc.messages.PlatformNotRecognized": "Platform not recognized", "loc.messages.PrependPath": "Prepending PATH environment variable with directory: %s", - "loc.messages.DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task." + "loc.messages.DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/_generated/CondaEnvironmentV1_Node20/task.json b/_generated/CondaEnvironmentV1_Node20/task.json index 942a8652c533..3603c26be27b 100644 --- a/_generated/CondaEnvironmentV1_Node20/task.json +++ b/_generated/CondaEnvironmentV1_Node20/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "deprecated": true, "removalDate": "2024-01-31", @@ -106,10 +106,10 @@ "ParameterRequired": "The `%s` parameter is required", "PlatformNotRecognized": "Platform not recognized", "PrependPath": "Prepending PATH environment variable with directory: %s", - "DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task." + "DeprecatedTask": "The CondaEnvironment@1 (Conda environment) task has been deprecated since February 13, 2019 and will soon be retired. Use the Conda CLI ('conda') directly from a bash/pwsh/script task. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-225": "1.235.1" + "Default": "1.235.2", + "Node20-225": "1.235.3" } } \ No newline at end of file diff --git a/_generated/CondaEnvironmentV1_Node20/task.loc.json b/_generated/CondaEnvironmentV1_Node20/task.loc.json index 3dea60551c5f..f1e1a8395c2c 100644 --- a/_generated/CondaEnvironmentV1_Node20/task.loc.json +++ b/_generated/CondaEnvironmentV1_Node20/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "deprecated": true, "removalDate": "2024-01-31", @@ -109,7 +109,7 @@ "DeprecatedTask": "ms-resource:loc.messages.DeprecatedTask" }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-225": "1.235.1" + "Default": "1.235.2", + "Node20-225": "1.235.3" } } \ No newline at end of file diff --git a/_generated/DotNetCoreInstallerV1.versionmap.txt b/_generated/DotNetCoreInstallerV1.versionmap.txt index 6f666948200c..e989965811aa 100644 --- a/_generated/DotNetCoreInstallerV1.versionmap.txt +++ b/_generated/DotNetCoreInstallerV1.versionmap.txt @@ -1,2 +1,2 @@ -Default|1.235.0 -Node20_229_3|1.235.1 +Default|1.235.2 +Node20_229_3|1.235.3 diff --git a/_generated/DotNetCoreInstallerV1_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/DotNetCoreInstallerV1_Node20/Strings/resources.resjson/en-US/resources.resjson index 25a049565f25..1d4969656532 100644 --- a/_generated/DotNetCoreInstallerV1_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/DotNetCoreInstallerV1_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -79,5 +79,5 @@ "loc.messages.VersionFilesDataIncorrect": "Version's files data is missing or has missing required fields.", "loc.messages.VersionInformationNotComplete": "Version: %s required information is not complete in releases.json file. Error: %s", "loc.messages.FailedWhileExtractingPacakge": "Failed while extracting downloaded package with error: %s", - "loc.messages.DeprecatedTask": "The DotNetCoreInstaller@1 (.NET Core SDK/runtime installer) task has been deprecated since August 22, 2019 and will soon be retired. Use the UseDotNet@2 task instead." + "loc.messages.DeprecatedTask": "The DotNetCoreInstaller@1 (.NET Core SDK/runtime installer) task has been deprecated since August 22, 2019 and will soon be retired. Use the UseDotNet@2 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/_generated/DotNetCoreInstallerV1_Node20/task.json b/_generated/DotNetCoreInstallerV1_Node20/task.json index 333102c00f70..3aa56c3e82c6 100644 --- a/_generated/DotNetCoreInstallerV1_Node20/task.json +++ b/_generated/DotNetCoreInstallerV1_Node20/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "deprecated": true, "removalDate": "2024-01-31", @@ -158,10 +158,10 @@ "VersionFilesDataIncorrect": "Version's files data is missing or has missing required fields.", "VersionInformationNotComplete": "Version: %s required information is not complete in releases.json file. Error: %s", "FailedWhileExtractingPacakge": "Failed while extracting downloaded package with error: %s", - "DeprecatedTask": "The DotNetCoreInstaller@1 (.NET Core SDK/runtime installer) task has been deprecated since August 22, 2019 and will soon be retired. Use the UseDotNet@2 task instead." + "DeprecatedTask": "The DotNetCoreInstaller@1 (.NET Core SDK/runtime installer) task has been deprecated since August 22, 2019 and will soon be retired. Use the UseDotNet@2 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20_229_3": "1.235.1" + "Default": "1.235.2", + "Node20_229_3": "1.235.3" } } \ No newline at end of file diff --git a/_generated/DotNetCoreInstallerV1_Node20/task.loc.json b/_generated/DotNetCoreInstallerV1_Node20/task.loc.json index b370b92b7d74..ed390a6c7a1b 100644 --- a/_generated/DotNetCoreInstallerV1_Node20/task.loc.json +++ b/_generated/DotNetCoreInstallerV1_Node20/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "deprecated": true, "removalDate": "2024-01-31", @@ -161,7 +161,7 @@ "DeprecatedTask": "ms-resource:loc.messages.DeprecatedTask" }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20_229_3": "1.235.1" + "Default": "1.235.2", + "Node20_229_3": "1.235.3" } } \ No newline at end of file diff --git a/_generated/XamarinTestCloudV1.versionmap.txt b/_generated/XamarinTestCloudV1.versionmap.txt index c2c95dff691b..318cf73f5b4b 100644 --- a/_generated/XamarinTestCloudV1.versionmap.txt +++ b/_generated/XamarinTestCloudV1.versionmap.txt @@ -1,2 +1,2 @@ -Default|1.235.0 -Node20-228|1.235.1 +Default|1.235.2 +Node20-228|1.235.3 diff --git a/_generated/XamarinTestCloudV1_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/XamarinTestCloudV1_Node20/Strings/resources.resjson/en-US/resources.resjson index bae4406560f9..377b8fda33ef 100644 --- a/_generated/XamarinTestCloudV1_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/XamarinTestCloudV1_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -29,5 +29,5 @@ "loc.input.help.optionalArgs": "Additional arguments passed to test-cloud.exe.", "loc.input.label.publishNUnitResults": "Publish results to Azure Pipelines", "loc.input.help.publishNUnitResults": "When selected, --nunit-xml option will be passed to test-cloud.exe. Results from the NUnit xml file will be published to Azure Pipelines.", - "loc.messages.DeprecatedTask": "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "loc.messages.DeprecatedTask": "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } \ No newline at end of file diff --git a/_generated/XamarinTestCloudV1_Node20/XamarinTestCloud.ps1 b/_generated/XamarinTestCloudV1_Node20/XamarinTestCloud.ps1 index 80e6b6170378..db863759521d 100644 --- a/_generated/XamarinTestCloudV1_Node20/XamarinTestCloud.ps1 +++ b/_generated/XamarinTestCloudV1_Node20/XamarinTestCloud.ps1 @@ -198,6 +198,6 @@ $featureFlags = @{ } if ($featureFlags.failDeprecatedBuildTask) { - throw "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead." + throw "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." } Write-Verbose "Leaving script XamarinTestCloud.ps1" \ No newline at end of file diff --git a/_generated/XamarinTestCloudV1_Node20/task.json b/_generated/XamarinTestCloudV1_Node20/task.json index ea148e4d26d2..25d4908ac9df 100644 --- a/_generated/XamarinTestCloudV1_Node20/task.json +++ b/_generated/XamarinTestCloudV1_Node20/task.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "demands": [], "minimumAgentVersion": "1.83.0", @@ -202,10 +202,10 @@ } }, "messages": { - "DeprecatedTask": "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead." + "DeprecatedTask": "The XamarinTestCloud@1 (Xamarin Test Cloud) task has been deprecated since January 11, 2018 and will soon be retired. Use the AppCenterDistribute@3 task instead. Please visit https://aka.ms/azdo-deprecated-tasks to learn more about deprecated tasks." }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-228": "1.235.1" + "Default": "1.235.2", + "Node20-228": "1.235.3" } } \ No newline at end of file diff --git a/_generated/XamarinTestCloudV1_Node20/task.loc.json b/_generated/XamarinTestCloudV1_Node20/task.loc.json index 45d4e1efd1d5..4b52b86609b1 100644 --- a/_generated/XamarinTestCloudV1_Node20/task.loc.json +++ b/_generated/XamarinTestCloudV1_Node20/task.loc.json @@ -14,7 +14,7 @@ "version": { "Major": 1, "Minor": 235, - "Patch": 1 + "Patch": 3 }, "demands": [], "minimumAgentVersion": "1.83.0", @@ -205,7 +205,7 @@ "DeprecatedTask": "ms-resource:loc.messages.DeprecatedTask" }, "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-228": "1.235.1" + "Default": "1.235.2", + "Node20-228": "1.235.3" } } \ No newline at end of file From b6cdecaca3413b79070b461a991f8dc34319f567 Mon Sep 17 00:00:00 2001 From: Mohith <97882857+v-mohithgc@users.noreply.github.com> Date: Thu, 1 Feb 2024 11:32:06 +0530 Subject: [PATCH 09/10] Update Release Management Task Team code owners list (#19483) * update rm code owners * removed @vsebesta * added vhavrysh * added DRI-Antares Functions Deployment Loop for azure function app * removed # DRI-ReleaseManagement --- .github/CODEOWNERS | 194 +++++++++++++++++++++++---------------------- 1 file changed, 98 insertions(+), 96 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index de92334ba3a7..9a4a8beebbde 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -17,73 +17,75 @@ Tasks/AppCenterTestV1/ @imenkov @lucen-ms @DergachevE Tasks/ArchiveFilesV2/ @microsoft/akvelon-build-task-team -Tasks/AzureAppServiceManageV0/ @rvairavelu @microsoft/pipeline-environment-team +# DRI Rotation for @microsoft/release-management-task-team : DRI-ReleaseManagement -Tasks/AzureAppServiceSettingsV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureAppServiceManageV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureCLIV1/ @rvairavelu @manolerazvan +Tasks/AzureAppServiceSettingsV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureCLIV2/ @rvairavelu @manolerazvan +Tasks/AzureCLIV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureCloudPowerShellDeploymentV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureCLIV2/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureCloudPowerShellDeploymentV2/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureCloudPowerShellDeploymentV1/ @microsoft/release-management-task-team @manolerazvan + +Tasks/AzureCloudPowerShellDeploymentV2/ @microsoft/release-management-task-team @manolerazvan Tasks/AzureContainerAppsV0/ @cormacpayne @daniv-msft Tasks/AzureContainerAppsV1/ @cormacpayne @daniv-msft -Tasks/AzureFileCopyV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureFileCopyV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureFileCopyV2/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureFileCopyV2/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureFileCopyV3/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureFileCopyV3/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureFileCopyV4/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureFileCopyV4/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureFunctionAppV1/ @finvamp1 @patelchandni @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureFunctionAppV1/ @finvamp1 @patelchandni -Tasks/AzureFunctionAppV2/ @finvamp1 @patelchandni @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureFunctionAppV2/ @finvamp1 @patelchandni -Tasks/AzureFunctionAppContainerV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureFunctionAppContainerV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureFunctionOnKubernetesV0/ @rvairavelu @manolerazvan +Tasks/AzureFunctionOnKubernetesV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureFunctionOnKubernetesV1/ @rvairavelu @manolerazvan @vhavrysh +Tasks/AzureFunctionOnKubernetesV1/ @microsoft/release-management-task-team @manolerazvan @vhavrysh -Tasks/AzureFunctionV1/ @rvairavelu @manolerazvan +Tasks/AzureFunctionV1/ @microsoft/release-management-task-team @manolerazvan Tasks/AzureIoTEdgeV2/ @marianan @tameraw @pprovost -Tasks/AzureKeyVaultV1/ @rvairavelu @manolerazvan +Tasks/AzureKeyVaultV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureKeyVaultV2/ @rvairavelu @manolerazvan +Tasks/AzureKeyVaultV2/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureMonitorV0/ @rvairavelu @manolerazvan +Tasks/AzureMonitorV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureMonitorV1/ @rvairavelu @manolerazvan +Tasks/AzureMonitorV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureMysqlDeploymentV1/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureMysqlDeploymentV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureNLBManagementV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureNLBManagementV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzurePolicyV0/ @rvairavelu @manolerazvan +Tasks/AzurePolicyV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzurePowerShellV2/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzurePowerShellV2/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzurePowerShellV3/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzurePowerShellV3/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzurePowerShellV4/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzurePowerShellV4/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzurePowerShellV5/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzurePowerShellV5/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureResourceGroupDeploymentV2/ @rvairavelu @manolerazvan +Tasks/AzureResourceGroupDeploymentV2/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureResourceManagerTemplateDeploymentV3/ @rvairavelu @manolerazvan +Tasks/AzureResourceManagerTemplateDeploymentV3/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureRmWebAppDeploymentV3/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureRmWebAppDeploymentV3/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureRmWebAppDeploymentV4/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureRmWebAppDeploymentV4/ @microsoft/release-management-task-team @manolerazvan # DRI rotation: Azure Spring Apps/AzDMSS-Support Tasks/AzureSpringCloudV0 @microsoft/azure-spring-apps @ruoyuwang @menxiao @@ -92,9 +94,9 @@ Tasks/AzureStaticWebAppV0/ @microsoft/azure-static-web-apps @mkarmark @joslinmi Tasks/AzureTestPlanV0/ @rasunkar @microsoft\adoautotest -Tasks/AzureWebAppV1/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureWebAppV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/AzureWebAppContainerV1/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/AzureWebAppContainerV1/ @microsoft/release-management-task-team @manolerazvan Tasks/AzureVmssDeploymentV0/ @bishal-pdmsft @@ -110,9 +112,9 @@ Tasks/CacheBetaV1/ @johnterickson Tasks/CargoAuthenticateV0/ @microsoft/azure-artifacts-packages -Tasks/ChefV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/ChefV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/ChefKnifeV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/ChefKnifeV1/ @microsoft/release-management-task-team @manolerazvan Tasks/CMakeV1/ @microsoft/akvelon-build-task-team @@ -122,17 +124,17 @@ Tasks/CocoaPodsV0/ @microsoft/akvelon-build-task-team Tasks/Common/artifacts-common/ @microsoft/azure-artifacts-packages -Tasks/Common/AzureRmDeploy-common/ @vincentdass @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/Common/AzureRmDeploy-common/ @vincentdass @microsoft/release-management-task-team @manolerazvan -Tasks/Common/Deployment/ @bishal-pdMSFT @vsebesta @rvairavelu +Tasks/Common/Deployment/ @bishal-pdMSFT @microsoft/release-management-task-team @manolerazvan Tasks/Common/MSBuildHelpers/ @microsoft/akvelon-build-task-team -Tasks/Common/PowershellHelpers/ @rvairavelu @manolerazvan +Tasks/Common/PowershellHelpers/ @microsoft/release-management-task-team @manolerazvan Tasks/Common/RemoteDeployer/ @arjgupta -Tasks/Common/ServiceFabricHelpers/ @rvairavelu @manolerazvan +Tasks/Common/ServiceFabricHelpers/ @microsoft/release-management-task-team @manolerazvan Tasks/Common/TlsHelper_/ @rajatagrawal-dev @arjgupta @@ -140,9 +142,9 @@ Tasks/Common/VstsAzureHelpers_/ @rajatagrawal-dev @vincentdass Tasks/Common/VstsAzureRestHelpers_/ @Ajay-MS @rajatagrawal-dev -Tasks/Common/azure-arm-rest/ @rvairavelu @manolerazvan +Tasks/Common/azure-arm-rest/ @microsoft/release-management-task-team @manolerazvan -Tasks/Common/azure-arm-rest-v2/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/Common/azure-arm-rest-v2/ @microsoft/release-management-task-team @manolerazvan Tasks/Common/azure-blobstorage-artifactProvider/ @omeshp @hiyadav @bishal-pdmsft @@ -164,7 +166,7 @@ Tasks/Common/securefiles-common/ @microsoft/akvelon-build-task-team @hashtag Tasks/Common/utility-common/ @nishubansal @ds-ms -Tasks/Common/webdeployment-common/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/Common/webdeployment-common/ @microsoft/release-management-task-team @manolerazvan Tasks/CondaAuthenticateV0/ @microsoft/azure-artifacts-packages @@ -182,37 +184,37 @@ Tasks/CUrlUploaderV2/ @microsoft/akvelon-build-task-team Tasks/DecryptFileV1/ @microsoft/akvelon-build-task-team -Tasks/DelayV1/ @rvairavelu @manolerazvan +Tasks/DelayV1/ @microsoft/release-management-task-team @manolerazvan Tasks/DeleteFilesV1/ @microsoft/akvelon-build-task-team Tasks/DeployVisualStudioTestAgentV2/ @rasunkar @microsoft\adoautotest -Tasks/DockerV0/ @rvairavelu @manolerazvan +Tasks/DockerV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/DockerV1/ @rvairavelu @manolerazvan +Tasks/DockerV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/DockerV2/ @rvairavelu @manolerazvan +Tasks/DockerV2/ @microsoft/release-management-task-team @manolerazvan -Tasks/DockerComposeV0/ @rvairavelu @manolerazvan +Tasks/DockerComposeV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/DockerInstallerV0/ @rvairavelu @manolerazvan +Tasks/DockerInstallerV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/DotNetCoreCLIV2/ @rvairavelu @manolerazvan +Tasks/DotNetCoreCLIV2/ @microsoft/release-management-task-team @manolerazvan -Tasks/DotNetCoreInstallerV0/ @rvairavelu @manolerazvan +Tasks/DotNetCoreInstallerV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/DotNetCoreInstallerV1/ @rvairavelu @manolerazvan +Tasks/DotNetCoreInstallerV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/DownloadBuildArtifactsV0/ @manolerazvan @rvairavelu +Tasks/DownloadBuildArtifactsV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/DownloadFileshareArtifactsV1/ @manolerazvan @rvairavelu +Tasks/DownloadFileshareArtifactsV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/DownloadGitHubNpmPackageV1/ @manolerazvan @rvairavelu +Tasks/DownloadGitHubNpmPackageV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/DownloadGitHubNugetPackageV1/ @manolerazvan @rvairavelu +Tasks/DownloadGitHubNugetPackageV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/DownloadGitHubReleaseV0/ @manolerazvan @rvairavelu +Tasks/DownloadGitHubReleaseV0/ @microsoft/release-management-task-team @manolerazvan Tasks/DownloadPackageV0/ @microsoft/azure-artifacts-packages @@ -226,29 +228,29 @@ Tasks/DownloadPipelineArtifactV2/ @carl-tanner @fadnavistanmay @b-barthel @ Tasks/DownloadSecureFileV1/ @microsoft/akvelon-build-task-team -Tasks/DuffleInstallerV0/ @rvairavelu @manolerazvan +Tasks/DuffleInstallerV0/ @microsoft/release-management-task-team @manolerazvan Tasks/ExtractFilesV1/ @microsoft/akvelon-build-task-team -Tasks/FileTransformV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/FileTransformV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/FileTransformV2/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/FileTransformV2/ @microsoft/release-management-task-team @manolerazvan Tasks/FtpUploadV1/ @microsoft/akvelon-build-task-team Tasks/FtpUploadV2/ @microsoft/akvelon-build-task-team -Tasks/FuncToolsInstallerV0/ @rvairavelu @manolerazvan +Tasks/FuncToolsInstallerV0/ @microsoft/release-management-task-team @manolerazvan Tasks/GitHubCommentV0/ @ds-ms -Tasks/GitHubReleaseV0/ @rvairavelu @manolerazvan +Tasks/GitHubReleaseV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/GitHubReleaseV1/ @rvairavelu @manolerazvan +Tasks/GitHubReleaseV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/GoV0/ @rvairavelu @manolerazvan +Tasks/GoV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/GoToolV0/ @rvairavelu @manolerazvan +Tasks/GoToolV0/ @microsoft/release-management-task-team @manolerazvan Tasks/GradleV2/ @microsoft/akvelon-build-task-team @@ -258,17 +260,17 @@ Tasks/GulpV0/ @microsoft/akvelon-build-task-team Tasks/GulpV1/ @microsoft/akvelon-build-task-team -Tasks/HelmDeployV0/ @rvairavelu @manolerazvan +Tasks/HelmDeployV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/HelmInstallerV0/ @rvairavelu @manolerazvan +Tasks/HelmInstallerV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/HelmInstallerV1/ @rvairavelu @manolerazvan +Tasks/HelmInstallerV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/IISWebAppDeployment/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/IISWebAppDeployment/ @microsoft/release-management-task-team @manolerazvan -Tasks/IISWebAppDeploymentOnMachineGroupV0/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/IISWebAppDeploymentOnMachineGroupV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/IISWebAppManagementOnMachineGroupV0/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/IISWebAppManagementOnMachineGroupV0/ @microsoft/release-management-task-team @manolerazvan Tasks/InstallAppleCertificateV2/ @microsoft/akvelon-build-task-team @@ -276,29 +278,29 @@ Tasks/InstallAppleProvisioningProfileV1/ @microsoft/akvelon-build-task-team Tasks/InstallSSHKeyV0/ @microsoft/akvelon-build-task-team -Tasks/InvokeRestApiV1/ @rvairavelu @manolerazvan +Tasks/InvokeRestApiV1/ @microsoft/release-management-task-team @manolerazvan Tasks/JavaToolInstallerV0/ @microsoft/akvelon-build-task-team -Tasks/JenkinsDownloadArtifactsV1/ @manolerazvan @rvairavelu +Tasks/JenkinsDownloadArtifactsV1/ @microsoft/release-management-task-team @manolerazvan Tasks/JenkinsQueueJobV2/ @microsoft/akvelon-build-task-team -Tasks/KubectlInstallerV0/ @rvairavelu @manolerazvan +Tasks/KubectlInstallerV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/KubeloginInstallerV0/ @YevheniiKholodkov @manolerazvan +Tasks/KubeloginInstallerV0/ @YevheniiKholodkov @microsoft/release-management-task-team @manolerazvan -Tasks/KubernetesV0/ @rvairavelu @manolerazvan +Tasks/KubernetesV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/KubernetesV1/ @rvairavelu @manolerazvan +Tasks/KubernetesV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/KubernetesManifestV0/ @rvairavelu @manolerazvan +Tasks/KubernetesManifestV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/KubernetesManifestV1/ @rvairavelu @manolerazvan +Tasks/KubernetesManifestV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/ManualInterventionV8/ @rvairavelu @manolerazvan +Tasks/ManualInterventionV8/ @microsoft/release-management-task-team @manolerazvan -Tasks/ManualValidationV0/ @rvairavelu @manolerazvan +Tasks/ManualValidationV0/ @microsoft/release-management-task-team @manolerazvan Tasks/MavenAuthenticateV0/ @microsoft/azure-artifacts-packages @@ -310,7 +312,7 @@ Tasks/MavenV4/ @microsoft/akvelon-build-task-team Tasks/MSBuildV1/ @microsoft/akvelon-build-task-team -Tasks/MysqlDeploymentOnMachineGroupV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/MysqlDeploymentOnMachineGroupV1/ @microsoft/release-management-task-team @manolerazvan Tasks/NodeTaskRunnerInstallerV0/ @microsoft/akvelon-build-task-team @@ -355,11 +357,11 @@ Tasks/PipAuthenticateV1/ @microsoft/azure-artifacts-packages Tasks/PowerShellV2/ @microsoft/akvelon-build-task-team -Tasks/PowerShellOnTargetMachinesV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/PowerShellOnTargetMachinesV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/PowerShellOnTargetMachinesV2/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/PowerShellOnTargetMachinesV2/ @microsoft/release-management-task-team @manolerazvan -Tasks/PowerShellOnTargetMachinesV3/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/PowerShellOnTargetMachinesV3/ @microsoft/release-management-task-team @manolerazvan Tasks/PublishBuildArtifactsV1/ @microsoft/akvelon-build-task-team @@ -371,7 +373,7 @@ Tasks/PublishPipelineArtifactV0/ @carl-tanner @fadnavistanmay @b-barthel @ Tasks/PublishPipelineArtifactV1/ @carl-tanner @fadnavistanmay @b-barthel @kutsen99 @kunalkaroth -Tasks/PublishPipelineMetadataV0/ @rvairavelu @manolerazvan +Tasks/PublishPipelineMetadataV0/ @microsoft/release-management-task-team @manolerazvan Tasks/PublishSymbolsV2/ @carl-tanner @fadnavistanmay @b-barthel @kutsen99 @kunalkaroth @@ -387,7 +389,7 @@ Tasks/PyPIPublisherV0/ @microsoft/akvelon-build-task-team Tasks/PythonScriptV0/ @microsoft/akvelon-build-task-team -Tasks/QueryWorkItemsV0/ @rvairavelu @manolerazvan +Tasks/QueryWorkItemsV0/ @microsoft/release-management-task-team @manolerazvan Tasks/QuickPerfTestV1/ @rasunkar @microsoft\adoautotest @@ -399,21 +401,21 @@ Tasks/RunJMeterLoadTestV1/ @rasunkar @microsoft\adoautotest Tasks/RunLoadTestV1/ @rasunkar @microsoft\adoautotest -Tasks/ServiceFabricComposeDeployV0/ @rvairavelu @manolerazvan +Tasks/ServiceFabricComposeDeployV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/ServiceFabricDeployV1/ @rvairavelu @manolerazvan +Tasks/ServiceFabricDeployV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/ServiceFabricPowerShellV1/ @rvairavelu @manolerazvan +Tasks/ServiceFabricPowerShellV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/ServiceFabricUpdateManifestsV2/ @rvairavelu @manolerazvan +Tasks/ServiceFabricUpdateManifestsV2/ @microsoft/release-management-task-team @manolerazvan Tasks/ShellScriptV2/ @microsoft/akvelon-build-task-team -Tasks/SqlAzureDacpacDeploymentV1/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/SqlAzureDacpacDeploymentV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/SqlDacpacDeploymentOnMachineGroupV0/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/SqlDacpacDeploymentOnMachineGroupV0/ @microsoft/release-management-task-team @manolerazvan -Tasks/SqlServerDacpacDeployment/ @vsebesta @rvairavelu @microsoft/pipeline-environment-team +Tasks/SqlServerDacpacDeployment/ @microsoft/release-management-task-team @manolerazvan Tasks/SshV0/ @microsoft/akvelon-build-task-team @@ -423,7 +425,7 @@ Tasks/TwineAuthenticateV1/ @microsoft/azure-artifacts-packages Tasks/UniversalPackagesV0/ @microsoft/azure-artifacts-packages -Tasks/UseDotNetV2/ @rvairavelu @manolerazvan +Tasks/UseDotNetV2/ @microsoft/release-management-task-team @manolerazvan Tasks/UseNodeV1/ @microsoft/akvelon-build-task-team @@ -441,9 +443,9 @@ Tasks/VsTestV3/ @rasunkar @microsoft\adoautotest Tasks/VsTestPlatformToolInstallerV1/ @rasunkar @microsoft\adoautotest -Tasks/WindowsMachineFileCopyV1/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/WindowsMachineFileCopyV1/ @microsoft/release-management-task-team @manolerazvan -Tasks/WindowsMachineFileCopyV2/ @rvairavelu @microsoft/pipeline-environment-team +Tasks/WindowsMachineFileCopyV2/ @microsoft/release-management-task-team @manolerazvan Tasks/XamarinAndroidV1/ @microsoft/akvelon-build-task-team From 631cd0d662e179ba4540748dd05ed4a4964c83ab Mon Sep 17 00:00:00 2001 From: Mohith <97882857+v-mohithgc@users.noreply.github.com> Date: Thu, 1 Feb 2024 12:18:57 +0530 Subject: [PATCH 10/10] replaced rvairavelu (#19490) --- .github/CODEOWNERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9a4a8beebbde..fd2b23f33aa3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -152,7 +152,7 @@ Tasks/Common/codeanalysis-common/ @microsoft/akvelon-build-task-team Tasks/Common/coveragepublisher/ @rasunkar @microsoft\adoautotest -Tasks/Common/docker-common/ @rvairavelu @manolerazvan +Tasks/Common/docker-common/ @microsoft/release-management-task-team @manolerazvan Tasks/Common/ios-signing-common/ @microsoft/akvelon-build-task-team @hashtagchris @@ -174,7 +174,7 @@ Tasks/CondaEnvironmentV0/ @microsoft/akvelon-build-task-team Tasks/CondaEnvironmentV1/ @microsoft/akvelon-build-task-team -Tasks/ContainerBuildV0/ @rvairavelu @manolerazvan +Tasks/ContainerBuildV0/ @microsoft/release-management-task-team @manolerazvan Tasks/CopyFilesV2/ @microsoft/akvelon-build-task-team @@ -383,7 +383,7 @@ Tasks/PublishTestResultsV2/ @shailesh-sk Tasks/ContainerStructureTestV0/ @rasunkar -Tasks/PublishToAzureServiceBusV1/ @rvairavelu @manolerazvan +Tasks/PublishToAzureServiceBusV1/ @microsoft/release-management-task-team @manolerazvan Tasks/PyPIPublisherV0/ @microsoft/akvelon-build-task-team