-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[AutoPR @azure-arm-computebulkactions]-generated-from-SDK Generation - JS-5849311 #37254
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[AutoPR @azure-arm-computebulkactions]-generated-from-SDK Generation - JS-5849311 #37254
Conversation
…Management/tspconfig.yaml', API Version: 2026-02-01-preview, SDK Release Type: beta, and CommitSHA: '1fce3d8fcfd7da372b2e98fcc75ede56b9ddf6c6' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5849311 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
…Management/tspconfig.yaml', API Version: 2026-02-01-preview, SDK Release Type: beta, and CommitSHA: '24902354a88f1ca5349ea3049edae370599c8e57' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5849429 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a new auto-generated Azure management (ARM) package @azure/arm-computebulkactions targeting API version 2026-02-01-preview (beta), along with CI plumbing and repo metadata updates needed to build and validate it in the monorepo.
Changes:
- Introduces the new
sdk/computebulkactions/arm-computebulkactionspackage (client, models, paging/LRO helpers, tests, configs, API reports). - Adds a service-level CI pipeline (
sdk/computebulkactions/ci.mgmt.yml) and updates repo metadata (CODEOWNERS, link ignores). - Updates workspace dependency graph (
pnpm-lock.yaml) to include the new package.
Reviewed changes
Copilot reviewed 48 out of 50 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/computebulkactions/ci.mgmt.yml | Adds CI definition for the new service directory/package. |
| sdk/computebulkactions/arm-computebulkactions/vitest.esm.config.ts | Adds Vitest ESM config for the package. |
| sdk/computebulkactions/arm-computebulkactions/vitest.config.ts | Adds shared Vitest config wiring for node tests. |
| sdk/computebulkactions/arm-computebulkactions/vitest.browser.config.ts | Adds Vitest browser config wiring for browser tests. |
| sdk/computebulkactions/arm-computebulkactions/tsp-location.yaml | Records TypeSpec source location for generation provenance. |
| sdk/computebulkactions/arm-computebulkactions/tsconfig.test.node.json | Adds TS config for node test compilation paths. |
| sdk/computebulkactions/arm-computebulkactions/tsconfig.test.json | Adds TS project references for tests. |
| sdk/computebulkactions/arm-computebulkactions/tsconfig.src.json | Adds TS config reference for source build. |
| sdk/computebulkactions/arm-computebulkactions/tsconfig.snippets.json | Adds TS config for snippet compilation. |
| sdk/computebulkactions/arm-computebulkactions/tsconfig.json | Adds TS project references entrypoint. |
| sdk/computebulkactions/arm-computebulkactions/tsconfig.browser.config.json | Adds TS config for browser build/test path mapping. |
| sdk/computebulkactions/arm-computebulkactions/test/snippets.spec.ts | Adds snippet source file used for docs snippet extraction. |
| sdk/computebulkactions/arm-computebulkactions/test/public/utils/recordedClient.ts | Adds recorder setup utility for tests. |
| sdk/computebulkactions/arm-computebulkactions/test/public/sampleTest.spec.ts | Adds initial sample test scaffold. |
| sdk/computebulkactions/arm-computebulkactions/src/static-helpers/urlTemplate.ts | Adds RFC6570 URL-template expansion helper used by generated operations. |
| sdk/computebulkactions/arm-computebulkactions/src/static-helpers/pollingHelpers.ts | Adds LRO polling helper for generated long-running operations. |
| sdk/computebulkactions/arm-computebulkactions/src/static-helpers/pagingHelpers.ts | Adds generic paging iterator helper for list operations. |
| sdk/computebulkactions/arm-computebulkactions/src/static-helpers/cloudSettingHelpers.ts | Adds cloud-setting to ARM endpoint mapping helper. |
| sdk/computebulkactions/arm-computebulkactions/src/restorePollerHelpers.ts | Adds support for restoring LRO pollers from serialized state. |
| sdk/computebulkactions/arm-computebulkactions/src/models/index.ts | Re-exports public model surface from generated models. |
| sdk/computebulkactions/arm-computebulkactions/src/logger.ts | Adds package logger wiring. |
| sdk/computebulkactions/arm-computebulkactions/src/index.ts | Main package exports (client, ops types, models, helpers). |
| sdk/computebulkactions/arm-computebulkactions/src/computeBulkActionsClient.ts | Implements top-level client wrapper exposing operation groups. |
| sdk/computebulkactions/arm-computebulkactions/src/classic/operations/index.ts | Adds classic (convenience) operations group for operations. |
| sdk/computebulkactions/arm-computebulkactions/src/classic/index.ts | Exposes classic operation groups. |
| sdk/computebulkactions/arm-computebulkactions/src/classic/bulkActions/index.ts | Adds classic (convenience) operations group for bulkActions. |
| sdk/computebulkactions/arm-computebulkactions/src/api/operations/options.ts | Adds generated options type for operations.list. |
| sdk/computebulkactions/arm-computebulkactions/src/api/operations/operations.ts | Adds generated REST operations for operations. |
| sdk/computebulkactions/arm-computebulkactions/src/api/operations/index.ts | Exposes generated operations API surface. |
| sdk/computebulkactions/arm-computebulkactions/src/api/index.ts | Exposes client-context factory and context types. |
| sdk/computebulkactions/arm-computebulkactions/src/api/computeBulkActionsContext.ts | Implements REST client context creation (endpoint, pipeline, auth scopes). |
| sdk/computebulkactions/arm-computebulkactions/src/api/bulkActions/options.ts | Adds generated options types for bulkActions operations. |
| sdk/computebulkactions/arm-computebulkactions/src/api/bulkActions/operations.ts | Adds generated REST operations for bulkActions (including LRO + paging). |
| sdk/computebulkactions/arm-computebulkactions/src/api/bulkActions/index.ts | Exposes generated bulkActions API surface. |
| sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-node.api.md | Adds API Extractor report for the main package surface. |
| sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-models-node.api.md | Adds API Extractor report for the models entrypoint. |
| sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-api-operations-node.api.md | Adds API Extractor report for ./api/operations. |
| sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-api-node.api.md | Adds API Extractor report for ./api. |
| sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-api-bulkActions-node.api.md | Adds API Extractor report for ./api/bulkActions. |
| sdk/computebulkactions/arm-computebulkactions/package.json | Adds package metadata, dependencies, exports map, and scripts. |
| sdk/computebulkactions/arm-computebulkactions/metadata.json | Adds generation metadata and cross-language mapping information. |
| sdk/computebulkactions/arm-computebulkactions/eslint.config.mjs | Adds package-level ESLint configuration. |
| sdk/computebulkactions/arm-computebulkactions/api-extractor.json | Adds API Extractor configuration reference. |
| sdk/computebulkactions/arm-computebulkactions/README.md | Adds package README (usage, auth, logging). |
| sdk/computebulkactions/arm-computebulkactions/LICENSE | Adds MIT license file. |
| sdk/computebulkactions/arm-computebulkactions/CHANGELOG.md | Adds initial changelog entry for beta. |
| pnpm-lock.yaml | Adds workspace lock entries for the new package and deps. |
| eng/ignore-links.txt | Adds link-check ignore entries for the new package URLs. |
| .github/CODEOWNERS | Adds code ownership for the new package path. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
| urlStr: string, | ||
| method: string, | ||
| ): DeserializationHelper | undefined { | ||
| const path = new URL(urlStr).pathname; | ||
| const pathParts = path.split("/"); | ||
|
|
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getDeserializationHelper calls new URL(urlStr).pathname. The poller state from @azure/core-lro can contain relative initialRequestUrl values (e.g. "path" in core-lro tests), which will cause new URL(urlStr) to throw. Use new URL(urlStr, <base>) (as done elsewhere in this PR) or otherwise handle relative URLs.
| function getApiVersionFromUrl(urlStr: string): string | undefined { | ||
| const url = new URL(urlStr); | ||
| return url.searchParams.get("api-version") ?? undefined; | ||
| } |
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getApiVersionFromUrl uses new URL(urlStr) and will also throw if initialRequestUrl is relative (which is allowed by @azure/core-lro serialized state). Consider parsing with a base URL (e.g. new URL(urlStr, "https://microsoft.com")) so restore works for both absolute and relative URLs.
| if (named && varName) { | ||
| vals.push(encodeComponent(varName, reserved, op)); | ||
| if (value === "") { | ||
| if (!ifEmpty) { | ||
| vals.push(ifEmpty); | ||
| } | ||
| return !vals.join("") ? undefined : `${first}${vals.join("")}`; | ||
| } |
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In getNonExpandedValue, the ifEmpty handling for named parameters is inverted. For op "?" or "&", ifEmpty is "=", but the current if (!ifEmpty) branch will skip adding "=", producing ?param instead of ?param= when the value is an empty string. Flip the condition (or always append ifEmpty) so empty values serialize correctly for query/amp operators.
| const endpointUrl = | ||
| options.endpoint ?? getArmEndpoint(options.cloudSetting) ?? "https://management.azure.com"; | ||
| const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix; | ||
| const userAgentInfo = `azsdk-js-arm-computebulkactions/1.0.0-beta.1`; | ||
| const userAgentPrefix = prefixFromOptions | ||
| ? `${prefixFromOptions} azsdk-js-api ${userAgentInfo}` | ||
| : `azsdk-js-api ${userAgentInfo}`; | ||
| const { apiVersion: _, ...updatedOptions } = { | ||
| ...options, | ||
| userAgentOptions: { userAgentPrefix }, | ||
| loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, | ||
| credentials: { scopes: options.credentials?.scopes ?? [`${endpointUrl}/.default`] }, | ||
| }; |
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getArmEndpoint() returns cloud endpoints with a trailing slash (e.g. https://management.azure.com/), but createComputeBulkActions builds the default scope as ${endpointUrl}/.default, which will become https://management.azure.com//.default and can break AAD token acquisition. Normalize endpointUrl to not end with / (or build scopes without introducing a second slash) before calling getClient / setting credentials.scopes.
Configurations: 'specification/computebulkactions/ComputeBulkActions.Management/tspconfig.yaml', API Version: 2026-02-01-preview, SDK Release Type: beta, and CommitSHA: '1fce3d8fcfd7da372b2e98fcc75ede56b9ddf6c6' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5849311 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. Release plan link: https://web.powerapps.com/apps/821ab569-ae60-420d-8264-d7b5d5ef734c?release-plan-id=29a00f33-e801-f111-8406-000d3a5c49ca Submitted by: [email protected]
Release Plan Details
Spec pull request: migrate bulkactions from private to public repo azure-rest-api-specs#39646
Spec API version: 2026-02-01-preview