Skip to content

Conversation

dolauli
Copy link
Contributor

@dolauli dolauli commented Sep 28, 2025

This pull request introduces a comprehensive set of new TypeSpec files and configuration enhancements for the ElasticSan resource provider, focusing on improved ARM resource modeling, client generator customization, and operation handling. The changes include new resource definitions for ElasticSan, VolumeGroup, Volume, Snapshot, and PrivateEndpointConnection, alongside extensive use of decorators for client naming, property flattening, and operation grouping to support both ARM and client SDK generation scenarios.

Resource Modeling and Operations

  • Added new TypeSpec definitions for ElasticSan, VolumeGroup, Volume, Snapshot, and PrivateEndpointConnection, each with detailed ARM resource operations (CRUD, list, custom actions) and property constraints/documentation. [1] [2] [3] [4] [5]
  • Introduced custom operation parameters and headers for advanced scenarios, such as soft delete, force delete, and filtering, with appropriate suppression and documentation. [1] [2]

Client Generator and SDK Customization

  • Added client.tsp and back-compatible.tsp files to control client SDK generation, including custom client names, alternate types, property flattening, and operation grouping for C# and Go SDKs. [1] [2]
  • Applied decorators for operation grouping (@@clientLocation) to ensure consistent SDK output and maintain compatibility with legacy clients. [1] [2]

ARM and Metadata Handling

  • Incorporated ARM-specific decorators and suppressions to handle envelope properties, inheritance, and metadata inclusion/exclusion for resource models, aligning with ARM best practices and emitter requirements. [1] [2] [3]

Operation and Protocol Logic

  • Updated response header removal logic in convertor.ts to conditionally remove LRO headers only for polling responses with status codes 202 or 201, improving protocol compliance.

Documentation and Constraints

  • Added detailed documentation and constraints (min/max length, regex patterns) for resource names and properties, ensuring strong validation and clarity in generated specifications. [1] [2] [3] [4]

References:
[1] [2] [3] [4] [5] [6] [7] [8]

@dolauli dolauli merged commit 1550e4c into Azure:main Sep 28, 2025
101 of 103 checks passed
@dolauli dolauli deleted the tsp-brown branch September 28, 2025 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant