Skip to content

Add C# clientName decorators for AppLink SDK naming conventions#41754

Merged
ArcturusZhang merged 4 commits intoAzure:mainfrom
ArcturusZhang:applink-fix-selfmanagedversions
Mar 26, 2026
Merged

Add C# clientName decorators for AppLink SDK naming conventions#41754
ArcturusZhang merged 4 commits intoAzure:mainfrom
ArcturusZhang:applink-fix-selfmanagedversions

Conversation

@ArcturusZhang
Copy link
Copy Markdown
Member

Changes

Add @@clientName decorators in client.tsp for the C# SDK to follow Azure SDK naming conventions:

Contextual naming (add AppLink prefix)

  • ProvisioningStateAppLinkProvisioningState
  • ClusterTypeAppLinkClusterType
  • UpgradeModeAppLinkUpgradeMode
  • UpgradeReleaseChannelAppLinkUpgradeReleaseChannel
  • ConnectivityProfileAppLinkConnectivityProfile
  • UpgradeProfileAppLinkUpgradeProfile
  • ReleaseChannelInfoAppLinkReleaseChannelInfo
  • VersionInfoAppLinkVersionInfo

DateTimeOffset naming convention

  • startTimestampstartOn
  • endTimestampendOn

Bug fix

  • selfManagedVersionsselfManagedVersionDetail (fixes C# CS0102 compilation error where the flattened property name collided with the internal property name)

Motivation

These changes address naming issues identified during the C# SDK review of Azure/azure-sdk-for-net#57448. The renames only affect the C# SDK via @@clientName(..., "csharp") and do not impact other languages.

- Add AppLink prefix to generic types: ProvisioningState, ClusterType,
  UpgradeMode, UpgradeReleaseChannel, ConnectivityProfile, UpgradeProfile,
  ReleaseChannelInfo, VersionInfo
- Rename DateTimeOffset properties: startTimestamp -> startOn, endTimestamp -> endOn
- Fix selfManagedVersions flattening name collision
@github-actions github-actions Bot added the TypeSpec Authored with TypeSpec label Mar 25, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 25, 2026

Next Steps to Merge

✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.

Comment generated by summarize-checks workflow run.

@deveshdama deveshdama requested a review from Copilot March 25, 2026 20:45
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds C#-specific @@clientName decorators to align the AppLink Management SDK with Azure SDK naming conventions and resolve a C# codegen collision.

Changes:

  • Adds C# client name overrides to prefix key enums/models with AppLink to avoid cross-SDK naming collisions.
  • Renames startTimestamp/endTimestamp to startOn/endOn for C# DateTimeOffset naming conventions.
  • Fixes a C# flattening name collision by renaming selfManagedVersions to selfManagedVersionDetail in the C# projection.

@ArcturusZhang ArcturusZhang marked this pull request as ready for review March 26, 2026 00:32
Rename AvailableVersion -> AppLinkAvailableVersion,
UpgradeHistory -> AppLinkUpgradeHistory,
and their Properties companions.
Rename listByLocation -> GetAppLinkAvailableVersionsByLocation,
listByAppLinkMember -> GetAppLinkUpgradeHistories.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ArcturusZhang ArcturusZhang merged commit 3487399 into Azure:main Mar 26, 2026
40 checks passed
@ArcturusZhang ArcturusZhang deleted the applink-fix-selfmanagedversions branch March 26, 2026 03:53
markcowl pushed a commit to markcowl/azure-rest-api-specs that referenced this pull request Apr 7, 2026
…e#41754)

* Add clientName for selfManagedVersions to avoid C# name collision

* Add C# clientName decorators for AppLink SDK naming conventions

- Add AppLink prefix to generic types: ProvisioningState, ClusterType,
  UpgradeMode, UpgradeReleaseChannel, ConnectivityProfile, UpgradeProfile,
  ReleaseChannelInfo, VersionInfo
- Rename DateTimeOffset properties: startTimestamp -> startOn, endTimestamp -> endOn
- Fix selfManagedVersions flattening name collision

* Add clientName decorators for remaining generic types and methods

Rename AvailableVersion -> AppLinkAvailableVersion,
UpgradeHistory -> AppLinkUpgradeHistory,
and their Properties companions.
Rename listByLocation -> GetAppLinkAvailableVersionsByLocation,
listByAppLinkMember -> GetAppLinkUpgradeHistories.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Run tsp format on client.tsp

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
markcowl pushed a commit to markcowl/azure-rest-api-specs that referenced this pull request Apr 9, 2026
…e#41754)

* Add clientName for selfManagedVersions to avoid C# name collision

* Add C# clientName decorators for AppLink SDK naming conventions

- Add AppLink prefix to generic types: ProvisioningState, ClusterType,
  UpgradeMode, UpgradeReleaseChannel, ConnectivityProfile, UpgradeProfile,
  ReleaseChannelInfo, VersionInfo
- Rename DateTimeOffset properties: startTimestamp -> startOn, endTimestamp -> endOn
- Fix selfManagedVersions flattening name collision

* Add clientName decorators for remaining generic types and methods

Rename AvailableVersion -> AppLinkAvailableVersion,
UpgradeHistory -> AppLinkUpgradeHistory,
and their Properties companions.
Rename listByLocation -> GetAppLinkAvailableVersionsByLocation,
listByAppLinkMember -> GetAppLinkUpgradeHistories.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Run tsp format on client.tsp

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ealianis pushed a commit that referenced this pull request Apr 17, 2026
* Add clientName for selfManagedVersions to avoid C# name collision

* Add C# clientName decorators for AppLink SDK naming conventions

- Add AppLink prefix to generic types: ProvisioningState, ClusterType,
  UpgradeMode, UpgradeReleaseChannel, ConnectivityProfile, UpgradeProfile,
  ReleaseChannelInfo, VersionInfo
- Rename DateTimeOffset properties: startTimestamp -> startOn, endTimestamp -> endOn
- Fix selfManagedVersions flattening name collision

* Add clientName decorators for remaining generic types and methods

Rename AvailableVersion -> AppLinkAvailableVersion,
UpgradeHistory -> AppLinkUpgradeHistory,
and their Properties companions.
Rename listByLocation -> GetAppLinkAvailableVersionsByLocation,
listByAppLinkMember -> GetAppLinkUpgradeHistories.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Run tsp format on client.tsp

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ealianis pushed a commit that referenced this pull request Apr 17, 2026
* Add clientName for selfManagedVersions to avoid C# name collision

* Add C# clientName decorators for AppLink SDK naming conventions

- Add AppLink prefix to generic types: ProvisioningState, ClusterType,
  UpgradeMode, UpgradeReleaseChannel, ConnectivityProfile, UpgradeProfile,
  ReleaseChannelInfo, VersionInfo
- Rename DateTimeOffset properties: startTimestamp -> startOn, endTimestamp -> endOn
- Fix selfManagedVersions flattening name collision

* Add clientName decorators for remaining generic types and methods

Rename AvailableVersion -> AppLinkAvailableVersion,
UpgradeHistory -> AppLinkUpgradeHistory,
and their Properties companions.
Rename listByLocation -> GetAppLinkAvailableVersionsByLocation,
listByAppLinkMember -> GetAppLinkUpgradeHistories.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Run tsp format on client.tsp

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

TypeSpec Authored with TypeSpec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants