Skip to content

Commit 45b7886

Browse files
authored
MPG migration Spec - SqlVirtualMachine (#40022)
1 parent 86366cc commit 45b7886

3 files changed

Lines changed: 247 additions & 13 deletions

File tree

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
import "./main.tsp";
2+
import "@azure-tools/typespec-client-generator-core";
3+
4+
using Azure.ClientGenerator.Core;
5+
using Microsoft.SqlVirtualMachine;
6+
7+
@@clientName(SqlVirtualMachine, "SqlVm", "csharp");
8+
@@clientName(SqlVirtualMachineProperties.wsfcDomainCredentials,
9+
"WindowsServerFailoverClusterDomainCredentials",
10+
"csharp"
11+
);
12+
@@clientName(SqlVirtualMachineProperties.wsfcStaticIp,
13+
"WindowsServerFailoverClusterStaticIP",
14+
"csharp"
15+
);
16+
@@clientName(SqlVirtualMachineProperties.sqlVirtualMachineGroupResourceId,
17+
"SqlVmGroupResourceId",
18+
"csharp"
19+
);
20+
@@clientName(SqlVirtualMachineGroup, "SqlVmGroup", "csharp");
21+
@@clientName(SqlVirtualMachineGroupProperties.wsfcDomainProfile,
22+
"WindowsServerFailoverClusterDomainProfile",
23+
"csharp"
24+
);
25+
@@clientName(SqlVirtualMachineUpdate, "SqlVmPatch", "csharp");
26+
@@clientName(AvailabilityGroupListenerProperties.multiSubnetIpConfigurations,
27+
"MultiSubnetIPConfigurations",
28+
"csharp"
29+
);
30+
@@clientName(LoadBalancerConfiguration,
31+
"AvailabilityGroupListenerLoadBalancerConfiguration",
32+
"csharp"
33+
);
34+
@@clientName(LoadBalancerConfiguration.privateIpAddress,
35+
"PrivateIPAddress",
36+
"csharp"
37+
);
38+
@@clientName(LoadBalancerConfiguration.publicIpAddressResourceId,
39+
"PublicIPAddressResourceId",
40+
"csharp"
41+
);
42+
@@clientName(LoadBalancerConfiguration.sqlVirtualMachineInstances,
43+
"SqlVmInstances",
44+
"csharp"
45+
);
46+
@@clientName(PrivateIPAddress,
47+
"AvailabilityGroupListenerPrivateIPAddress",
48+
"csharp"
49+
);
50+
@@clientName(PrivateIPAddress.ipAddress, "IPAddress", "csharp");
51+
@@clientName(AgConfiguration, "AvailabilityGroupConfiguration", "csharp");
52+
@@clientName(AgReplica, "AvailabilityGroupReplica", "csharp");
53+
@@clientName(AgReplica.sqlVirtualMachineInstanceId,
54+
"SqlVmInstanceId",
55+
"csharp"
56+
);
57+
@@clientName(Commit, "AvailabilityGroupReplicaCommitMode", "csharp");
58+
@@clientName(Failover, "AvailabilityGroupReplicaFailoverMode", "csharp");
59+
@@clientName(Role, "AvailabilityGroupReplicaRole", "csharp");
60+
@@clientName(AutoBackupSettings.backupSystemDbs,
61+
"AreSystemDbsIncludedInBackup",
62+
"csharp"
63+
);
64+
@@clientName(AutoBackupSettings.enableEncryption,
65+
"IsEncryptionEnabled",
66+
"csharp"
67+
);
68+
@@clientName(AutoBackupSettings.enable, "IsEnabled", "csharp");
69+
@@clientName(DayOfWeek, "SqlVmAutoPatchingDayOfWeek", "csharp");
70+
@@clientName(ConnectivityType, "SqlServerConnectivityType", "csharp");
71+
@@clientName(ConnectivityType.LOCAL, "Local", "csharp");
72+
@@clientName(ConnectivityType.PRIVATE, "Private", "csharp");
73+
@@clientName(ConnectivityType.PUBLIC, "Public", "csharp");
74+
@@clientName(SqlServerLicenseType.AHUB, "Ahub", "csharp");
75+
@@clientName(SqlServerLicenseType.PAYG, "Payg", "csharp");
76+
@@clientName(SqlWorkloadType.GENERAL, "General", "csharp");
77+
@@clientName(SqlWorkloadType.OLTP, "Oltp", "csharp");
78+
@@clientName(FullBackupFrequencyType, "SqlVmFullBackupFrequency", "csharp");
79+
@@clientName(ScaleType, "SqlVmGroupScaleType", "csharp");
80+
@@clientName(Schedule, "SqlVmAssessmentSchedule", "csharp");
81+
@@clientName(Schedule.enable, "IsEnabled", "csharp");
82+
@@clientName(SQLInstanceSettings, "SqlInstanceSettings", "csharp");
83+
@@clientName(SQLInstanceSettings.maxServerMemoryMB,
84+
"MaxServerMemoryInMB",
85+
"csharp"
86+
);
87+
@@clientName(SQLInstanceSettings.minServerMemoryMB,
88+
"MinServerMemoryInMB",
89+
"csharp"
90+
);
91+
@@clientName(ReadableSecondary, "ReadableSecondaryMode", "csharp");
92+
@@clientName(AutoBackupSettings, "SqlVmAutoBackupSettings", "csharp");
93+
@@clientName(AutoBackupSettings.fullBackupStartTime,
94+
"FullBackupStartHour",
95+
"csharp"
96+
);
97+
@@clientName(AutoBackupSettings.retentionPeriod,
98+
"RetentionPeriodInDays",
99+
"csharp"
100+
);
101+
@@clientName(AutoPatchingSettings, "SqlVmAutoPatchingSettings", "csharp");
102+
@@clientName(AutoPatchingSettings.maintenanceWindowDuration,
103+
"MaintenanceWindowDurationInMinutes",
104+
"csharp"
105+
);
106+
@@clientName(AutoPatchingSettings.enable, "IsEnabled", "csharp");
107+
@@clientName(BackupScheduleType, "SqVmBackupScheduleType", "csharp");
108+
@@clientName(ClusterConfiguration, "SqlVmClusterConfiguration", "csharp");
109+
@@clientName(AssessmentSettings, "SqlVmAssessmentSettings", "csharp");
110+
@@clientName(AssessmentSettings.enable, "IsEnabled", "csharp");
111+
@@clientName(AssessmentDayOfWeek, "SqlVmAssessmentDayOfWeek", "csharp");
112+
@@clientName(ClusterManagerType, "SqlVmClusterManagerType", "csharp");
113+
@@clientName(ClusterManagerType.WSFC, "WindowsServerFailoverCluster", "csharp");
114+
@@clientName(ClusterSubnetType, "SqlVmClusterSubnetType", "csharp");
115+
@@clientName(StorageConfigurationSettings,
116+
"SqlVmStorageConfigurationSettings",
117+
"csharp"
118+
);
119+
@@clientName(StorageConfigurationSettings.sqlSystemDbOnDataDisk,
120+
"IsSqlSystemDBOnDataDisk",
121+
"csharp"
122+
);
123+
@@clientName(StorageConfigurationSettings.sqlTempDbSettings,
124+
"SqlTempDBSettings",
125+
"csharp"
126+
);
127+
@@clientName(KeyVaultCredentialSettings,
128+
"SqlVmKeyVaultCredentialSettings",
129+
"csharp"
130+
);
131+
@@clientName(KeyVaultCredentialSettings.enable, "IsEnabled", "csharp");
132+
@@clientName(ServerConfigurationsManagementSettings,
133+
"SqlServerConfigurationsManagementSettings",
134+
"csharp"
135+
);
136+
@@clientName(OsType, "SqlVmOsType", "csharp");
137+
@@clientName(TroubleshootingScenario, "SqlVmTroubleshootingScenario", "csharp");
138+
@@clientName(TroubleshootingStatus, "SqlVmTroubleshootingStatus", "csharp");
139+
@@clientName(VirtualMachineIdentity, "SqlVmIdentity", "csharp");
140+
@@clientName(VmIdentityType, "SqlVmVmIdentityType", "csharp");
141+
@@clientName(AdditionalOsPatch, "SqlVmAdditionalOsPatch", "csharp");
142+
@@clientName(AdditionalVmPatch, "SqlVmAdditionalVmPatch", "csharp");
143+
@@clientName(MultiSubnetIpConfiguration,
144+
"MultiSubnetIPConfiguration",
145+
"csharp"
146+
);
147+
@@clientName(MultiSubnetIpConfiguration.privateIpAddress,
148+
"PrivateIPAddress",
149+
"csharp"
150+
);
151+
@@clientName(MultiSubnetIpConfiguration.sqlVirtualMachineInstance,
152+
"SqlVmInstance",
153+
"csharp"
154+
);
155+
@@clientName(DiskConfigAssessmentRequest,
156+
"SqlVmDiskConfigAssessmentContent",
157+
"csharp"
158+
);
159+
@@clientName(DiskConfigurationType, "SqlVmDiskConfigurationType", "csharp");
160+
@@clientName(DiskConfigurationType.ADD, "Add", "csharp");
161+
@@clientName(DiskConfigurationType.EXTEND, "Extend", "csharp");
162+
@@clientName(DiskConfigurationType.NEW, "New", "csharp");
163+
@@clientName(StorageWorkloadType, "SqlVmStorageWorkloadType", "csharp");
164+
@@clientName(StorageWorkloadType.GENERAL, "General", "csharp");
165+
@@clientName(StorageWorkloadType.OLTP, "Oltp", "csharp");
166+
@@clientName(AutoBackupDaysOfWeek, "SqlVmAutoBackupDayOfWeek", "csharp");
167+
@@clientName(SQLStorageSettings, "SqlStorageSettings", "csharp");
168+
@@clientName(SQLStorageSettings.luns, "Luns", "csharp");
169+
@@clientName(SQLTempDbSettings, "SqlTempDBSettings", "csharp");
170+
@@clientName(SQLTempDbSettings.luns, "LogicalUnitNumbers", "csharp");
171+
@@clientName(WsfcDomainCredentials,
172+
"WindowsServerFailoverClusterDomainCredentials",
173+
"csharp"
174+
);
175+
@@clientName(WsfcDomainProfile,
176+
"WindowsServerFailoverClusterDomainProfile",
177+
"csharp"
178+
);
179+
@@clientName(WsfcDomainProfile.ouPath, "OrganizationalUnitPath", "csharp");
180+
@@clientName(SqlVirtualMachineGroups.listBySqlVmGroup,
181+
"GetSqlVmsBySqlVmGroup",
182+
"csharp"
183+
);
184+
@@clientName(LeastPrivilegeMode, "SqlVmLeastPrivilegeMode", "csharp");
185+
@@clientName(SqlVirtualMachine.name, "sqlVmName", "csharp");
186+
@@clientName(SqlVirtualMachines.update::parameters.properties,
187+
"patch",
188+
"csharp"
189+
);
190+
@@clientName(SqlVirtualMachineGroup.name, "sqlVmGroupName", "csharp");
191+
@@clientName(SqlVirtualMachineGroups.update::parameters.properties,
192+
"patch",
193+
"csharp"
194+
);
195+
@@alternateType(LoadBalancerConfiguration.sqlVirtualMachineInstances,
196+
Azure.Core.armResourceIdentifier[],
197+
"csharp"
198+
);
199+
@@alternateType(LoadBalancerConfiguration.loadBalancerResourceId,
200+
Azure.Core.armResourceIdentifier,
201+
"csharp"
202+
);
203+
@@alternateType(LoadBalancerConfiguration.publicIpAddressResourceId,
204+
Azure.Core.armResourceIdentifier,
205+
"csharp"
206+
);
207+
@@alternateType(Azure.ResourceManager.CommonTypes.Resource.id,
208+
Azure.Core.armResourceIdentifier,
209+
"csharp"
210+
);
211+
@@alternateType(SqlVirtualMachine.identity,
212+
Azure.ResourceManager.CommonTypes.ManagedServiceIdentity,
213+
"csharp"
214+
);
215+
@@alternateType(SqlVirtualMachineProperties.virtualMachineResourceId,
216+
Azure.Core.armResourceIdentifier,
217+
"csharp"
218+
);
219+
@@alternateType(SqlVirtualMachineProperties.wsfcStaticIp,
220+
Azure.Core.ipV4Address,
221+
"csharp"
222+
);
223+
@@alternateType(PrivateIPAddress.ipAddress, Azure.Core.ipV4Address, "csharp");
224+
@@alternateType(PrivateIPAddress.subnetResourceId,
225+
Azure.Core.armResourceIdentifier,
226+
"csharp"
227+
);
228+
@@alternateType(AgReplica.sqlVirtualMachineInstanceId,
229+
Azure.Core.armResourceIdentifier,
230+
"csharp"
231+
);
232+
@@alternateType(SqlVirtualMachineProperties.sqlVirtualMachineGroupResourceId,
233+
Azure.Core.armResourceIdentifier,
234+
"csharp"
235+
);
236+
@@alternateType(AutoBackupSettings.storageAccountUrl, url, "csharp");
237+
@@alternateType(KeyVaultCredentialSettings.azureKeyVaultUrl, url, "csharp");
238+
@@alternateType(WsfcDomainProfile.storageAccountUrl, url, "csharp");

specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/SqlVirtualMachine/main.tsp

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,11 @@ enum Versions {
4848
* Azure Resource Manager service. It implements
4949
* GET "/providers/Microsoft.ContosoProviderHub/operations"
5050
*/
51-
interface Operations {
52-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
53-
@tag("Operations")
54-
@autoRoute
55-
@doc("List the operations for the provider")
56-
@segment("operations")
57-
@get
58-
@list
59-
list(
60-
...ApiVersionParameter,
61-
...Azure.ResourceManager.Legacy.Provider,
62-
): ArmResponse<OperationListResult> | ErrorResponse;
63-
}
51+
interface Operations
52+
extends Azure.ResourceManager.Legacy.Operations<
53+
ArmResponse<OperationListResult>,
54+
ErrorResponse
55+
> {}
6456

6557
@@doc(Operations.list,
6658
"Lists all of the available SQL Virtual Machine Rest API operations."

specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/SqlVirtualMachine/tspconfig.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ options:
4040
generate-fakes: true
4141
head-as-boolean: true
4242
inject-spans: true
43+
"@azure-typespec/http-client-csharp-mgmt":
44+
# use-legacy-resource-detection: false
45+
namespace: "Azure.ResourceManager.SqlVirtualMachine"
46+
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
4347
linter:
4448
extends:
4549
- "@azure-tools/typespec-azure-rulesets/resource-manager"

0 commit comments

Comments
 (0)