Skip to content

Onboard BotService provisioning library#60623

Open
HarveyLink wants to merge 9 commits into
Azure:mainfrom
HarveyLink:provisioning-botservice
Open

Onboard BotService provisioning library#60623
HarveyLink wants to merge 9 commits into
Azure:mainfrom
HarveyLink:provisioning-botservice

Conversation

@HarveyLink

@HarveyLink HarveyLink commented Jul 2, 2026

Copy link
Copy Markdown
Member

Description

Onboards Azure.Provisioning.BotService as 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-preview found a potential follow-up item for review:

  • Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations@2023-09-15-preview lists only name and parent in the Bicep reference, while the generated type exposes settable Properties. This resource is excluded from examples and documented in SCHEMA_VALIDATION.md.

Validation

  • dotnet build sdk\botservice\Azure.Provisioning.BotService\src\Azure.Provisioning.BotService.csproj /t:GenerateCode --tl:off
  • dotnet format sdk\botservice\Azure.Provisioning.BotService\src\Azure.Provisioning.BotService.csproj
  • dotnet format sdk\botservice\Azure.Provisioning.BotService\tests\Azure.Provisioning.BotService.Tests.csproj
  • eng\scripts\Export-API.ps1 botservice
  • eng\scripts\Update-Snippets.ps1 botservice
  • dotnet build sdk\botservice\Azure.Provisioning.BotService
  • dotnet build sdk\botservice\Azure.ResourceManager.BotService
  • dotnet test sdk\botservice\Azure.Provisioning.BotService\tests\Azure.Provisioning.BotService.Tests.csproj --filter TestCategory!=Live

@github-actions github-actions Bot added Mgmt This issue is related to a management-plane library. Provisioning labels Jul 2, 2026
@HarveyLink HarveyLink linked an issue Jul 2, 2026 that may be closed by this pull request

@HarveyLink HarveyLink left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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 HarveyLink left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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 HarveyLink marked this pull request as ready for review July 6, 2026 06:26
@HarveyLink HarveyLink requested a review from jsquire as a code owner July 6, 2026 06:26
Copilot AI review requested due to automatic review settings July 6, 2026 06:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.BotService package with generated resources/models, metadata, README/CHANGELOG, and test scaffolding.
  • Updates BotService CI artifact list to include the new provisioning package.
  • Restores the Omnichannel parameterless constructor in Azure.ResourceManager.BotService via 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.

Comment on lines +10 to +15
<PropertyGroup>
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
<IsMgmtLibrary>true</IsMgmtLibrary>
<IncludeOperationsSharedSource>true</IncludeOperationsSharedSource>
<Nullable>enable</Nullable>
</PropertyGroup>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.1 both intact; no versioning violations
  • API surface: pass — no api/ file changes to Azure.ResourceManager.BotService; naming scanner found 0 new violations vs. baseline Azure.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); Omnichannel public parameterless constructor preserved via customization, no API surface removed
  • Migration-specific checks: not applicable

Management SDK changes in this PR:

  1. Omnichannel compatibility — moves the public parameterless Omnichannel() constructor from src/Generated/Models/Omnichannel.cs (where the TypeSpec generator no longer emits it) into a new customization file src/Customization/Models/Omnichannel.cs using [CodeGenType("OmniChannel")]. This correctly preserves the shipped public API while adapting to the TypeSpec code generation rename from OmniChannel to Omnichannel.
  2. tsp-location.yaml update — pins Azure.ResourceManager.BotService to commit b4e7b98 in azure-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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Created by copilot :robot: Mgmt This issue is related to a management-plane library. Provisioning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE REQ] add azure provisioning for BotService

2 participants