Skip to content

[AutoPR Azure.ResourceManager.HorizonDb]-generated-from-SDK Generation - .NET-6080418#57579

Open
azure-sdk wants to merge 7 commits intomainfrom
sdkauto/Azure.ResourceManager.HorizonDb-6080418
Open

[AutoPR Azure.ResourceManager.HorizonDb]-generated-from-SDK Generation - .NET-6080418#57579
azure-sdk wants to merge 7 commits intomainfrom
sdkauto/Azure.ResourceManager.HorizonDb-6080418

Conversation

@azure-sdk
Copy link
Copy Markdown
Collaborator

@azure-sdk azure-sdk commented Mar 30, 2026

Configurations: 'specification/horizondb/resource-manager/Microsoft.HorizonDb/HorizonDb/tspconfig.yaml', API Version: 2026-01-20-preview, SDK Release Type: beta, and CommitSHA: 'f6e1fbd6268be7712bf96a516ba846f7d42e2baa' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6080418 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=a6335704-8c03-f111-8406-000d3a597585 Submitted by: Naia.Scott@microsoft.com

Release Plan Details

…orizonDb/HorizonDb/tspconfig.yaml', API Version: 2026-01-20-preview, SDK Release Type: beta, and CommitSHA: 'f6e1fbd6268be7712bf96a516ba846f7d42e2baa' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6080418 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
@github-actions github-actions Bot added the Mgmt This issue is related to a management package. label Mar 30, 2026
Add README.md, CHANGELOG.md, ci.mgmt.yml, test project, API listings,
Directory.Build.props, AssemblyInfo.cs, and fix .sln and .csproj for
the new HorizonDb management SDK package.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ArcturusZhang ArcturusZhang marked this pull request as ready for review March 31, 2026 09:11
Copilot AI review requested due to automatic review settings March 31, 2026 09:11
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 the initial, auto-generated Azure.ResourceManager.HorizonDb management package scaffold for API version 2026-01-20-preview (beta.1), including project files and standard SDK documentation/metadata.

Changes:

  • Added initial package project (.csproj) and solution (.sln) scaffolding.
  • Added package metadata (metadata.json) for API version tracking.
  • Added standard README and CHANGELOG documentation files.

Reviewed changes

Copilot reviewed 6 out of 179 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
sdk/horizondb/Azure.ResourceManager.HorizonDb/src/Azure.ResourceManager.HorizonDb.csproj Introduces the package project definition and NuGet metadata.
sdk/horizondb/Azure.ResourceManager.HorizonDb/metadata.json Declares the RP API version used by the generated SDK.
sdk/horizondb/Azure.ResourceManager.HorizonDb/README.md Adds the package readme with getting-started content and links.
sdk/horizondb/Azure.ResourceManager.HorizonDb/Directory.Build.props Adds package-level props and imports repo Directory.Build.props.
sdk/horizondb/Azure.ResourceManager.HorizonDb/CHANGELOG.md Adds initial unreleased changelog entry.
sdk/horizondb/Azure.ResourceManager.HorizonDb/Azure.ResourceManager.HorizonDb.sln Adds a solution referencing src + tests projects.

Comment thread sdk/horizondb/Azure.ResourceManager.HorizonDb/Azure.ResourceManager.HorizonDb.sln Outdated
Comment thread sdk/horizondb/Azure.ResourceManager.HorizonDB/README.md
Comment thread sdk/horizondb/Azure.ResourceManager.HorizonDB/README.md
Comment thread sdk/horizondb/Azure.ResourceManager.HorizonDB/README.md
Comment thread sdk/horizondb/Azure.ResourceManager.HorizonDB/CHANGELOG.md
@github-actions
Copy link
Copy Markdown

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Azure.ResourceManager.HorizonDb

Copy link
Copy Markdown
Member

@ArthurMa1978 ArthurMa1978 left a comment

Choose a reason for hiding this comment

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

Need do SDK namespace review before release SDK, Please file a ticket at the link below to request a review.
image

@nasc17
Copy link
Copy Markdown
Member

nasc17 commented Mar 31, 2026

Namespace review: Azure/azure-sdk#9798

Copy link
Copy Markdown
Member

@ArcturusZhang ArcturusZhang left a comment

Choose a reason for hiding this comment

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

Mgmt SDK Review Azure.ResourceManager.HorizonDB

Phase 1: Versioning PASS 1.0.0-beta.1, new package, no prior stable version.

Phase 2: API Naming Review Multiple naming issues found in generated API surface. These would need TypeSpec @clientName decorators or similar customizations.

Critical

  1. PrivateEndpointConnectionResourceData / PrivateEndpointConnectionResourceCollection / PrivateEndpointConnectionResource "Resource" infix in Data/Collection/Resource names violates mgmt SDK naming guidelines. The PrivateLinkResource exception does not apply here. Should be HorizonDBPrivateEndpointConnectionData / HorizonDBPrivateEndpointConnectionCollection.

  2. HorizonDBExtensions.Delete / Update on ResourceGroupResource Non-prefixed extension methods directly on ResourceGroupResource will collide with methods from other SDKs. These operations for private endpoint connections should be accessed through the resource's collection/resource pattern, not as bare extension methods.

  3. State Extremely generic extensible enum with no service context. Should be HorizonDBClusterState or HorizonDBResourceState.

  4. ProvisioningState Missing HorizonDB prefix. Should be HorizonDBProvisioningState.

  5. PrivateEndpointConnectionProperties Missing service prefix. Should be HorizonDBPrivateEndpointConnectionProperties.

  6. PrivateEndpointConnectionUpdate Missing service prefix, wrong suffix. Should be HorizonDBPrivateEndpointConnectionPatch (PATCH body naming convention).

  7. OptionalPropertiesUpdateableProperties Non-descriptive auto-generated name. Needs a meaningful name like HorizonDBPrivateEndpointConnectionPatchProperties.

Improvements

  1. CreateModeCluster / CreateModePool Inverted naming convention. Should be HorizonDBClusterCreateMode / HorizonDBPoolCreateMode (resource type first, then discriminator).

  2. PublicNetworkAccessState Missing HorizonDB prefix.

  3. ReplicaRole Missing HorizonDB prefix.

  4. ZonePlacementPolicy Missing HorizonDB prefix.

  5. ParameterProperties Missing HorizonDB prefix.

  6. HorizonDBReplicaPatch.HorizonDBReplicaPropertiesForPatchUpdateRole Auto-generated property name is unwieldy. Should be simply Role.

ℹ Minor

  1. PointInTimeUTC property on HorizonDBClusterProperties Acronym casing should follow PascalCase: PointInTimeUtc.

Phase 3: Breaking Changes N/A (no prior stable version).


arcturus-copilot

@nasc17
Copy link
Copy Markdown
Member

nasc17 commented Apr 1, 2026

@ArcturusZhang @ArthurMa1978 Since namespace review has comment: .Net should be Azure.ResourceManager.HorizonDB. Should I close this PR and start over for new name?

@nasc17
Copy link
Copy Markdown
Member

nasc17 commented Apr 3, 2026

@ArcturusZhang and @ArthurMa1978 name is now Azure.ResourceManager.HorizonDB . Should I close this PR and re-trigger generation?

haiyuazhang pushed a commit that referenced this pull request Apr 7, 2026
Generated using Invoke-GenerateAndBuildV2.ps1 with scaffolding from #57875.
Uses same spec commit (f6e1fbd) as AutoPR #57579 for direct comparison.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@nasc17
Copy link
Copy Markdown
Member

nasc17 commented Apr 20, 2026

@haiyuazhang What is ETA for this to be ready to merge

@nasc17 nasc17 enabled auto-merge (squash) April 24, 2026 21:38
@haiyuazhang
Copy link
Copy Markdown
Member

@haiyuazhang What is ETA for this to be ready to merge
@nasc17 please ping the code owner for the ETA. I mentioned this PR in another SDK automation related PR just for verification purpose.

@nasc17
Copy link
Copy Markdown
Member

nasc17 commented Apr 28, 2026

Hi @ArcturusZhang is this PR just waiting for reviews? Anything else need to complete this work?

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ArcturusZhang ArcturusZhang requested a review from a team as a code owner April 29, 2026 00:55
ArcturusZhang and others added 4 commits April 29, 2026 09:03
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Member

@ArcturusZhang ArcturusZhang left a comment

Choose a reason for hiding this comment

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

Mgmt SDK Review — Azure.ResourceManager.HorizonDB (re-review on 0363bf3)

Phase 1: Versioning ✅ PASS — 1.0.0-beta.1, new package, no ApiCompatVersion.

Phase 2: API Naming Review — After the package rename to HorizonDB, the assembly/namespace and several auto-derived types now use uppercase DB correctly (HorizonDBExtensions, ArmHorizonDBModelFactory, AzureResourceManagerHorizonDBContext, MockableHorizonDB*, HorizonDBPrivateEndpointConnection, HorizonDBPrivateLinkResourceProperties, HorizonDBPrivateLinkServiceConnectionState). However, 30 types still use lowercase Db because their names come from the TypeSpec spec; these need explicit @@clientName overrides in client.tsp. Inline comments cover each one.

Additional naming findings (Resource-infix violations, generic enum names, inverted CreateMode naming, etc.) from the prior review are also included as inline comments.

Phase 3: Breaking Changes — N/A (no prior stable version).


🤖 arcturus-copilot

public static Azure.ResourceManager.HorizonDB.AzureResourceManagerHorizonDBContext Default { get { throw null; } }
protected override bool TryGetTypeBuilderCore(System.Type type, out System.ClientModel.Primitives.ModelReaderWriterTypeBuilder builder) { throw null; }
}
public partial class HorizonDbClusterCollection : Azure.ResourceManager.ArmCollection, System.Collections.Generic.IAsyncEnumerable<Azure.ResourceManager.HorizonDB.HorizonDbClusterResource>, System.Collections.Generic.IEnumerable<Azure.ResourceManager.HorizonDB.HorizonDbClusterResource>, System.Collections.IEnumerable
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 HorizonDbClusterCollection uses lowercase Db but the brand/package name is HorizonDB (uppercase B). Rename to HorizonDBClusterCollection via @@clientName(HorizonDbClusterCollection, "HorizonDBClusterCollection", "csharp"); in client.tsp.


🤖 arcturus-copilot

System.Collections.Generic.IEnumerator<Azure.ResourceManager.HorizonDB.HorizonDbClusterResource> System.Collections.Generic.IEnumerable<Azure.ResourceManager.HorizonDB.HorizonDbClusterResource>.GetEnumerator() { throw null; }
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; }
}
public partial class HorizonDbClusterData : Azure.ResourceManager.Models.TrackedResourceData, System.ClientModel.Primitives.IJsonModel<Azure.ResourceManager.HorizonDB.HorizonDbClusterData>, System.ClientModel.Primitives.IPersistableModel<Azure.ResourceManager.HorizonDB.HorizonDbClusterData>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 HorizonDbClusterData uses lowercase Db but the brand/package name is HorizonDB (uppercase B). Rename to HorizonDBClusterData via @@clientName(HorizonDbClusterData, "HorizonDBClusterData", "csharp"); in client.tsp.


🤖 arcturus-copilot

string System.ClientModel.Primitives.IPersistableModel<Azure.ResourceManager.HorizonDB.HorizonDbClusterData>.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
System.BinaryData System.ClientModel.Primitives.IPersistableModel<Azure.ResourceManager.HorizonDB.HorizonDbClusterData>.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
}
public partial class HorizonDbClusterResource : Azure.ResourceManager.ArmResource, System.ClientModel.Primitives.IJsonModel<Azure.ResourceManager.HorizonDB.HorizonDbClusterData>, System.ClientModel.Primitives.IPersistableModel<Azure.ResourceManager.HorizonDB.HorizonDbClusterData>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 HorizonDbClusterResource uses lowercase Db but the brand/package name is HorizonDB (uppercase B). Rename to HorizonDBClusterResource via @@clientName(HorizonDbClusterResource, "HorizonDBClusterResource", "csharp"); in client.tsp.


🤖 arcturus-copilot

public static Azure.ResourceManager.ArmOperation<Azure.ResourceManager.HorizonDB.Models.HorizonDBPrivateEndpointConnection> Update(this Azure.ResourceManager.Resources.ResourceGroupResource resourceGroupResource, Azure.WaitUntil waitUntil, string privateEndpointConnectionName, Azure.ResourceManager.HorizonDB.Models.PrivateEndpointConnectionUpdate properties, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public static System.Threading.Tasks.Task<Azure.ResourceManager.ArmOperation<Azure.ResourceManager.HorizonDB.Models.HorizonDBPrivateEndpointConnection>> UpdateAsync(this Azure.ResourceManager.Resources.ResourceGroupResource resourceGroupResource, Azure.WaitUntil waitUntil, string privateEndpointConnectionName, Azure.ResourceManager.HorizonDB.Models.PrivateEndpointConnectionUpdate properties, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
}
public partial class HorizonDbFirewallRuleCollection : Azure.ResourceManager.ArmCollection, System.Collections.Generic.IAsyncEnumerable<Azure.ResourceManager.HorizonDB.HorizonDbFirewallRuleResource>, System.Collections.Generic.IEnumerable<Azure.ResourceManager.HorizonDB.HorizonDbFirewallRuleResource>, System.Collections.IEnumerable
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 HorizonDbFirewallRuleCollection uses lowercase Db but the brand/package name is HorizonDB (uppercase B). Rename to HorizonDBFirewallRuleCollection via @@clientName(HorizonDbFirewallRuleCollection, "HorizonDBFirewallRuleCollection", "csharp"); in client.tsp.


🤖 arcturus-copilot

System.Collections.Generic.IEnumerator<Azure.ResourceManager.HorizonDB.HorizonDbFirewallRuleResource> System.Collections.Generic.IEnumerable<Azure.ResourceManager.HorizonDB.HorizonDbFirewallRuleResource>.GetEnumerator() { throw null; }
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; }
}
public partial class HorizonDbFirewallRuleData : Azure.ResourceManager.Models.ResourceData, System.ClientModel.Primitives.IJsonModel<Azure.ResourceManager.HorizonDB.HorizonDbFirewallRuleData>, System.ClientModel.Primitives.IPersistableModel<Azure.ResourceManager.HorizonDB.HorizonDbFirewallRuleData>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 HorizonDbFirewallRuleData uses lowercase Db but the brand/package name is HorizonDB (uppercase B). Rename to HorizonDBFirewallRuleData via @@clientName(HorizonDbFirewallRuleData, "HorizonDBFirewallRuleData", "csharp"); in client.tsp.


🤖 arcturus-copilot

System.BinaryData System.ClientModel.Primitives.IPersistableModel<Azure.ResourceManager.HorizonDB.Models.PrivateEndpointConnectionUpdate>.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct ProvisioningState : System.IEquatable<Azure.ResourceManager.HorizonDB.Models.ProvisioningState>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 ProvisioningState lacks service context. Rename to HorizonDBProvisioningState.


🤖 arcturus-copilot

public override string ToString() { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct PublicNetworkAccessState : System.IEquatable<Azure.ResourceManager.HorizonDB.Models.PublicNetworkAccessState>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 PublicNetworkAccessState lacks service context. Rename to HorizonDBPublicNetworkAccessState (or consider using the common Azure.ResourceManager.Models.PublicNetworkAccess type if applicable).


🤖 arcturus-copilot

public override string ToString() { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct ReplicaRole : System.IEquatable<Azure.ResourceManager.HorizonDB.Models.ReplicaRole>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 ReplicaRole lacks service context. Rename to HorizonDBReplicaRole.


🤖 arcturus-copilot

public override string ToString() { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct State : System.IEquatable<Azure.ResourceManager.HorizonDB.Models.State>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔴 State is an extremely generic name with no service context. Rename to HorizonDBClusterState (or HorizonDBResourceState if it applies to multiple resources).


🤖 arcturus-copilot

public override string ToString() { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct ZonePlacementPolicy : System.IEquatable<Azure.ResourceManager.HorizonDB.Models.ZonePlacementPolicy>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🟡 ZonePlacementPolicy lacks service context. Rename to HorizonDBZonePlacementPolicy.


🤖 arcturus-copilot

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

Labels

Mgmt This issue is related to a management package.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants