Onboard BotService provisioning library#60623
Conversation
HarveyLink
left a comment
There was a problem hiding this comment.
Reviewed source-only using the provisioning review guidance from #60560. I compared the generated provisioning resource metadata against the Bicep reference pages and did not run PR code, builds, tests, or generation.
Phase 1: Versioning/package metadata checked for the new provisioning package; no versioning blocker found.
Phase 2: Provisioning schema review found blocking metadata mismatches; see 4 inline comments.
Phase 3: Breaking-change checks were not run locally because this review treats PR contents as untrusted; no ResourceManager API listing changes were in this PR.
Final event: COMMENT because GitHub does not allow me to request changes on my own PR, but these schema findings are blocking and should be resolved before merge. Inline comments: 4.
| /// <summary> Get the requirements for naming this resource. </summary> | ||
| /// <returns> Naming requirements. </returns> | ||
| [EditorBrowsable(EditorBrowsableState.Never)] | ||
| public override ResourceNameRequirements GetResourceNameRequirements() => new ResourceNameRequirements(1, 24, ResourceNameCharacters.LowercaseLetters | ResourceNameCharacters.UppercaseLetters | ResourceNameCharacters.Numbers | ResourceNameCharacters.Hyphen | ResourceNameCharacters.Underscore | ResourceNameCharacters.Period); |
There was a problem hiding this comment.
[Metadata] The Bicep reference for Microsoft.BotService/botServices@2023-09-15-preview defines name as min length 2, max length 64, with pattern ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$. This generated metadata reports 1..24, so provisioning-generated names get truncated to 24 chars (take(..., 24)) and can allow 1-character names that the RP schema rejects. Please fix the TypeSpec/generator/customization source and regenerate so GetResourceNameRequirements() matches the Bicep schema where expressible.
| /// <summary> Get the requirements for naming this resource. </summary> | ||
| /// <returns> Naming requirements. </returns> | ||
| [EditorBrowsable(EditorBrowsableState.Never)] | ||
| public override ResourceNameRequirements GetResourceNameRequirements() => new ResourceNameRequirements(1, 24, ResourceNameCharacters.LowercaseLetters | ResourceNameCharacters.UppercaseLetters | ResourceNameCharacters.Numbers | ResourceNameCharacters.Hyphen | ResourceNameCharacters.Underscore | ResourceNameCharacters.Period); |
There was a problem hiding this comment.
[Provisioning schema] The Bicep reference for Microsoft.BotService/botServices/channels@2023-09-15-preview constrains resource name to the fixed channel literals (AcsChatChannel, AlexaChannel, DirectLineChannel, ..., WebChatChannel), and each channel model also carries the matching constant properties.channelName. This generic 1..24 name metadata lets provisioning auto-generate arbitrary names and lets callers set names that do not match the selected channel type, producing invalid templates/RP requests. Please customize or generate channel resources so the resource name is fixed from the selected channel type (or otherwise prevent arbitrary auto-generated channel names), then add Trycep coverage for at least one channel resource.
| /// <summary> Get the requirements for naming this resource. </summary> | ||
| /// <returns> Naming requirements. </returns> | ||
| [EditorBrowsable(EditorBrowsableState.Never)] | ||
| public override ResourceNameRequirements GetResourceNameRequirements() => new ResourceNameRequirements(1, 24, ResourceNameCharacters.LowercaseLetters | ResourceNameCharacters.UppercaseLetters | ResourceNameCharacters.Numbers | ResourceNameCharacters.Hyphen | ResourceNameCharacters.Underscore | ResourceNameCharacters.Period); |
There was a problem hiding this comment.
[Metadata] The Bicep reference for Microsoft.BotService/botServices/connections@2023-09-15-preview defines name as min length 2, max length 64, with pattern ^[a-zA-Z0-9][\sa-zA-Z0-9_.-]*$. This generated metadata reports 1..24 and omits spaces from the allowed character set, so auto-generated names are unnecessarily truncated and the provisioning metadata does not match the RP schema. Please fix the source metadata/customization and regenerate.
| /// <summary> Get the requirements for naming this resource. </summary> | ||
| /// <returns> Naming requirements. </returns> | ||
| [EditorBrowsable(EditorBrowsableState.Never)] | ||
| public override ResourceNameRequirements GetResourceNameRequirements() => new ResourceNameRequirements(1, 24, ResourceNameCharacters.LowercaseLetters); |
There was a problem hiding this comment.
[Metadata] The Bicep reference for Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations@2023-09-15-preview only specifies name with pattern .*; it does not constrain the name to lowercase letters or max length 24. This generated metadata narrows the accepted/generated name shape to 1..24 lowercase letters, which can produce misleading auto-names and rejects valid schema names. Please align the provisioning resource name requirements with the Bicep schema where expressible.
HarveyLink
left a comment
There was a problem hiding this comment.
Reviewed source-only using the provisioning review guidance from #60560. I compared the generated provisioning resource metadata against the Bicep reference pages and did not run PR code, builds, tests, or generation.
Phase 1: Versioning/package metadata checked for the new provisioning package; no versioning blocker found.
Phase 2: Provisioning schema review found blocking metadata mismatches; see 4 inline comments.
Phase 3: Breaking-change checks were not run locally because this review treats PR contents as untrusted; no ResourceManager API listing changes were in this PR.
Final event: COMMENT because GitHub does not allow me to request changes on my own PR, but these schema findings are blocking and should be resolved before merge. Inline comments: 4.
| /// <summary> Get the requirements for naming this resource. </summary> | ||
| /// <returns> Naming requirements. </returns> | ||
| [EditorBrowsable(EditorBrowsableState.Never)] | ||
| public override ResourceNameRequirements GetResourceNameRequirements() => new ResourceNameRequirements(1, 24, ResourceNameCharacters.LowercaseLetters | ResourceNameCharacters.UppercaseLetters | ResourceNameCharacters.Numbers | ResourceNameCharacters.Hyphen | ResourceNameCharacters.Underscore | ResourceNameCharacters.Period); |
There was a problem hiding this comment.
[Metadata] The Bicep reference for Microsoft.BotService/botServices@2023-09-15-preview defines name as min length 2, max length 64, with pattern ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$. This generated metadata reports 1..24, so provisioning-generated names get truncated to 24 chars (take(..., 24)) and can allow 1-character names that the RP schema rejects. Please fix the TypeSpec/generator/customization source and regenerate so GetResourceNameRequirements() matches the Bicep schema where expressible.
| /// <summary> Get the requirements for naming this resource. </summary> | ||
| /// <returns> Naming requirements. </returns> | ||
| [EditorBrowsable(EditorBrowsableState.Never)] | ||
| public override ResourceNameRequirements GetResourceNameRequirements() => new ResourceNameRequirements(1, 24, ResourceNameCharacters.LowercaseLetters | ResourceNameCharacters.UppercaseLetters | ResourceNameCharacters.Numbers | ResourceNameCharacters.Hyphen | ResourceNameCharacters.Underscore | ResourceNameCharacters.Period); |
There was a problem hiding this comment.
[Provisioning schema] The Bicep reference for Microsoft.BotService/botServices/channels@2023-09-15-preview constrains resource name to the fixed channel literals (AcsChatChannel, AlexaChannel, DirectLineChannel, ..., WebChatChannel), and each channel model also carries the matching constant properties.channelName. This generic 1..24 name metadata lets provisioning auto-generate arbitrary names and lets callers set names that do not match the selected channel type, producing invalid templates/RP requests. Please customize or generate channel resources so the resource name is fixed from the selected channel type (or otherwise prevent arbitrary auto-generated channel names), then add Trycep coverage for at least one channel resource.
| /// <summary> Get the requirements for naming this resource. </summary> | ||
| /// <returns> Naming requirements. </returns> | ||
| [EditorBrowsable(EditorBrowsableState.Never)] | ||
| public override ResourceNameRequirements GetResourceNameRequirements() => new ResourceNameRequirements(1, 24, ResourceNameCharacters.LowercaseLetters | ResourceNameCharacters.UppercaseLetters | ResourceNameCharacters.Numbers | ResourceNameCharacters.Hyphen | ResourceNameCharacters.Underscore | ResourceNameCharacters.Period); |
There was a problem hiding this comment.
[Metadata] The Bicep reference for Microsoft.BotService/botServices/connections@2023-09-15-preview defines name as min length 2, max length 64, with pattern ^[a-zA-Z0-9][\sa-zA-Z0-9_.-]*$. This generated metadata reports 1..24 and omits spaces from the allowed character set, so auto-generated names are unnecessarily truncated and the provisioning metadata does not match the RP schema. Please fix the source metadata/customization and regenerate.
| /// <summary> Get the requirements for naming this resource. </summary> | ||
| /// <returns> Naming requirements. </returns> | ||
| [EditorBrowsable(EditorBrowsableState.Never)] | ||
| public override ResourceNameRequirements GetResourceNameRequirements() => new ResourceNameRequirements(1, 24, ResourceNameCharacters.LowercaseLetters); |
There was a problem hiding this comment.
[Metadata] The Bicep reference for Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations@2023-09-15-preview only specifies name with pattern .*; it does not constrain the name to lowercase letters or max length 24. This generated metadata narrows the accepted/generated name shape to 1..24 lowercase letters, which can produce misleading auto-names and rejects valid schema names. Please align the provisioning resource name requirements with the Bicep schema where expressible.
There was a problem hiding this comment.
Pull request overview
Onboards Azure.Provisioning.BotService as a new TypeSpec-generated provisioning package for Azure Bot Service, alongside a small compatibility customization in the existing Azure.ResourceManager.BotService library and CI artifact wiring.
Changes:
- Adds the new
Azure.Provisioning.BotServicepackage with generated resources/models, metadata, README/CHANGELOG, and test scaffolding. - Updates BotService CI artifact list to include the new provisioning package.
- Restores the
Omnichannelparameterless constructor inAzure.ResourceManager.BotServicevia customization while updating the TypeSpec commit pointer.
Reviewed changes
Copilot reviewed 18 out of 96 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| sdk/botservice/ci.mgmt.yml | Adds Azure.Provisioning.BotService as a CI artifact. |
| sdk/botservice/Azure.ResourceManager.BotService/tsp-location.yaml | Updates the pinned azure-rest-api-specs commit for BotService. |
| sdk/botservice/Azure.ResourceManager.BotService/src/Generated/Models/Omnichannel.cs | Removes generated parameterless ctor (reintroduced via customization). |
| sdk/botservice/Azure.ResourceManager.BotService/src/Customization/Models/Omnichannel.cs | Adds customization to preserve Omnichannel() ctor (and maps original type name). |
| sdk/botservice/Azure.Provisioning.BotService/tsp-location.yaml | Adds TypeSpec location for the new provisioning package. |
| sdk/botservice/Azure.Provisioning.BotService/tests/BasicLiveBotServiceTests.cs | Adds live test scaffold for Bot provisioning validation. |
| sdk/botservice/Azure.Provisioning.BotService/tests/BasicBotServiceTests.cs | Adds basic provisioning sample/test and snippet source. |
| sdk/botservice/Azure.Provisioning.BotService/tests/Azure.Provisioning.BotService.Tests.csproj | Adds test project wiring for the new package. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/WebChatSite.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/WebChatChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/WebChatChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/TelephonyPhoneNumbers.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/TelephonyChannelResourceApiConfiguration.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/TelephonyChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/TelephonyChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/TelegramChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/TelegramChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/SmsChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/SmsChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/SlackChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/SlackChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/SkypeChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/SkypeChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/SearchAssistant.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/ProvisioningIssueProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/ProvisioningIssue.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/PrivateEndpointConnectionProperties.cs | Generated provisioning model (internal). |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/PrivateEndpoint.cs | Generated provisioning model (internal). |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/OutlookChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/OmniChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/NspAccessRuleProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/NspAccessRuleDirection.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/NspAccessRule.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/NetworkSecurityPerimeterConfigurationProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/NetworkSecurityPerimeter.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/MsTeamsChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/MsTeamsChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/M365Extensions.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/LineRegistration.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/LineChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/LineChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/KikChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/KikChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/FacebookPage.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/FacebookChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/FacebookChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/EmailChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/EmailChannelAuthMethod.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/EmailChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/DirectLineSpeechChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/DirectLineSpeechChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/DirectLineSite.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/DirectLineChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/DirectLineChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceSkuTier.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceSkuName.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceSku.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceSeverity.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceResourceAssociation.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServicePublicNetworkAccess.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceProvisioningState.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServicePrivateLinkServiceConnectionState.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServicePrivateEndpointServiceConnectionStatus.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServicePrivateEndpointConnectionProvisioningState.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceNspAccessRuleSubscription.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceNetworkSecurityPerimeterProfile.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceKind.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotServiceAccessMode.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotMsaAppType.cs | Generated enum. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotConnectionSettingProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotConnectionSettingParameter.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/BotChannelProperties.cs | Generated provisioning base model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/AlexaChannelProperties.cs | Generated provisioning model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/AlexaChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Models/AcsChatChannel.cs | Generated provisioning channel model. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Internal/CodeGenTypeAttribute.cs | Generated internal customization attribute support. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Internal/CodeGenSuppressAttribute.cs | Generated internal customization attribute support. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Internal/CodeGenSerializationAttribute.cs | Generated internal customization attribute support. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/Internal/CodeGenMemberAttribute.cs | Generated internal customization attribute support. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/BotServicePrivateEndpointConnection.cs | Generated provisioning resource. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/BotServiceNetworkSecurityPerimeterConfiguration.cs | Generated provisioning resource. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/BotResource.cs | Generated provisioning resource. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/BotConnectionSetting.cs | Generated provisioning resource. |
| sdk/botservice/Azure.Provisioning.BotService/src/Generated/BotChannel.cs | Generated provisioning resource. |
| sdk/botservice/Azure.Provisioning.BotService/src/Customization/BotResource.cs | Customization to map BotResource back to original TypeSpec name. |
| sdk/botservice/Azure.Provisioning.BotService/src/Azure.Provisioning.BotService.csproj | New provisioning package project definition. |
| sdk/botservice/Azure.Provisioning.BotService/README.md | New package README with a basic usage snippet. |
| sdk/botservice/Azure.Provisioning.BotService/metadata.json | Declares API version metadata for the package. |
| sdk/botservice/Azure.Provisioning.BotService/Directory.Build.props | Package-level build settings for the new provisioning library. |
| sdk/botservice/Azure.Provisioning.BotService/CHANGELOG.md | Initial changelog entry for 1.0.0-beta.1. |
| sdk/botservice/Azure.Provisioning.BotService/Azure.Provisioning.BotService.slnx | Solution scaffold for building the package + tests. |
| .vscode/cspell.json | Adds spellchecker allowance for AZPROVISION under botservice. |
| <PropertyGroup> | ||
| <TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks> | ||
| <IsMgmtLibrary>true</IsMgmtLibrary> | ||
| <IncludeOperationsSharedSource>true</IncludeOperationsSharedSource> | ||
| <Nullable>enable</Nullable> | ||
| </PropertyGroup> |
There was a problem hiding this comment.
Management SDK Review Summary
- Scope:
Azure.ResourceManager.BotService(management SDK changes in this PR) - Versioning: pass — version
1.2.0-beta.2,ApiCompatVersion=1.1.1both intact; no versioning violations - API surface: pass — no
api/file changes toAzure.ResourceManager.BotService; naming scanner found 0 new violations vs. baselineAzure.ResourceManager.BotService_1.1.1 - Contextual naming: evaluated 17 new public types (all added in prior PRs, none introduced by this PR); flagged 0 —
BotService-prefixed types carry RP context; NSP-derived types (NetworkSecurityPerimeter,NspAccessRule*,ProvisioningIssue*) follow cross-RP NSP naming convention - ApiCompat / breaking changes: pass — CI all green (31/31 checks);
Omnichannelpublic parameterless constructor preserved via customization, no API surface removed - Migration-specific checks: not applicable
Management SDK changes in this PR:
Omnichannelcompatibility — moves the public parameterlessOmnichannel()constructor fromsrc/Generated/Models/Omnichannel.cs(where the TypeSpec generator no longer emits it) into a new customization filesrc/Customization/Models/Omnichannel.csusing[CodeGenType("OmniChannel")]. This correctly preserves the shipped public API while adapting to the TypeSpec code generation rename fromOmniChanneltoOmnichannel.tsp-location.yamlupdate — pinsAzure.ResourceManager.BotServiceto commitb4e7b98inazure-rest-api-specs.
Out of scope: Azure.Provisioning.BotService (v1.0.0-beta.1) is a provisioning library (Azure.Provisioning.*), not a management SDK package (Azure.ResourceManager.*). Provisioning schema/metadata findings are already covered by existing inline review threads.
No blocking management SDK review issues found. Total inline comments: 0.
Analyzed by azure-sdk-mgmt-pr-review: workflow run 28773471780
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/28773471780
Description
Onboards
Azure.Provisioning.BotServiceas a new provisioning package generated through the TypeSpec-based provisioning emitter.This adds the generated BotService provisioning resources and models, package metadata, README/changelog, API listings, unit and live test scaffolding, CI artifact entry, and NoWarn validation skip for the new package.
Spec PR: Azure/azure-rest-api-specs#44380
Current status
The generated SDK is left as-is for the initial draft. Bicep reference validation against
2023-09-15-previewfound a potential follow-up item for review:Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations@2023-09-15-previewlists onlynameandparentin the Bicep reference, while the generated type exposes settableProperties. This resource is excluded from examples and documented inSCHEMA_VALIDATION.md.Validation
dotnet build sdk\botservice\Azure.Provisioning.BotService\src\Azure.Provisioning.BotService.csproj /t:GenerateCode --tl:offdotnet format sdk\botservice\Azure.Provisioning.BotService\src\Azure.Provisioning.BotService.csprojdotnet format sdk\botservice\Azure.Provisioning.BotService\tests\Azure.Provisioning.BotService.Tests.csprojeng\scripts\Export-API.ps1 botserviceeng\scripts\Update-Snippets.ps1 botservicedotnet build sdk\botservice\Azure.Provisioning.BotServicedotnet build sdk\botservice\Azure.ResourceManager.BotServicedotnet test sdk\botservice\Azure.Provisioning.BotService\tests\Azure.Provisioning.BotService.Tests.csproj --filter TestCategory!=Live