@azure/arm-mysql-flexible 3.1.1-alpha.20230501.1 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/CHANGELOG.md +96 -8
  2. package/LICENSE +1 -1
  3. package/README.md +1 -1
  4. package/dist/index.js +3646 -1927
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +1 -1
  7. package/dist/index.min.js.map +1 -1
  8. package/dist-esm/samples-dev/azureAdAdministratorsCreateOrUpdateSample.d.ts +2 -0
  9. package/dist-esm/samples-dev/azureAdAdministratorsCreateOrUpdateSample.d.ts.map +1 -0
  10. package/dist-esm/samples-dev/azureAdAdministratorsCreateOrUpdateSample.js +47 -0
  11. package/dist-esm/samples-dev/azureAdAdministratorsCreateOrUpdateSample.js.map +1 -0
  12. package/dist-esm/samples-dev/azureAdAdministratorsDeleteSample.d.ts +2 -0
  13. package/dist-esm/samples-dev/azureAdAdministratorsDeleteSample.d.ts.map +1 -0
  14. package/dist-esm/samples-dev/azureAdAdministratorsDeleteSample.js +40 -0
  15. package/dist-esm/samples-dev/azureAdAdministratorsDeleteSample.js.map +1 -0
  16. package/dist-esm/samples-dev/azureAdAdministratorsGetSample.d.ts +2 -0
  17. package/dist-esm/samples-dev/azureAdAdministratorsGetSample.d.ts.map +1 -0
  18. package/dist-esm/samples-dev/azureAdAdministratorsGetSample.js +40 -0
  19. package/dist-esm/samples-dev/azureAdAdministratorsGetSample.js.map +1 -0
  20. package/dist-esm/samples-dev/azureAdAdministratorsListByServerSample.d.ts +2 -0
  21. package/dist-esm/samples-dev/azureAdAdministratorsListByServerSample.d.ts.map +1 -0
  22. package/dist-esm/samples-dev/azureAdAdministratorsListByServerSample.js +60 -0
  23. package/dist-esm/samples-dev/azureAdAdministratorsListByServerSample.js.map +1 -0
  24. package/dist-esm/samples-dev/backupAndExportCreateSample.d.ts +2 -0
  25. package/dist-esm/samples-dev/backupAndExportCreateSample.d.ts.map +1 -0
  26. package/dist-esm/samples-dev/backupAndExportCreateSample.js +46 -0
  27. package/dist-esm/samples-dev/backupAndExportCreateSample.js.map +1 -0
  28. package/dist-esm/samples-dev/backupAndExportValidateBackupSample.d.ts +2 -0
  29. package/dist-esm/samples-dev/backupAndExportValidateBackupSample.d.ts.map +1 -0
  30. package/dist-esm/samples-dev/backupAndExportValidateBackupSample.js +39 -0
  31. package/dist-esm/samples-dev/backupAndExportValidateBackupSample.js.map +1 -0
  32. package/dist-esm/samples-dev/backupsGetSample.js +1 -1
  33. package/dist-esm/samples-dev/backupsListByServerSample.js +1 -1
  34. package/dist-esm/samples-dev/backupsPutSample.d.ts +2 -0
  35. package/dist-esm/samples-dev/backupsPutSample.d.ts.map +1 -0
  36. package/dist-esm/samples-dev/backupsPutSample.js +40 -0
  37. package/dist-esm/samples-dev/backupsPutSample.js.map +1 -0
  38. package/dist-esm/samples-dev/checkNameAvailabilityExecuteSample.js +1 -1
  39. package/dist-esm/samples-dev/checkNameAvailabilityWithoutLocationExecuteSample.d.ts +2 -0
  40. package/dist-esm/samples-dev/checkNameAvailabilityWithoutLocationExecuteSample.d.ts.map +1 -0
  41. package/dist-esm/samples-dev/checkNameAvailabilityWithoutLocationExecuteSample.js +41 -0
  42. package/dist-esm/samples-dev/checkNameAvailabilityWithoutLocationExecuteSample.js.map +1 -0
  43. package/dist-esm/samples-dev/checkVirtualNetworkSubnetUsageExecuteSample.js +1 -1
  44. package/dist-esm/samples-dev/configurationsBatchUpdateSample.js +2 -1
  45. package/dist-esm/samples-dev/configurationsBatchUpdateSample.js.map +1 -1
  46. package/dist-esm/samples-dev/configurationsCreateOrUpdateSample.d.ts +2 -0
  47. package/dist-esm/samples-dev/configurationsCreateOrUpdateSample.d.ts.map +1 -0
  48. package/dist-esm/samples-dev/configurationsCreateOrUpdateSample.js +41 -0
  49. package/dist-esm/samples-dev/configurationsCreateOrUpdateSample.js.map +1 -0
  50. package/dist-esm/samples-dev/configurationsGetSample.js +1 -1
  51. package/dist-esm/samples-dev/configurationsListByServerSample.js +5 -2
  52. package/dist-esm/samples-dev/configurationsListByServerSample.js.map +1 -1
  53. package/dist-esm/samples-dev/configurationsUpdateSample.js +1 -1
  54. package/dist-esm/samples-dev/databasesCreateOrUpdateSample.js +1 -1
  55. package/dist-esm/samples-dev/databasesDeleteSample.js +1 -1
  56. package/dist-esm/samples-dev/databasesGetSample.js +1 -1
  57. package/dist-esm/samples-dev/databasesListByServerSample.js +1 -1
  58. package/dist-esm/samples-dev/firewallRulesCreateOrUpdateSample.js +1 -1
  59. package/dist-esm/samples-dev/firewallRulesDeleteSample.js +1 -1
  60. package/dist-esm/samples-dev/firewallRulesGetSample.js +1 -1
  61. package/dist-esm/samples-dev/firewallRulesListByServerSample.js +1 -1
  62. package/dist-esm/samples-dev/getPrivateDnsZoneSuffixExecuteSample.js +1 -1
  63. package/dist-esm/samples-dev/locationBasedCapabilitiesListSample.js +1 -1
  64. package/dist-esm/samples-dev/logFilesListByServerSample.d.ts +2 -0
  65. package/dist-esm/samples-dev/logFilesListByServerSample.d.ts.map +1 -0
  66. package/dist-esm/samples-dev/logFilesListByServerSample.js +60 -0
  67. package/dist-esm/samples-dev/logFilesListByServerSample.js.map +1 -0
  68. package/dist-esm/samples-dev/operationsListSample.js +1 -1
  69. package/dist-esm/samples-dev/replicasListByServerSample.js +1 -1
  70. package/dist-esm/samples-dev/serversCreateSample.js +48 -3
  71. package/dist-esm/samples-dev/serversCreateSample.js.map +1 -1
  72. package/dist-esm/samples-dev/serversDeleteSample.js +1 -1
  73. package/dist-esm/samples-dev/serversFailoverSample.js +1 -1
  74. package/dist-esm/samples-dev/serversGetSample.js +2 -2
  75. package/dist-esm/samples-dev/serversListByResourceGroupSample.js +1 -1
  76. package/dist-esm/samples-dev/serversListSample.js +1 -1
  77. package/dist-esm/samples-dev/serversResetGtidSample.d.ts +2 -0
  78. package/dist-esm/samples-dev/serversResetGtidSample.d.ts.map +1 -0
  79. package/dist-esm/samples-dev/serversResetGtidSample.js +42 -0
  80. package/dist-esm/samples-dev/serversResetGtidSample.js.map +1 -0
  81. package/dist-esm/samples-dev/serversRestartSample.js +1 -1
  82. package/dist-esm/samples-dev/serversStartSample.js +1 -1
  83. package/dist-esm/samples-dev/serversStopSample.js +1 -1
  84. package/dist-esm/samples-dev/serversUpdateSample.js +42 -3
  85. package/dist-esm/samples-dev/serversUpdateSample.js.map +1 -1
  86. package/dist-esm/src/lroImpl.d.ts +6 -11
  87. package/dist-esm/src/lroImpl.d.ts.map +1 -1
  88. package/dist-esm/src/lroImpl.js +12 -20
  89. package/dist-esm/src/lroImpl.js.map +1 -1
  90. package/dist-esm/src/models/index.d.ts +767 -378
  91. package/dist-esm/src/models/index.d.ts.map +1 -1
  92. package/dist-esm/src/models/index.js +78 -44
  93. package/dist-esm/src/models/index.js.map +1 -1
  94. package/dist-esm/src/models/mappers.d.ts +44 -15
  95. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  96. package/dist-esm/src/models/mappers.js +1232 -601
  97. package/dist-esm/src/models/mappers.js.map +1 -1
  98. package/dist-esm/src/models/parameters.d.ts +14 -5
  99. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  100. package/dist-esm/src/models/parameters.js +96 -21
  101. package/dist-esm/src/models/parameters.js.map +1 -1
  102. package/dist-esm/src/mySQLManagementFlexibleServerClient.d.ts +9 -8
  103. package/dist-esm/src/mySQLManagementFlexibleServerClient.d.ts.map +1 -1
  104. package/dist-esm/src/mySQLManagementFlexibleServerClient.js +10 -36
  105. package/dist-esm/src/mySQLManagementFlexibleServerClient.js.map +1 -1
  106. package/dist-esm/src/operations/azureADAdministrators.d.ts +81 -0
  107. package/dist-esm/src/operations/azureADAdministrators.d.ts.map +1 -0
  108. package/dist-esm/src/operations/azureADAdministrators.js +368 -0
  109. package/dist-esm/src/operations/azureADAdministrators.js.map +1 -0
  110. package/dist-esm/src/operations/backupAndExport.d.ts +37 -0
  111. package/dist-esm/src/operations/backupAndExport.d.ts.map +1 -0
  112. package/dist-esm/src/operations/backupAndExport.js +146 -0
  113. package/dist-esm/src/operations/backupAndExport.js.map +1 -0
  114. package/dist-esm/src/operations/backups.d.ts +9 -1
  115. package/dist-esm/src/operations/backups.d.ts.map +1 -1
  116. package/dist-esm/src/operations/backups.js +34 -2
  117. package/dist-esm/src/operations/backups.js.map +1 -1
  118. package/dist-esm/src/operations/checkNameAvailabilityWithoutLocation.d.ts +19 -0
  119. package/dist-esm/src/operations/checkNameAvailabilityWithoutLocation.d.ts.map +1 -0
  120. package/dist-esm/src/operations/checkNameAvailabilityWithoutLocation.js +49 -0
  121. package/dist-esm/src/operations/checkNameAvailabilityWithoutLocation.js.map +1 -0
  122. package/dist-esm/src/operations/checkVirtualNetworkSubnetUsage.js +1 -1
  123. package/dist-esm/src/operations/checkVirtualNetworkSubnetUsage.js.map +1 -1
  124. package/dist-esm/src/operations/configurations.d.ts +22 -4
  125. package/dist-esm/src/operations/configurations.d.ts.map +1 -1
  126. package/dist-esm/src/operations/configurations.js +132 -14
  127. package/dist-esm/src/operations/configurations.js.map +1 -1
  128. package/dist-esm/src/operations/databases.d.ts +3 -3
  129. package/dist-esm/src/operations/databases.d.ts.map +1 -1
  130. package/dist-esm/src/operations/databases.js +24 -10
  131. package/dist-esm/src/operations/databases.js.map +1 -1
  132. package/dist-esm/src/operations/firewallRules.d.ts +3 -3
  133. package/dist-esm/src/operations/firewallRules.d.ts.map +1 -1
  134. package/dist-esm/src/operations/firewallRules.js +25 -11
  135. package/dist-esm/src/operations/firewallRules.js.map +1 -1
  136. package/dist-esm/src/operations/index.d.ts +8 -4
  137. package/dist-esm/src/operations/index.d.ts.map +1 -1
  138. package/dist-esm/src/operations/index.js +8 -4
  139. package/dist-esm/src/operations/index.js.map +1 -1
  140. package/dist-esm/src/operations/logFiles.d.ts +38 -0
  141. package/dist-esm/src/operations/logFiles.d.ts.map +1 -0
  142. package/dist-esm/src/operations/logFiles.js +155 -0
  143. package/dist-esm/src/operations/logFiles.js.map +1 -0
  144. package/dist-esm/src/operations/replicas.js +1 -1
  145. package/dist-esm/src/operations/replicas.js.map +1 -1
  146. package/dist-esm/src/operations/servers.d.ts +25 -9
  147. package/dist-esm/src/operations/servers.d.ts.map +1 -1
  148. package/dist-esm/src/operations/servers.js +155 -44
  149. package/dist-esm/src/operations/servers.js.map +1 -1
  150. package/dist-esm/src/operationsInterfaces/azureADAdministrators.d.ts +56 -0
  151. package/dist-esm/src/operationsInterfaces/azureADAdministrators.d.ts.map +1 -0
  152. package/dist-esm/src/operationsInterfaces/azureADAdministrators.js +9 -0
  153. package/dist-esm/src/operationsInterfaces/azureADAdministrators.js.map +1 -0
  154. package/dist-esm/src/operationsInterfaces/backupAndExport.d.ts +29 -0
  155. package/dist-esm/src/operationsInterfaces/backupAndExport.d.ts.map +1 -0
  156. package/dist-esm/src/operationsInterfaces/backupAndExport.js +9 -0
  157. package/dist-esm/src/operationsInterfaces/backupAndExport.js.map +1 -0
  158. package/dist-esm/src/operationsInterfaces/backups.d.ts +9 -1
  159. package/dist-esm/src/operationsInterfaces/backups.d.ts.map +1 -1
  160. package/dist-esm/src/operationsInterfaces/checkNameAvailabilityWithoutLocation.d.ts +11 -0
  161. package/dist-esm/src/operationsInterfaces/checkNameAvailabilityWithoutLocation.d.ts.map +1 -0
  162. package/dist-esm/src/operationsInterfaces/checkNameAvailabilityWithoutLocation.js +9 -0
  163. package/dist-esm/src/operationsInterfaces/checkNameAvailabilityWithoutLocation.js.map +1 -0
  164. package/dist-esm/src/operationsInterfaces/configurations.d.ts +22 -4
  165. package/dist-esm/src/operationsInterfaces/configurations.d.ts.map +1 -1
  166. package/dist-esm/src/operationsInterfaces/databases.d.ts +3 -3
  167. package/dist-esm/src/operationsInterfaces/databases.d.ts.map +1 -1
  168. package/dist-esm/src/operationsInterfaces/firewallRules.d.ts +3 -3
  169. package/dist-esm/src/operationsInterfaces/firewallRules.d.ts.map +1 -1
  170. package/dist-esm/src/operationsInterfaces/index.d.ts +8 -4
  171. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  172. package/dist-esm/src/operationsInterfaces/index.js +8 -4
  173. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  174. package/dist-esm/src/operationsInterfaces/logFiles.d.ts +13 -0
  175. package/dist-esm/src/operationsInterfaces/logFiles.d.ts.map +1 -0
  176. package/dist-esm/src/operationsInterfaces/logFiles.js +9 -0
  177. package/dist-esm/src/operationsInterfaces/logFiles.js.map +1 -0
  178. package/dist-esm/src/operationsInterfaces/servers.d.ts +25 -9
  179. package/dist-esm/src/operationsInterfaces/servers.d.ts.map +1 -1
  180. package/package.json +6 -6
  181. package/review/arm-mysql-flexible.api.md +383 -18
  182. package/src/lroImpl.ts +31 -23
  183. package/src/models/index.ts +842 -382
  184. package/src/models/mappers.ts +1315 -622
  185. package/src/models/parameters.ts +112 -25
  186. package/src/mySQLManagementFlexibleServerClient.ts +35 -53
  187. package/src/operations/azureADAdministrators.ts +504 -0
  188. package/src/operations/backupAndExport.ts +210 -0
  189. package/src/operations/backups.ts +46 -2
  190. package/src/operations/checkNameAvailabilityWithoutLocation.ts +69 -0
  191. package/src/operations/checkVirtualNetworkSubnetUsage.ts +1 -1
  192. package/src/operations/configurations.ts +190 -26
  193. package/src/operations/databases.ts +34 -21
  194. package/src/operations/firewallRules.ts +35 -22
  195. package/src/operations/index.ts +8 -4
  196. package/src/operations/logFiles.ts +198 -0
  197. package/src/operations/replicas.ts +1 -1
  198. package/src/operations/servers.ts +211 -79
  199. package/src/operationsInterfaces/azureADAdministrators.ts +110 -0
  200. package/src/operationsInterfaces/backupAndExport.ts +62 -0
  201. package/src/operationsInterfaces/backups.ts +15 -0
  202. package/src/operationsInterfaces/checkNameAvailabilityWithoutLocation.ts +26 -0
  203. package/src/operationsInterfaces/configurations.ts +42 -5
  204. package/src/operationsInterfaces/databases.ts +4 -4
  205. package/src/operationsInterfaces/firewallRules.ts +4 -4
  206. package/src/operationsInterfaces/index.ts +8 -4
  207. package/src/operationsInterfaces/logFiles.ts +26 -0
  208. package/src/operationsInterfaces/servers.ts +43 -9
  209. package/types/arm-mysql-flexible.d.ts +624 -29
  210. package/types/tsdoc-metadata.json +1 -1
@@ -0,0 +1,504 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ *
5
+ * Code generated by Microsoft (R) AutoRest Code Generator.
6
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
+ */
8
+
9
+ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging";
10
+ import { setContinuationToken } from "../pagingHelper";
11
+ import { AzureADAdministrators } from "../operationsInterfaces";
12
+ import * as coreClient from "@azure/core-client";
13
+ import * as Mappers from "../models/mappers";
14
+ import * as Parameters from "../models/parameters";
15
+ import { MySQLManagementFlexibleServerClient } from "../mySQLManagementFlexibleServerClient";
16
+ import {
17
+ SimplePollerLike,
18
+ OperationState,
19
+ createHttpPoller
20
+ } from "@azure/core-lro";
21
+ import { createLroSpec } from "../lroImpl";
22
+ import {
23
+ AzureADAdministrator,
24
+ AzureADAdministratorsListByServerNextOptionalParams,
25
+ AzureADAdministratorsListByServerOptionalParams,
26
+ AzureADAdministratorsListByServerResponse,
27
+ AdministratorName,
28
+ AzureADAdministratorsCreateOrUpdateOptionalParams,
29
+ AzureADAdministratorsCreateOrUpdateResponse,
30
+ AzureADAdministratorsDeleteOptionalParams,
31
+ AzureADAdministratorsGetOptionalParams,
32
+ AzureADAdministratorsGetResponse,
33
+ AzureADAdministratorsListByServerNextResponse
34
+ } from "../models";
35
+
36
+ /// <reference lib="esnext.asynciterable" />
37
+ /** Class containing AzureADAdministrators operations. */
38
+ export class AzureADAdministratorsImpl implements AzureADAdministrators {
39
+ private readonly client: MySQLManagementFlexibleServerClient;
40
+
41
+ /**
42
+ * Initialize a new instance of the class AzureADAdministrators class.
43
+ * @param client Reference to the service client
44
+ */
45
+ constructor(client: MySQLManagementFlexibleServerClient) {
46
+ this.client = client;
47
+ }
48
+
49
+ /**
50
+ * List all the AAD administrators in a given server.
51
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
52
+ * @param serverName The name of the server.
53
+ * @param options The options parameters.
54
+ */
55
+ public listByServer(
56
+ resourceGroupName: string,
57
+ serverName: string,
58
+ options?: AzureADAdministratorsListByServerOptionalParams
59
+ ): PagedAsyncIterableIterator<AzureADAdministrator> {
60
+ const iter = this.listByServerPagingAll(
61
+ resourceGroupName,
62
+ serverName,
63
+ options
64
+ );
65
+ return {
66
+ next() {
67
+ return iter.next();
68
+ },
69
+ [Symbol.asyncIterator]() {
70
+ return this;
71
+ },
72
+ byPage: (settings?: PageSettings) => {
73
+ if (settings?.maxPageSize) {
74
+ throw new Error("maxPageSize is not supported by this operation.");
75
+ }
76
+ return this.listByServerPagingPage(
77
+ resourceGroupName,
78
+ serverName,
79
+ options,
80
+ settings
81
+ );
82
+ }
83
+ };
84
+ }
85
+
86
+ private async *listByServerPagingPage(
87
+ resourceGroupName: string,
88
+ serverName: string,
89
+ options?: AzureADAdministratorsListByServerOptionalParams,
90
+ settings?: PageSettings
91
+ ): AsyncIterableIterator<AzureADAdministrator[]> {
92
+ let result: AzureADAdministratorsListByServerResponse;
93
+ let continuationToken = settings?.continuationToken;
94
+ if (!continuationToken) {
95
+ result = await this._listByServer(resourceGroupName, serverName, options);
96
+ let page = result.value || [];
97
+ continuationToken = result.nextLink;
98
+ setContinuationToken(page, continuationToken);
99
+ yield page;
100
+ }
101
+ while (continuationToken) {
102
+ result = await this._listByServerNext(
103
+ resourceGroupName,
104
+ serverName,
105
+ continuationToken,
106
+ options
107
+ );
108
+ continuationToken = result.nextLink;
109
+ let page = result.value || [];
110
+ setContinuationToken(page, continuationToken);
111
+ yield page;
112
+ }
113
+ }
114
+
115
+ private async *listByServerPagingAll(
116
+ resourceGroupName: string,
117
+ serverName: string,
118
+ options?: AzureADAdministratorsListByServerOptionalParams
119
+ ): AsyncIterableIterator<AzureADAdministrator> {
120
+ for await (const page of this.listByServerPagingPage(
121
+ resourceGroupName,
122
+ serverName,
123
+ options
124
+ )) {
125
+ yield* page;
126
+ }
127
+ }
128
+
129
+ /**
130
+ * Creates or updates an existing Azure Active Directory administrator.
131
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
132
+ * @param serverName The name of the server.
133
+ * @param administratorName The name of the Azure AD Administrator.
134
+ * @param parameters The required parameters for creating or updating an aad administrator.
135
+ * @param options The options parameters.
136
+ */
137
+ async beginCreateOrUpdate(
138
+ resourceGroupName: string,
139
+ serverName: string,
140
+ administratorName: AdministratorName,
141
+ parameters: AzureADAdministrator,
142
+ options?: AzureADAdministratorsCreateOrUpdateOptionalParams
143
+ ): Promise<
144
+ SimplePollerLike<
145
+ OperationState<AzureADAdministratorsCreateOrUpdateResponse>,
146
+ AzureADAdministratorsCreateOrUpdateResponse
147
+ >
148
+ > {
149
+ const directSendOperation = async (
150
+ args: coreClient.OperationArguments,
151
+ spec: coreClient.OperationSpec
152
+ ): Promise<AzureADAdministratorsCreateOrUpdateResponse> => {
153
+ return this.client.sendOperationRequest(args, spec);
154
+ };
155
+ const sendOperationFn = async (
156
+ args: coreClient.OperationArguments,
157
+ spec: coreClient.OperationSpec
158
+ ) => {
159
+ let currentRawResponse:
160
+ | coreClient.FullOperationResponse
161
+ | undefined = undefined;
162
+ const providedCallback = args.options?.onResponse;
163
+ const callback: coreClient.RawResponseCallback = (
164
+ rawResponse: coreClient.FullOperationResponse,
165
+ flatResponse: unknown
166
+ ) => {
167
+ currentRawResponse = rawResponse;
168
+ providedCallback?.(rawResponse, flatResponse);
169
+ };
170
+ const updatedArgs = {
171
+ ...args,
172
+ options: {
173
+ ...args.options,
174
+ onResponse: callback
175
+ }
176
+ };
177
+ const flatResponse = await directSendOperation(updatedArgs, spec);
178
+ return {
179
+ flatResponse,
180
+ rawResponse: {
181
+ statusCode: currentRawResponse!.status,
182
+ body: currentRawResponse!.parsedBody,
183
+ headers: currentRawResponse!.headers.toJSON()
184
+ }
185
+ };
186
+ };
187
+
188
+ const lro = createLroSpec({
189
+ sendOperationFn,
190
+ args: {
191
+ resourceGroupName,
192
+ serverName,
193
+ administratorName,
194
+ parameters,
195
+ options
196
+ },
197
+ spec: createOrUpdateOperationSpec
198
+ });
199
+ const poller = await createHttpPoller<
200
+ AzureADAdministratorsCreateOrUpdateResponse,
201
+ OperationState<AzureADAdministratorsCreateOrUpdateResponse>
202
+ >(lro, {
203
+ restoreFrom: options?.resumeFrom,
204
+ intervalInMs: options?.updateIntervalInMs
205
+ });
206
+ await poller.poll();
207
+ return poller;
208
+ }
209
+
210
+ /**
211
+ * Creates or updates an existing Azure Active Directory administrator.
212
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
213
+ * @param serverName The name of the server.
214
+ * @param administratorName The name of the Azure AD Administrator.
215
+ * @param parameters The required parameters for creating or updating an aad administrator.
216
+ * @param options The options parameters.
217
+ */
218
+ async beginCreateOrUpdateAndWait(
219
+ resourceGroupName: string,
220
+ serverName: string,
221
+ administratorName: AdministratorName,
222
+ parameters: AzureADAdministrator,
223
+ options?: AzureADAdministratorsCreateOrUpdateOptionalParams
224
+ ): Promise<AzureADAdministratorsCreateOrUpdateResponse> {
225
+ const poller = await this.beginCreateOrUpdate(
226
+ resourceGroupName,
227
+ serverName,
228
+ administratorName,
229
+ parameters,
230
+ options
231
+ );
232
+ return poller.pollUntilDone();
233
+ }
234
+
235
+ /**
236
+ * Deletes an Azure AD Administrator.
237
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
238
+ * @param serverName The name of the server.
239
+ * @param administratorName The name of the Azure AD Administrator.
240
+ * @param options The options parameters.
241
+ */
242
+ async beginDelete(
243
+ resourceGroupName: string,
244
+ serverName: string,
245
+ administratorName: AdministratorName,
246
+ options?: AzureADAdministratorsDeleteOptionalParams
247
+ ): Promise<SimplePollerLike<OperationState<void>, void>> {
248
+ const directSendOperation = async (
249
+ args: coreClient.OperationArguments,
250
+ spec: coreClient.OperationSpec
251
+ ): Promise<void> => {
252
+ return this.client.sendOperationRequest(args, spec);
253
+ };
254
+ const sendOperationFn = async (
255
+ args: coreClient.OperationArguments,
256
+ spec: coreClient.OperationSpec
257
+ ) => {
258
+ let currentRawResponse:
259
+ | coreClient.FullOperationResponse
260
+ | undefined = undefined;
261
+ const providedCallback = args.options?.onResponse;
262
+ const callback: coreClient.RawResponseCallback = (
263
+ rawResponse: coreClient.FullOperationResponse,
264
+ flatResponse: unknown
265
+ ) => {
266
+ currentRawResponse = rawResponse;
267
+ providedCallback?.(rawResponse, flatResponse);
268
+ };
269
+ const updatedArgs = {
270
+ ...args,
271
+ options: {
272
+ ...args.options,
273
+ onResponse: callback
274
+ }
275
+ };
276
+ const flatResponse = await directSendOperation(updatedArgs, spec);
277
+ return {
278
+ flatResponse,
279
+ rawResponse: {
280
+ statusCode: currentRawResponse!.status,
281
+ body: currentRawResponse!.parsedBody,
282
+ headers: currentRawResponse!.headers.toJSON()
283
+ }
284
+ };
285
+ };
286
+
287
+ const lro = createLroSpec({
288
+ sendOperationFn,
289
+ args: { resourceGroupName, serverName, administratorName, options },
290
+ spec: deleteOperationSpec
291
+ });
292
+ const poller = await createHttpPoller<void, OperationState<void>>(lro, {
293
+ restoreFrom: options?.resumeFrom,
294
+ intervalInMs: options?.updateIntervalInMs,
295
+ resourceLocationConfig: "location"
296
+ });
297
+ await poller.poll();
298
+ return poller;
299
+ }
300
+
301
+ /**
302
+ * Deletes an Azure AD Administrator.
303
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
304
+ * @param serverName The name of the server.
305
+ * @param administratorName The name of the Azure AD Administrator.
306
+ * @param options The options parameters.
307
+ */
308
+ async beginDeleteAndWait(
309
+ resourceGroupName: string,
310
+ serverName: string,
311
+ administratorName: AdministratorName,
312
+ options?: AzureADAdministratorsDeleteOptionalParams
313
+ ): Promise<void> {
314
+ const poller = await this.beginDelete(
315
+ resourceGroupName,
316
+ serverName,
317
+ administratorName,
318
+ options
319
+ );
320
+ return poller.pollUntilDone();
321
+ }
322
+
323
+ /**
324
+ * Gets information about an azure ad administrator.
325
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
326
+ * @param serverName The name of the server.
327
+ * @param administratorName The name of the Azure AD Administrator.
328
+ * @param options The options parameters.
329
+ */
330
+ get(
331
+ resourceGroupName: string,
332
+ serverName: string,
333
+ administratorName: AdministratorName,
334
+ options?: AzureADAdministratorsGetOptionalParams
335
+ ): Promise<AzureADAdministratorsGetResponse> {
336
+ return this.client.sendOperationRequest(
337
+ { resourceGroupName, serverName, administratorName, options },
338
+ getOperationSpec
339
+ );
340
+ }
341
+
342
+ /**
343
+ * List all the AAD administrators in a given server.
344
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
345
+ * @param serverName The name of the server.
346
+ * @param options The options parameters.
347
+ */
348
+ private _listByServer(
349
+ resourceGroupName: string,
350
+ serverName: string,
351
+ options?: AzureADAdministratorsListByServerOptionalParams
352
+ ): Promise<AzureADAdministratorsListByServerResponse> {
353
+ return this.client.sendOperationRequest(
354
+ { resourceGroupName, serverName, options },
355
+ listByServerOperationSpec
356
+ );
357
+ }
358
+
359
+ /**
360
+ * ListByServerNext
361
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
362
+ * @param serverName The name of the server.
363
+ * @param nextLink The nextLink from the previous successful call to the ListByServer method.
364
+ * @param options The options parameters.
365
+ */
366
+ private _listByServerNext(
367
+ resourceGroupName: string,
368
+ serverName: string,
369
+ nextLink: string,
370
+ options?: AzureADAdministratorsListByServerNextOptionalParams
371
+ ): Promise<AzureADAdministratorsListByServerNextResponse> {
372
+ return this.client.sendOperationRequest(
373
+ { resourceGroupName, serverName, nextLink, options },
374
+ listByServerNextOperationSpec
375
+ );
376
+ }
377
+ }
378
+ // Operation Specifications
379
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
380
+
381
+ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
382
+ path:
383
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName}",
384
+ httpMethod: "PUT",
385
+ responses: {
386
+ 200: {
387
+ bodyMapper: Mappers.AzureADAdministrator
388
+ },
389
+ 201: {
390
+ bodyMapper: Mappers.AzureADAdministrator
391
+ },
392
+ 202: {
393
+ bodyMapper: Mappers.AzureADAdministrator
394
+ },
395
+ 204: {
396
+ bodyMapper: Mappers.AzureADAdministrator
397
+ },
398
+ default: {
399
+ bodyMapper: Mappers.CloudError
400
+ }
401
+ },
402
+ requestBody: Parameters.parameters,
403
+ queryParameters: [Parameters.apiVersion],
404
+ urlParameters: [
405
+ Parameters.$host,
406
+ Parameters.subscriptionId,
407
+ Parameters.resourceGroupName,
408
+ Parameters.serverName,
409
+ Parameters.administratorName
410
+ ],
411
+ headerParameters: [Parameters.contentType, Parameters.accept],
412
+ mediaType: "json",
413
+ serializer
414
+ };
415
+ const deleteOperationSpec: coreClient.OperationSpec = {
416
+ path:
417
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName}",
418
+ httpMethod: "DELETE",
419
+ responses: {
420
+ 200: {},
421
+ 201: {},
422
+ 202: {},
423
+ 204: {},
424
+ default: {
425
+ bodyMapper: Mappers.CloudError
426
+ }
427
+ },
428
+ queryParameters: [Parameters.apiVersion],
429
+ urlParameters: [
430
+ Parameters.$host,
431
+ Parameters.subscriptionId,
432
+ Parameters.resourceGroupName,
433
+ Parameters.serverName,
434
+ Parameters.administratorName
435
+ ],
436
+ headerParameters: [Parameters.accept],
437
+ serializer
438
+ };
439
+ const getOperationSpec: coreClient.OperationSpec = {
440
+ path:
441
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName}",
442
+ httpMethod: "GET",
443
+ responses: {
444
+ 200: {
445
+ bodyMapper: Mappers.AzureADAdministrator
446
+ },
447
+ default: {
448
+ bodyMapper: Mappers.CloudError
449
+ }
450
+ },
451
+ queryParameters: [Parameters.apiVersion],
452
+ urlParameters: [
453
+ Parameters.$host,
454
+ Parameters.subscriptionId,
455
+ Parameters.resourceGroupName,
456
+ Parameters.serverName,
457
+ Parameters.administratorName
458
+ ],
459
+ headerParameters: [Parameters.accept],
460
+ serializer
461
+ };
462
+ const listByServerOperationSpec: coreClient.OperationSpec = {
463
+ path:
464
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators",
465
+ httpMethod: "GET",
466
+ responses: {
467
+ 200: {
468
+ bodyMapper: Mappers.AdministratorListResult
469
+ },
470
+ default: {
471
+ bodyMapper: Mappers.CloudError
472
+ }
473
+ },
474
+ queryParameters: [Parameters.apiVersion],
475
+ urlParameters: [
476
+ Parameters.$host,
477
+ Parameters.subscriptionId,
478
+ Parameters.resourceGroupName,
479
+ Parameters.serverName
480
+ ],
481
+ headerParameters: [Parameters.accept],
482
+ serializer
483
+ };
484
+ const listByServerNextOperationSpec: coreClient.OperationSpec = {
485
+ path: "{nextLink}",
486
+ httpMethod: "GET",
487
+ responses: {
488
+ 200: {
489
+ bodyMapper: Mappers.AdministratorListResult
490
+ },
491
+ default: {
492
+ bodyMapper: Mappers.CloudError
493
+ }
494
+ },
495
+ urlParameters: [
496
+ Parameters.$host,
497
+ Parameters.subscriptionId,
498
+ Parameters.resourceGroupName,
499
+ Parameters.serverName,
500
+ Parameters.nextLink
501
+ ],
502
+ headerParameters: [Parameters.accept],
503
+ serializer
504
+ };
@@ -0,0 +1,210 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ *
5
+ * Code generated by Microsoft (R) AutoRest Code Generator.
6
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
+ */
8
+
9
+ import { BackupAndExport } from "../operationsInterfaces";
10
+ import * as coreClient from "@azure/core-client";
11
+ import * as Mappers from "../models/mappers";
12
+ import * as Parameters from "../models/parameters";
13
+ import { MySQLManagementFlexibleServerClient } from "../mySQLManagementFlexibleServerClient";
14
+ import {
15
+ SimplePollerLike,
16
+ OperationState,
17
+ createHttpPoller
18
+ } from "@azure/core-lro";
19
+ import { createLroSpec } from "../lroImpl";
20
+ import {
21
+ BackupAndExportRequest,
22
+ BackupAndExportCreateOptionalParams,
23
+ BackupAndExportCreateResponse,
24
+ BackupAndExportValidateBackupOptionalParams,
25
+ BackupAndExportValidateBackupResponse
26
+ } from "../models";
27
+
28
+ /** Class containing BackupAndExport operations. */
29
+ export class BackupAndExportImpl implements BackupAndExport {
30
+ private readonly client: MySQLManagementFlexibleServerClient;
31
+
32
+ /**
33
+ * Initialize a new instance of the class BackupAndExport class.
34
+ * @param client Reference to the service client
35
+ */
36
+ constructor(client: MySQLManagementFlexibleServerClient) {
37
+ this.client = client;
38
+ }
39
+
40
+ /**
41
+ * Exports the backup of the given server by creating a backup if not existing.
42
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
43
+ * @param serverName The name of the server.
44
+ * @param parameters The required parameters for creating and exporting backup of the given server.
45
+ * @param options The options parameters.
46
+ */
47
+ async beginCreate(
48
+ resourceGroupName: string,
49
+ serverName: string,
50
+ parameters: BackupAndExportRequest,
51
+ options?: BackupAndExportCreateOptionalParams
52
+ ): Promise<
53
+ SimplePollerLike<
54
+ OperationState<BackupAndExportCreateResponse>,
55
+ BackupAndExportCreateResponse
56
+ >
57
+ > {
58
+ const directSendOperation = async (
59
+ args: coreClient.OperationArguments,
60
+ spec: coreClient.OperationSpec
61
+ ): Promise<BackupAndExportCreateResponse> => {
62
+ return this.client.sendOperationRequest(args, spec);
63
+ };
64
+ const sendOperationFn = async (
65
+ args: coreClient.OperationArguments,
66
+ spec: coreClient.OperationSpec
67
+ ) => {
68
+ let currentRawResponse:
69
+ | coreClient.FullOperationResponse
70
+ | undefined = undefined;
71
+ const providedCallback = args.options?.onResponse;
72
+ const callback: coreClient.RawResponseCallback = (
73
+ rawResponse: coreClient.FullOperationResponse,
74
+ flatResponse: unknown
75
+ ) => {
76
+ currentRawResponse = rawResponse;
77
+ providedCallback?.(rawResponse, flatResponse);
78
+ };
79
+ const updatedArgs = {
80
+ ...args,
81
+ options: {
82
+ ...args.options,
83
+ onResponse: callback
84
+ }
85
+ };
86
+ const flatResponse = await directSendOperation(updatedArgs, spec);
87
+ return {
88
+ flatResponse,
89
+ rawResponse: {
90
+ statusCode: currentRawResponse!.status,
91
+ body: currentRawResponse!.parsedBody,
92
+ headers: currentRawResponse!.headers.toJSON()
93
+ }
94
+ };
95
+ };
96
+
97
+ const lro = createLroSpec({
98
+ sendOperationFn,
99
+ args: { resourceGroupName, serverName, parameters, options },
100
+ spec: createOperationSpec
101
+ });
102
+ const poller = await createHttpPoller<
103
+ BackupAndExportCreateResponse,
104
+ OperationState<BackupAndExportCreateResponse>
105
+ >(lro, {
106
+ restoreFrom: options?.resumeFrom,
107
+ intervalInMs: options?.updateIntervalInMs,
108
+ resourceLocationConfig: "location"
109
+ });
110
+ await poller.poll();
111
+ return poller;
112
+ }
113
+
114
+ /**
115
+ * Exports the backup of the given server by creating a backup if not existing.
116
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
117
+ * @param serverName The name of the server.
118
+ * @param parameters The required parameters for creating and exporting backup of the given server.
119
+ * @param options The options parameters.
120
+ */
121
+ async beginCreateAndWait(
122
+ resourceGroupName: string,
123
+ serverName: string,
124
+ parameters: BackupAndExportRequest,
125
+ options?: BackupAndExportCreateOptionalParams
126
+ ): Promise<BackupAndExportCreateResponse> {
127
+ const poller = await this.beginCreate(
128
+ resourceGroupName,
129
+ serverName,
130
+ parameters,
131
+ options
132
+ );
133
+ return poller.pollUntilDone();
134
+ }
135
+
136
+ /**
137
+ * Validates if backup can be performed for given server.
138
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
139
+ * @param serverName The name of the server.
140
+ * @param options The options parameters.
141
+ */
142
+ validateBackup(
143
+ resourceGroupName: string,
144
+ serverName: string,
145
+ options?: BackupAndExportValidateBackupOptionalParams
146
+ ): Promise<BackupAndExportValidateBackupResponse> {
147
+ return this.client.sendOperationRequest(
148
+ { resourceGroupName, serverName, options },
149
+ validateBackupOperationSpec
150
+ );
151
+ }
152
+ }
153
+ // Operation Specifications
154
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
155
+
156
+ const createOperationSpec: coreClient.OperationSpec = {
157
+ path:
158
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/backupAndExport",
159
+ httpMethod: "POST",
160
+ responses: {
161
+ 200: {
162
+ bodyMapper: Mappers.BackupAndExportResponse
163
+ },
164
+ 201: {
165
+ bodyMapper: Mappers.BackupAndExportResponse
166
+ },
167
+ 202: {
168
+ bodyMapper: Mappers.BackupAndExportResponse
169
+ },
170
+ 204: {
171
+ bodyMapper: Mappers.BackupAndExportResponse
172
+ },
173
+ default: {
174
+ bodyMapper: Mappers.CloudError
175
+ }
176
+ },
177
+ requestBody: Parameters.parameters1,
178
+ queryParameters: [Parameters.apiVersion1],
179
+ urlParameters: [
180
+ Parameters.$host,
181
+ Parameters.subscriptionId,
182
+ Parameters.resourceGroupName,
183
+ Parameters.serverName
184
+ ],
185
+ headerParameters: [Parameters.contentType, Parameters.accept],
186
+ mediaType: "json",
187
+ serializer
188
+ };
189
+ const validateBackupOperationSpec: coreClient.OperationSpec = {
190
+ path:
191
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/validateBackup",
192
+ httpMethod: "POST",
193
+ responses: {
194
+ 200: {
195
+ bodyMapper: Mappers.ValidateBackupResponse
196
+ },
197
+ default: {
198
+ bodyMapper: Mappers.CloudError
199
+ }
200
+ },
201
+ queryParameters: [Parameters.apiVersion1],
202
+ urlParameters: [
203
+ Parameters.$host,
204
+ Parameters.subscriptionId,
205
+ Parameters.resourceGroupName,
206
+ Parameters.serverName
207
+ ],
208
+ headerParameters: [Parameters.accept],
209
+ serializer
210
+ };