@@ -352,6 +352,12 @@ using Azure.ClientGenerator.Core;
352352);
353353#suppress "@azure-tools/typespec-client-generator-core/duplicate-client-name-warning" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
354354@@ clientName (Configurations .get , "GetConfiguration" , "csharp" );
355+ @@ clientName (Configurations .update , "UpdateConfiguration" , "csharp" );
356+ @@ clientName (
357+ Configurations .update ::parameters .resource ,
358+ "clusterConfiguration" ,
359+ "csharp"
360+ );
355361@@ clientName (
356362 ScriptExecutionHistory .listByCluster ,
357363 "GetScriptExecutionHistories" ,
@@ -405,48 +411,7 @@ using Azure.ClientGenerator.Core;
405411);
406412@@ clientName (JsonWebKeyEncryptionAlgorithm .RSA1_5 , "Rsa15" , "csharp" );
407413
408- /*
409- * @@scope suppressions for C# SDK generation.
410- *
411- * The HDInsight ARM resource hierarchy has exactly 4 resource types
412- * (see https://learn.microsoft.com/en-us/azure/templates/microsoft.hdinsight):
413- * - Microsoft.HDInsight/clusters
414- * - Microsoft.HDInsight/clusters/applications
415- * - Microsoft.HDInsight/clusters/privateEndpointConnections
416- * - Microsoft.HDInsight/clusters/privateLinkResources
417- *
418- * Operations below are NOT standalone ARM resources — they are action endpoints
419- * or sub-operations on the Cluster resource. Without suppression, the MPG generator
420- * would create phantom resource types (e.g., clusters/azureasyncoperations,
421- * clusters/extensions) due to extra path segments being interpreted as child resources.
422- *
423- * These operations are implemented as custom code in the SDK (Customize/ folder)
424- * with manual HTTP request building to preserve backward API compatibility.
425- */
426-
427- // Configurations: action endpoints on Cluster for getting/updating Hadoop config maps
428- @@ scope (Configurations .update , "!csharp" );
429- @@ scope (Configurations .get , "!csharp" );
430-
431- // VirtualMachines: action endpoints on Cluster for host restart and its async status
432- @@ scope (VirtualMachines .restartHosts , "!csharp" );
433- @@ scope (VirtualMachines .getAsyncOperationStatus , "!csharp" );
434-
435- // Async operation status polling endpoints — not real resources, just GET on
436- // /azureasyncoperations/{operationId} paths under clusters, applications, extensions
437- @@ scope (Applications .getAzureAsyncOperationStatus , "!csharp" );
438- @@ scope (Clusters .getAzureAsyncOperationStatus , "!csharp" );
439- @@ scope (Extensions .getAzureAsyncOperationStatus , "!csharp" );
440-
441- // Extensions: CRUD-like endpoints on Cluster but NOT a real ARM resource type
442- @@ scope (Extensions .get , "!csharp" );
443- @@ scope (Extensions .delete , "!csharp" );
444-
445- // ScriptActions: action endpoints on Cluster for script execution history
446- @@ scope (ScriptActions .getExecutionAsyncOperationStatus , "!csharp" );
447- @@ scope (ScriptActions .getExecutionDetail , "!csharp" );
448-
449- // Locations: regional async operation status — not a child resource
414+ // Location async operation status is an LRO polling endpoint and should not be exposed as an SDK API.
450415@@ scope (LocationsOperationGroup .getAzureAsyncOperationStatus , "!csharp" );
451416
452417@@ clientName (
@@ -480,6 +445,8 @@ using Azure.ClientGenerator.Core;
480445 "csharp"
481446);
482447@@ clientName (Extensions .create , "CreateExtension" , "csharp" );
448+ @@ clientName (Extensions .get , "GetExtension" , "csharp" );
449+ @@ clientName (Extensions .delete , "DeleteExtension" , "csharp" );
483450@@ clientName (
484451 Extensions .disableAzureMonitorAgent ,
485452 "DisableAzureMonitorAgentExtension" ,
@@ -549,6 +516,11 @@ using Azure.ClientGenerator.Core;
549516 "GetVirtualMachineAsyncOperationStatus" ,
550517 "csharp"
551518);
519+ @@ clientName (
520+ VirtualMachines .restartHosts ::parameters .body ,
521+ "content" ,
522+ "csharp"
523+ );
552524
553525// Mark listUsages as pageable to match old SDK's Pageable<HDInsightUsage> return type
554526#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Required for backward compatibility"
0 commit comments