Skip to content

Commit 9d8bde6

Browse files
authored
Add csharp customizations for DeveloperHub migration (#44302)
1 parent 91f0600 commit 9d8bde6

5 files changed

Lines changed: 184 additions & 57 deletions

File tree

specification/developerhub/resource-manager/Microsoft.DevHub/DeveloperHub/GitHubOAuthResponse.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ interface GitHubOAuthResponses {
8282
BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters,
8383
Response = ArmResponse<GitHubOAuthListResponse>,
8484
Parameters = {
85-
...LocationParameter;
85+
...LocationResourceParameter;
8686
}
8787
>;
8888

specification/developerhub/resource-manager/Microsoft.DevHub/DeveloperHub/back-compatible.tsp

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -58,60 +58,6 @@ using Microsoft.DevHub;
5858
@@clientName(AdooAuthResponse, "ADOOAuthResponse");
5959
@@clientName(PrLinkResponse, "prLinkResponse");
6060

61-
@@clientName(
62-
AdooAuthCallRequest,
63-
"DeveloperHubADOOAuthCallRequestContent",
64-
"csharp"
65-
);
66-
@@clientName(
67-
AdooAuthInfoResponse,
68-
"DeveloperHubADOOAuthInfoResponseResult",
69-
"csharp"
70-
);
71-
@@clientName(
72-
DeleteWorkflowResponse,
73-
"DeveloperHubDeleteWorkflowResponseResult",
74-
"csharp"
75-
);
76-
@@clientName(
77-
ExportTemplateRequest,
78-
"DeveloperHubExportTemplateRequestContent",
79-
"csharp"
80-
);
81-
@@clientName(
82-
GenerateVersionedTemplateResponse,
83-
"DeveloperHubGenerateVersionedTemplateResponseResult",
84-
"csharp"
85-
);
86-
@@clientName(
87-
GitHubOAuthCallRequest,
88-
"DeveloperHubGitHubOAuthCallRequestContent",
89-
"csharp"
90-
);
91-
@@clientName(
92-
GitHubOAuthInfoResponse,
93-
"DeveloperHubGitHubOAuthInfoResponseResult",
94-
"csharp"
95-
);
96-
@@clientName(
97-
GitHubOAuthListResponse,
98-
"DeveloperHubGitHubOAuthListResponseResult",
99-
"csharp"
100-
);
101-
@@clientName(
102-
Azure.ResourceManager.Foundations.Operation,
103-
"DeveloperHubOperationInfo",
104-
"csharp"
105-
);
106-
@@clientName(Parameter, "DeveloperHubParameterContent", "csharp");
107-
@@clientName(PrLinkResponse, "DeveloperHubPrLinkResponseResult", "csharp");
108-
@@clientName(PullRequest, "DeveloperHubPullRequestContent", "csharp");
109-
@@clientName(
110-
ScaleTemplateRequest,
111-
"DeveloperHubScaleTemplateRequestContent",
112-
"csharp"
113-
);
114-
11561
@@visibility(
11662
Azure.ResourceManager.Foundations.OperationListResult.nextLink,
11763
Lifecycle.Read

specification/developerhub/resource-manager/Microsoft.DevHub/DeveloperHub/client.tsp

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,184 @@ using Microsoft.DevHub;
8686
"DeveloperHubServiceClient",
8787
"go"
8888
);
89+
90+
// csharp: ADO acronym PascalCase (3-letter acronym)
91+
@@clientName(ADORepository, "AdoRepository", "csharp");
92+
@@clientName(ADOProviderProfile, "AdoProviderProfile", "csharp");
93+
94+
// csharp: add RP/domain context to otherwise-generic resource trio nouns
95+
@@clientName(Workflow, "DevHubWorkflow", "csharp");
96+
@@clientName(Template, "DevHubTemplate", "csharp");
97+
98+
// csharp: enum member casing fixes
99+
@@clientName(WorkflowRunStatus.inprogress, "InProgress", "csharp");
100+
@@clientName(GenerationLanguage.gomodule, "GoModule", "csharp");
101+
@@clientName(QuickStartTemplateType.HCIAKS, "HciAks", "csharp");
102+
@@clientName(QuickStartTemplateType.HCIARCVM, "HciArcVm", "csharp");
103+
104+
// csharp: URL -> Url acronym casing (mirrors java)
105+
@@clientName(GitHubOAuthInfoResponse.authURL, "authUrl", "csharp");
106+
@@clientName(AdooAuthInfoResponse.authURL, "authUrl", "csharp");
107+
@@clientName(GitHubWorkflowProfile.prURL, "prUrl", "csharp");
108+
@@clientName(WorkflowRun.workflowRunURL, "workflowRunUrl", "csharp");
109+
@@clientName(PullRequest.prURL, "prUrl", "csharp");
110+
111+
// csharp: boolean properties need a verb prefix
112+
@@clientName(WorkflowRun.succeeded, "isSucceeded", "csharp");
113+
@@clientName(Parameter.required, "isRequired", "csharp");
114+
115+
// csharp: ARM resource id strings -> ResourceIdentifier
116+
@@alternateType(
117+
GitHubWorkflowProfile.aksResourceId,
118+
Azure.Core.armResourceIdentifier,
119+
"csharp"
120+
);
121+
@@alternateType(
122+
IacTemplateProperties.sourceResourceId,
123+
Azure.Core.armResourceIdentifier,
124+
"csharp"
125+
);
126+
127+
// csharp: etag string -> Azure.ETag
128+
@@alternateType(
129+
Azure.ResourceManager.Legacy.EntityTagProperty.etag,
130+
Azure.Core.eTag,
131+
"csharp"
132+
);
133+
134+
// csharp AdoOAuth casing consistency (mirrors java).
135+
@@clientName(AdooAuthResponse, "AdoOAuthResponse", "csharp");
136+
@@clientName(AdooAuthResponses, "AdoOAuthResponses", "csharp");
137+
@@clientName(AdooAuthListResponse, "AdoOAuthListResponse", "csharp");
138+
@@clientName(ADOOAuth, "AdoOAuth", "csharp");
139+
@@clientName(AdooAuthResponses.getADOOAuthInfo, "getAdoOAuthInfo", "csharp");
140+
141+
@@clientName(ScaleProperty.numberOfStore, "NumberOfStores", "csharp");
142+
@@clientName(GenerationLanguage.csharp, "CSharp", "csharp");
143+
@@clientName(GenerationLanguage.javascript, "JavaScript", "csharp");
144+
@@clientName(RepositoryProviderType.github, "GitHub", "csharp");
145+
@@clientName(VersionedTemplate, "DevHubVersionedTemplate", "csharp");
146+
147+
@@clientName(ACR, "DevHubContainerRegistryInfo", "csharp");
148+
@@clientName(Build, "DevHubDockerBuildInfo", "csharp");
149+
@@clientName(Deployment, "DevHubDeploymentProperties", "csharp");
150+
// Targets Azure.ResourceManager.CommonTypes.Origin (the ARM common-type actually
151+
// emitted via Foundations.Operation.origin), not the unused local `union Origin` in
152+
// models.tsp; a bare `Origin` would rename the dead local type and leave the generated one unchanged.
153+
@@clientName(
154+
Azure.ResourceManager.CommonTypes.Origin,
155+
"DevHubOperationOrigin",
156+
"csharp"
157+
);
158+
159+
// csharp: add DevHub prefix to otherwise-generic model/enum names
160+
// Targets Azure.ResourceManager.CommonTypes.ActionType (the ARM common-type actually
161+
// emitted via Foundations.Operation.actionType), not the unused local `union ActionType`
162+
// in models.tsp; a bare `ActionType` would rename the dead local type only.
163+
@@clientName(
164+
Azure.ResourceManager.CommonTypes.ActionType,
165+
"DevHubActionType",
166+
"csharp"
167+
);
168+
@@clientName(
169+
ArtifactGenerationProperties,
170+
"DevHubArtifactGenerationProperties",
171+
"csharp"
172+
);
173+
@@clientName(AuthorizationStatus, "DevHubAuthorizationStatus", "csharp");
174+
@@clientName(
175+
DockerfileGenerationMode,
176+
"DevHubDockerfileGenerationMode",
177+
"csharp"
178+
);
179+
@@clientName(GenerationLanguage, "DevHubGenerationLanguage", "csharp");
180+
@@clientName(GenerationManifestType, "DevHubGenerationManifestType", "csharp");
181+
@@clientName(IacTemplateDetails, "DevHubIacTemplateDetails", "csharp");
182+
@@clientName(IacTemplateProperties, "DevHubIacTemplateProperties", "csharp");
183+
@@clientName(ManifestGenerationMode, "DevHubManifestGenerationMode", "csharp");
184+
@@clientName(ManifestType, "DevHubManifestType", "csharp");
185+
@@clientName(OidcCredentials, "DevHubOidcCredentials", "csharp");
186+
// Targets Azure.ResourceManager.CommonTypes.OperationDisplay (the ARM common-type actually
187+
// emitted via Foundations.Operation.display), not any local model; use the qualified name so
188+
// the rename reaches the generated type.
189+
@@clientName(
190+
Azure.ResourceManager.CommonTypes.OperationDisplay,
191+
"DevHubOperationDisplay",
192+
"csharp"
193+
);
194+
@@clientName(
195+
Azure.ResourceManager.Foundations.OperationListResult,
196+
"DevHubOperationListResult",
197+
"csharp"
198+
);
199+
@@clientName(ParameterDefault, "DevHubTemplateParameterDefault", "csharp");
200+
@@clientName(ParameterKind, "DevHubTemplateParameterKind", "csharp");
201+
@@clientName(ParameterType, "DevHubTemplateParameterType", "csharp");
202+
@@clientName(PullRequestStatus, "DevHubPullRequestStatus", "csharp");
203+
@@clientName(QuickStartTemplateType, "DevHubQuickStartTemplateType", "csharp");
204+
@@clientName(RepositoryProviderType, "DevHubRepositoryProviderType", "csharp");
205+
@@clientName(ScaleProperty, "DevHubScaleProperty", "csharp");
206+
@@clientName(StageProperties, "DevHubStageInfo", "csharp");
207+
@@clientName(TemplateProperties, "DevHubTemplateProperties", "csharp");
208+
@@clientName(TemplateReference, "DevHubTemplateReference", "csharp");
209+
@@clientName(TemplateType, "DevHubTemplateType", "csharp");
210+
@@clientName(
211+
TemplateWorkflowProfile,
212+
"DevHubTemplateWorkflowProfile",
213+
"csharp"
214+
);
215+
@@clientName(
216+
VersionedTemplateProperties,
217+
"DevHubVersionedTemplateProperties",
218+
"csharp"
219+
);
220+
@@clientName(WorkflowProperties, "DevHubWorkflowProperties", "csharp");
221+
@@clientName(WorkflowRun, "DevHubWorkflowRun", "csharp");
222+
@@clientName(WorkflowRunStatus, "DevHubWorkflowRunStatus", "csharp");
223+
@@clientName(TagsObject, "DevHubTagsPatch", "csharp");
224+
225+
@@clientName(AdooAuthCallRequest, "DeveloperHubAdoOAuthCallContent", "csharp");
226+
@@clientName(
227+
ExportTemplateRequest,
228+
"DeveloperHubExportTemplateContent",
229+
"csharp"
230+
);
231+
@@clientName(
232+
GitHubOAuthCallRequest,
233+
"DeveloperHubGitHubOAuthCallContent",
234+
"csharp"
235+
);
236+
@@clientName(
237+
ScaleTemplateRequest,
238+
"DeveloperHubScaleTemplateContent",
239+
"csharp"
240+
);
241+
@@clientName(AdooAuthInfoResponse, "DeveloperHubAdoOAuthInfoResult", "csharp");
242+
@@clientName(
243+
DeleteWorkflowResponse,
244+
"DeveloperHubDeleteWorkflowResult",
245+
"csharp"
246+
);
247+
@@clientName(
248+
GenerateVersionedTemplateResponse,
249+
"DeveloperHubGenerateVersionedTemplateResult",
250+
"csharp"
251+
);
252+
@@clientName(
253+
GitHubOAuthInfoResponse,
254+
"DeveloperHubGitHubOAuthInfoResult",
255+
"csharp"
256+
);
257+
@@clientName(
258+
GitHubOAuthListResponse,
259+
"DeveloperHubGitHubOAuthListResult",
260+
"csharp"
261+
);
262+
@@clientName(
263+
Azure.ResourceManager.Foundations.Operation,
264+
"DeveloperHubOperationInfo",
265+
"csharp"
266+
);
267+
@@clientName(Parameter, "DeveloperHubParameterContent", "csharp");
268+
@@clientName(PrLinkResponse, "DeveloperHubPrLinkResult", "csharp");
269+
@@clientName(PullRequest, "DeveloperHubPullRequestContent", "csharp");

specification/developerhub/resource-manager/Microsoft.DevHub/DeveloperHub/routes.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ namespace Microsoft.DevHub;
2222
op generatePreviewArtifacts(
2323
...ApiVersionParameter,
2424
...SubscriptionIdParameter,
25-
...LocationParameter,
25+
...LocationResourceParameter,
2626
#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
2727
@body parameters: ArtifactGenerationProperties,
2828
): ArmResponse<Record<string>> | ErrorResponse;

specification/developerhub/resource-manager/Microsoft.DevHub/DeveloperHub/tspconfig.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ options:
2020
use-object-for-unknown: true
2121
"@azure-typespec/http-client-csharp-mgmt":
2222
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
23-
namespace: "Azure.ResourceManager.DeveloperHub"
23+
namespace: "Azure.ResourceManager.DevHub"
2424
"@azure-tools/typespec-python":
2525
service-dir: "sdk/devhub"
2626
emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-devhub"

0 commit comments

Comments
 (0)