Skip to content

Commit d8d7591

Browse files
authored
RecoveryServices SDK Generated Validation (#35871)
1 parent 41a1a5b commit d8d7591

File tree

4 files changed

+219
-14
lines changed

4 files changed

+219
-14
lines changed

specification/recoveryservices/RecoveryServices.Management/Vault.tsp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ interface VaultOpsWithCloudError
8888
ErrorType = CloudError
8989
> {}
9090

91-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
91+
@armResourceOperations
9292
interface VaultCreateOps
9393
extends Azure.ResourceManager.Legacy.LegacyOperations<
9494
{
@@ -105,7 +105,7 @@ interface VaultCreateOps
105105
>>
106106
> {}
107107

108-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
108+
@armResourceOperations
109109
interface VaultCreateOpsWithCloudError
110110
extends Azure.ResourceManager.Legacy.LegacyOperations<
111111
{
@@ -123,7 +123,7 @@ interface VaultCreateOpsWithCloudError
123123
ErrorType = CloudError
124124
> {}
125125

126-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
126+
@armResourceOperations
127127
interface VaultOperationOps
128128
extends Azure.ResourceManager.Legacy.LegacyOperations<
129129
{
@@ -149,7 +149,7 @@ interface VaultOperationOps
149149
}
150150
> {}
151151

152-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
152+
@armResourceOperations
153153
interface VaultStatusOps
154154
extends Azure.ResourceManager.Legacy.LegacyOperations<
155155
{
@@ -174,7 +174,7 @@ interface VaultStatusOps
174174
ErrorType = CloudError
175175
> {}
176176

177-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
177+
@armResourceOperations
178178
interface VaultDeleteOps
179179
extends Azure.ResourceManager.Legacy.LegacyOperations<
180180
{
@@ -199,7 +199,7 @@ interface VaultDeleteOps
199199
identityName: string,
200200
}
201201
> {}
202-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
202+
@armResourceOperations
203203
interface Vaults {
204204
/**
205205
* Get the Vault details.
@@ -258,17 +258,18 @@ interface Vaults {
258258
*/
259259
#suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
260260
@put
261-
@route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}")
262261
create is Azure.ResourceManager.Legacy.UpdateOperation<
263262
{
264263
...ApiVersionParameter;
265264
...SubscriptionIdParameter;
266265
...ResourceGroupParameter;
266+
...Azure.ResourceManager.Legacy.Provider;
267267

268268
/**
269269
* The name of the recovery services vault.
270270
*/
271271
@path
272+
@segment("vaults")
272273
vaultName: string;
273274

274275
/**

specification/recoveryservices/RecoveryServices.Management/back-compatible.tsp

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import "@azure-tools/typespec-client-generator-core";
2+
import "@azure-tools/typespec-azure-core";
23

4+
using Azure.Core;
35
using Azure.ClientGenerator.Core;
46
using Microsoft.RecoveryServices;
57

@@ -36,17 +38,27 @@ using Microsoft.RecoveryServices;
3638
// These ensure consistent operationId generation in the output
3739

3840
// PrivateLinkResourceOperationGroup operations
39-
@@clientLocation(PrivateLinkResourceOperationGroup.get, "PrivateLinkResources");
41+
@@clientLocation(PrivateLinkResourceOperationGroup.get,
42+
"PrivateLinkResources",
43+
"!csharp"
44+
);
4045
@@clientLocation(PrivateLinkResourceOperationGroup.list,
41-
"PrivateLinkResources"
46+
"PrivateLinkResources",
47+
"!csharp"
4248
);
4349

4450
// RecoveryServicesOperationGroup operations
4551
@@clientLocation(RecoveryServicesOperationGroup.checkNameAvailability,
46-
"RecoveryServices"
52+
"RecoveryServices",
53+
"!csharp"
4754
);
4855
@@clientLocation(RecoveryServicesOperationGroup.capabilities,
49-
"RecoveryServices"
56+
"RecoveryServices",
57+
"!csharp"
58+
);
59+
@@alternateType(RecoveryServicesOperationGroup.capabilities::parameters.location,
60+
azureLocation,
61+
"csharp"
5062
);
5163

5264
// Vaults operations
@@ -60,8 +72,15 @@ using Microsoft.RecoveryServices;
6072
@@clientLocation(GetOperationResult.listByResourceGroup, Vaults);
6173

6274
// VaultExtendedInfoResources operations
63-
@@clientLocation(VaultExtendedInfoResources.get, "VaultExtendedInfo");
75+
@@clientLocation(VaultExtendedInfoResources.get,
76+
"VaultExtendedInfo",
77+
"!csharp"
78+
);
6479
@@clientLocation(VaultExtendedInfoResources.createOrUpdate,
65-
"VaultExtendedInfo"
80+
"VaultExtendedInfo",
81+
"!csharp"
82+
);
83+
@@clientLocation(VaultExtendedInfoResources.update,
84+
"VaultExtendedInfo",
85+
"!csharp"
6686
);
67-
@@clientLocation(VaultExtendedInfoResources.update, "VaultExtendedInfo");
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,168 @@
11
import "./main.tsp";
22
import "@azure-tools/typespec-client-generator-core";
3+
import "@azure-tools/typespec-azure-core";
34

5+
using Azure.Core;
46
using Azure.ClientGenerator.Core;
57

68
namespace Microsoft.RecoveryServices;
79

810
@@clientLocation(getOperationStatus, Operations, "go");
911
@@clientLocation(getOperationResult, Operations, "go");
1012
@@clientName(getOperationStatus, "OperationStatusGet", "go");
13+
//dotnet SDK Validation
14+
@@clientName(PrivateLinkResource,
15+
"RecoveryServicesPrivateLinkResource",
16+
"csharp"
17+
);
18+
@@clientName(VaultExtendedInfoResource,
19+
"RecoveryServicesVaultExtendedInfo",
20+
"csharp"
21+
);
22+
@@clientName(Vault, "RecoveryServicesVault", "csharp");
23+
@@clientName(UsagesUnit, "VaultUsageUnit", "csharp");
24+
@@clientName(NameInfo, "VaultUsageNameInfo", "csharp");
25+
@@clientName(VaultPropertiesMoveDetails.completionTimeUtc,
26+
"CompletedOn",
27+
"csharp"
28+
);
29+
@@clientName(VaultPropertiesMoveDetails.startTimeUtc, "StartOn", "csharp");
30+
@@alternateType(VaultPropertiesMoveDetails.sourceResourceId,
31+
armResourceIdentifier,
32+
"csharp"
33+
);
34+
@@alternateType(VaultPropertiesMoveDetails.targetResourceId,
35+
armResourceIdentifier,
36+
"csharp"
37+
);
38+
@@alternateType(CmkKeyVaultProperties.keyUri, url, "csharp");
39+
@@usage(VaultPropertiesRedundancySettings, Usage.output, "csharp");
40+
@@clientName(ResourceCertificateDetails.validFrom, "ValidStartOn", "csharp");
41+
@@clientName(ResourceCertificateDetails.validTo, "ValidEndOn", "csharp");
42+
@@alternateType(ResourceCertificateAndAadDetails.aadTenantId, uuid, "csharp");
43+
@@alternateType(ResourceCertificateAndAadDetails.serviceResourceId,
44+
armResourceIdentifier,
45+
"csharp"
46+
);
47+
@@alternateType(ResourceCertificateDetails.thumbprint, unknown, "csharp");
48+
@@alternateType(ResourceCapabilitiesBase.type, armResourceType, "csharp");
49+
@@clientName(ResourceCapabilitiesBase.type,
50+
"ResourceCapabilitiesBaseType",
51+
"csharp"
52+
);
53+
@@clientName(JobsSummary, "ReplicationJobSummary", "csharp");
54+
@@clientName(MonitoringSummary, "VaultMonitoringSummary ", "csharp");
55+
@@clientName(VaultProperties, "RecoveryServicesVaultProperties", "csharp");
56+
@@alternateType(Vault.etag, eTag, "csharp");
57+
@@clientName(PrivateEndpointConnectionStatus,
58+
"RecoveryServicesPrivateEndpointConnectionStatus",
59+
"csharp"
60+
);
61+
@@clientName(ProvisioningState,
62+
"RecoveryServicesPrivateEndpointConnectionProvisioningState",
63+
"csharp"
64+
);
65+
@@clientName(DNSZoneResponse, "DnsZoneResult", "csharp");
66+
@@alternateType(CmkKekIdentity.userAssignedIdentity,
67+
armResourceIdentifier,
68+
"csharp"
69+
);
70+
@@clientName(CapabilitiesResponse, "CapabilitiesResult", "csharp");
71+
@@alternateType(VaultExtendedInfoResource.etag, eTag, "csharp");
72+
@@clientName(MonitoringSettings, "VaultMonitoringSettings", "csharp");
73+
@@clientName(PrivateEndpointConnectionVaultProperties,
74+
"RecoveryServicesPrivateEndpointConnectionVaultProperties",
75+
"csharp"
76+
);
77+
@@alternateType(PrivateEndpointConnectionVaultProperties.location,
78+
azureLocation,
79+
"csharp"
80+
);
81+
@@clientName(PublicNetworkAccess, "VaultPublicNetworkAccess", "csharp");
82+
@@clientName(SecuritySettings, "RecoveryServicesSecuritySettings", "csharp");
83+
@@clientName(UpgradeDetails, "VaultUpgradeDetails ", "csharp");
84+
@@clientName(UpgradeDetails.endTimeUtc, "EndOn", "csharp");
85+
@@clientName(UpgradeDetails.startTimeUtc, "StartOn", "csharp");
86+
@@alternateType(UpgradeDetails.previousResourceId,
87+
armResourceIdentifier,
88+
"csharp"
89+
);
90+
@@alternateType(UpgradeDetails.upgradedResourceId,
91+
armResourceIdentifier,
92+
"csharp"
93+
);
94+
@@clientName(UpgradeDetails.lastUpdatedTimeUtc, "LastUpdatedOn", "csharp");
95+
@@clientName(VaultCertificateResponse, "VaultCertificateResult", "csharp");
96+
@@clientName(TriggerType, "VaultUpgradeTriggerType", "csharp");
97+
@@clientName(SoftDeleteSettings,
98+
"RecoveryServicesSoftDeleteSettings",
99+
"csharp"
100+
);
101+
@@clientName(AuthType, "RecoveryServicesAuthType", "csharp");
102+
@@clientName(SoftDeleteState, "RecoveryServicesSoftDeleteState", "csharp");
103+
@@clientName(PatchVault, "RecoveryServicesVaultPatch", "csharp");
104+
@@alternateType(PatchVault.etag, eTag, "csharp");
105+
@@clientName(CheckNameAvailabilityResult,
106+
"RecoveryServicesNameAvailabilityResult",
107+
"csharp"
108+
);
109+
@@clientName(CheckNameAvailabilityResult.nameAvailable,
110+
"IsNameAvailable",
111+
"csharp"
112+
);
113+
@@clientName(CertificateRequest,
114+
"RecoveryServicesCertificateContent",
115+
"csharp"
116+
);
117+
@@clientName(CheckNameAvailabilityParameters,
118+
"RecoveryServicesNameAvailabilityContent",
119+
"csharp"
120+
);
121+
@@clientName(AlertsState, "RecoveryServicesAlertsState", "csharp");
122+
@@alternateType(CheckNameAvailabilityParameters.type,
123+
armResourceType,
124+
"csharp"
125+
);
126+
@@clientName(CheckNameAvailabilityParameters.type, "ResourceType", "csharp");
127+
@@clientName(Vaults.registeredIdentitiesDelete,
128+
"DeleteRegisteredIdentity",
129+
"csharp"
130+
);
131+
@@clientName(RecoveryServicesOperationGroup.checkNameAvailability,
132+
"CheckRecoveryServicesNameAvailability",
133+
"csharp"
134+
);
135+
@@clientName(RecoveryServicesOperationGroup.capabilities,
136+
"GetRecoveryServiceCapabilities",
137+
"csharp"
138+
);
139+
@@usage(CapabilitiesResponse, Usage.input, "csharp");
140+
@@usage(DNSZoneResponse, Usage.input, "csharp");
141+
@@clientName(CapabilitiesResponseProperties,
142+
"CapabilitiesResultProperties",
143+
"csharp"
144+
);
145+
@@clientName(AuthType.ACS, "Acs", "csharp");
146+
@@clientName(AuthType.AAD, "Aad", "csharp");
147+
@@scope(Operations.list, "!csharp");
148+
@@scope(getOperationStatus, "!csharp");
149+
@@scope(getOperationResult, "!csharp");
150+
@@clientName(BCDRSecurityLevel, "BcdrSecurityLevel", "csharp");
151+
@@clientName(AssociatedIdentity,
152+
"RecoveryServicesAssociatedIdentity",
153+
"csharp"
154+
);
155+
@@clientName(AzureMonitorAlertSettings,
156+
"RecoveryServicesAzureMonitorAlertSettings",
157+
"csharp"
158+
);
159+
@@clientName(ClassicAlertSettings,
160+
"RecoveryServicesClassicAlertSettings",
161+
"csharp"
162+
);
163+
@@clientName(EnhancedSecurityState,
164+
"RecoveryServicesEnhancedSecurityState",
165+
"csharp"
166+
);
167+
@@clientName(IdentityType, "RecoveryServicesIdentityType", "csharp");
168+
@@clientName(State, "RecoveryServicesSourceScanState", "csharp");

specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/openapi.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@
145145
"/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults": {
146146
"get": {
147147
"operationId": "Vaults_ListBySubscriptionId",
148+
"tags": [
149+
"Vaults"
150+
],
148151
"description": "Fetches all the resources of the specified type in the subscription.",
149152
"parameters": [
150153
{
@@ -275,6 +278,9 @@
275278
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}": {
276279
"get": {
277280
"operationId": "Vaults_Get",
281+
"tags": [
282+
"Vaults"
283+
],
278284
"description": "Get the Vault details.",
279285
"parameters": [
280286
{
@@ -316,6 +322,9 @@
316322
},
317323
"put": {
318324
"operationId": "Vaults_CreateOrUpdate",
325+
"tags": [
326+
"Vaults"
327+
],
319328
"description": "Creates or updates a Recovery Services vault.",
320329
"parameters": [
321330
{
@@ -411,6 +420,9 @@
411420
},
412421
"patch": {
413422
"operationId": "Vaults_Update",
423+
"tags": [
424+
"Vaults"
425+
],
414426
"description": "Updates the vault.",
415427
"parameters": [
416428
{
@@ -506,6 +518,9 @@
506518
},
507519
"delete": {
508520
"operationId": "Vaults_Delete",
521+
"tags": [
522+
"Vaults"
523+
],
509524
"description": "Deletes a vault.",
510525
"parameters": [
511526
{
@@ -564,6 +579,9 @@
564579
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}": {
565580
"put": {
566581
"operationId": "VaultCertificates_Create",
582+
"tags": [
583+
"Vaults"
584+
],
567585
"description": "Uploads a certificate for a resource.",
568586
"parameters": [
569587
{
@@ -982,6 +1000,9 @@
9821000
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}": {
9831001
"delete": {
9841002
"operationId": "RegisteredIdentities_Delete",
1003+
"tags": [
1004+
"Vaults"
1005+
],
9851006
"description": "Unregisters the given container from your Recovery Services vault.",
9861007
"parameters": [
9871008
{
@@ -1029,6 +1050,9 @@
10291050
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages": {
10301051
"get": {
10311052
"operationId": "ReplicationUsages_List",
1053+
"tags": [
1054+
"Vaults"
1055+
],
10321056
"description": "Fetches the replication usages of the vault.",
10331057
"parameters": [
10341058
{
@@ -1075,6 +1099,9 @@
10751099
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages": {
10761100
"get": {
10771101
"operationId": "Usages_ListByVaults",
1102+
"tags": [
1103+
"Vaults"
1104+
],
10781105
"description": "Fetches the usages of the vault.",
10791106
"parameters": [
10801107
{

0 commit comments

Comments
 (0)