@azure/arm-recoveryservicesbackup 11.0.1-alpha.20231113.1 → 12.0.0

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 (185) hide show
  1. package/CHANGELOG.md +55 -9
  2. package/dist/index.js +974 -237
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.min.js +1 -1
  5. package/dist/index.min.js.map +1 -1
  6. package/dist-esm/samples-dev/backupEnginesGetSample.js +1 -1
  7. package/dist-esm/samples-dev/backupEnginesListSample.js +1 -1
  8. package/dist-esm/samples-dev/backupJobsListSample.js +3 -3
  9. package/dist-esm/samples-dev/backupOperationResultsGetSample.js +1 -1
  10. package/dist-esm/samples-dev/backupOperationStatusesGetSample.js +1 -1
  11. package/dist-esm/samples-dev/backupPoliciesListSample.js +3 -3
  12. package/dist-esm/samples-dev/backupProtectableItemsListSample.js +1 -1
  13. package/dist-esm/samples-dev/backupProtectedItemsListSample.js +1 -1
  14. package/dist-esm/samples-dev/backupProtectionContainersListSample.js +1 -1
  15. package/dist-esm/samples-dev/backupProtectionIntentListSample.js +1 -1
  16. package/dist-esm/samples-dev/backupResourceEncryptionConfigsGetSample.js +1 -1
  17. package/dist-esm/samples-dev/backupResourceEncryptionConfigsUpdateSample.js +1 -1
  18. package/dist-esm/samples-dev/backupResourceStorageConfigsNonCrrGetSample.js +1 -1
  19. package/dist-esm/samples-dev/backupResourceStorageConfigsNonCrrPatchSample.js +1 -1
  20. package/dist-esm/samples-dev/backupResourceStorageConfigsNonCrrUpdateSample.js +1 -1
  21. package/dist-esm/samples-dev/backupResourceVaultConfigsGetSample.js +1 -1
  22. package/dist-esm/samples-dev/backupResourceVaultConfigsPutSample.js +1 -1
  23. package/dist-esm/samples-dev/backupResourceVaultConfigsUpdateSample.js +1 -1
  24. package/dist-esm/samples-dev/backupStatusGetSample.js +1 -1
  25. package/dist-esm/samples-dev/backupUsageSummariesListSample.js +2 -2
  26. package/dist-esm/samples-dev/backupWorkloadItemsListSample.js +1 -1
  27. package/dist-esm/samples-dev/backupsTriggerSample.js +1 -1
  28. package/dist-esm/samples-dev/bmsPrepareDataMoveOperationResultGetSample.js +1 -1
  29. package/dist-esm/samples-dev/bmsPrepareDataMoveSample.js +1 -1
  30. package/dist-esm/samples-dev/bmsTriggerDataMoveSample.js +1 -1
  31. package/dist-esm/samples-dev/deletedProtectionContainersListSample.js +1 -1
  32. package/dist-esm/samples-dev/exportJobsOperationResultsGetSample.js +1 -1
  33. package/dist-esm/samples-dev/featureSupportValidateSample.js +1 -1
  34. package/dist-esm/samples-dev/fetchTieringCostPostSample.d.ts +2 -0
  35. package/dist-esm/samples-dev/fetchTieringCostPostSample.d.ts.map +1 -0
  36. package/dist-esm/samples-dev/fetchTieringCostPostSample.js +131 -0
  37. package/dist-esm/samples-dev/fetchTieringCostPostSample.js.map +1 -0
  38. package/dist-esm/samples-dev/getOperationStatusSample.js +1 -1
  39. package/dist-esm/samples-dev/getTieringCostOperationResultGetSample.d.ts +2 -0
  40. package/dist-esm/samples-dev/getTieringCostOperationResultGetSample.d.ts.map +1 -0
  41. package/dist-esm/samples-dev/getTieringCostOperationResultGetSample.js +40 -0
  42. package/dist-esm/samples-dev/getTieringCostOperationResultGetSample.js.map +1 -0
  43. package/dist-esm/samples-dev/itemLevelRecoveryConnectionsProvisionSample.js +1 -1
  44. package/dist-esm/samples-dev/itemLevelRecoveryConnectionsRevokeSample.js +1 -1
  45. package/dist-esm/samples-dev/jobCancellationsTriggerSample.js +1 -1
  46. package/dist-esm/samples-dev/jobDetailsGetSample.js +1 -1
  47. package/dist-esm/samples-dev/jobOperationResultsGetSample.js +1 -1
  48. package/dist-esm/samples-dev/jobsExportSample.js +1 -1
  49. package/dist-esm/samples-dev/moveRecoveryPointSample.js +1 -1
  50. package/dist-esm/samples-dev/operationValidateSample.js +40 -34
  51. package/dist-esm/samples-dev/operationValidateSample.js.map +1 -1
  52. package/dist-esm/samples-dev/operationsListSample.js +1 -1
  53. package/dist-esm/samples-dev/privateEndpointConnectionDeleteSample.js +1 -1
  54. package/dist-esm/samples-dev/privateEndpointConnectionGetSample.js +1 -1
  55. package/dist-esm/samples-dev/privateEndpointConnectionPutSample.js +1 -1
  56. package/dist-esm/samples-dev/privateEndpointGetOperationStatusSample.js +1 -1
  57. package/dist-esm/samples-dev/protectableContainersListSample.js +1 -1
  58. package/dist-esm/samples-dev/protectedItemOperationResultsGetSample.js +1 -1
  59. package/dist-esm/samples-dev/protectedItemOperationStatusesGetSample.js +1 -1
  60. package/dist-esm/samples-dev/protectedItemsCreateOrUpdateSample.js +2 -2
  61. package/dist-esm/samples-dev/protectedItemsDeleteSample.js +1 -1
  62. package/dist-esm/samples-dev/protectedItemsGetSample.js +2 -2
  63. package/dist-esm/samples-dev/protectionContainerOperationResultsGetSample.js +1 -1
  64. package/dist-esm/samples-dev/protectionContainerRefreshOperationResultsGetSample.js +1 -1
  65. package/dist-esm/samples-dev/protectionContainersGetSample.js +1 -1
  66. package/dist-esm/samples-dev/protectionContainersInquireSample.js +1 -1
  67. package/dist-esm/samples-dev/protectionContainersRefreshSample.js +1 -1
  68. package/dist-esm/samples-dev/protectionContainersRegisterSample.js +2 -2
  69. package/dist-esm/samples-dev/protectionContainersRegisterSample.js.map +1 -1
  70. package/dist-esm/samples-dev/protectionContainersUnregisterSample.js +1 -1
  71. package/dist-esm/samples-dev/protectionIntentCreateOrUpdateSample.js +1 -1
  72. package/dist-esm/samples-dev/protectionIntentDeleteSample.js +1 -1
  73. package/dist-esm/samples-dev/protectionIntentGetSample.js +1 -1
  74. package/dist-esm/samples-dev/protectionIntentValidateSample.js +1 -1
  75. package/dist-esm/samples-dev/protectionPoliciesCreateOrUpdateSample.js +77 -7
  76. package/dist-esm/samples-dev/protectionPoliciesCreateOrUpdateSample.js.map +1 -1
  77. package/dist-esm/samples-dev/protectionPoliciesDeleteSample.js +1 -1
  78. package/dist-esm/samples-dev/protectionPoliciesGetSample.js +2 -2
  79. package/dist-esm/samples-dev/protectionPolicyOperationResultsGetSample.js +1 -1
  80. package/dist-esm/samples-dev/protectionPolicyOperationStatusesGetSample.js +1 -1
  81. package/dist-esm/samples-dev/recoveryPointsGetSample.js +1 -1
  82. package/dist-esm/samples-dev/recoveryPointsListSample.js +1 -1
  83. package/dist-esm/samples-dev/recoveryPointsRecommendedForMoveListSample.js +1 -1
  84. package/dist-esm/samples-dev/resourceGuardProxiesGetSample.js +1 -1
  85. package/dist-esm/samples-dev/resourceGuardProxyDeleteSample.js +1 -1
  86. package/dist-esm/samples-dev/resourceGuardProxyGetSample.js +1 -1
  87. package/dist-esm/samples-dev/resourceGuardProxyPutSample.js +1 -1
  88. package/dist-esm/samples-dev/resourceGuardProxyUnlockDeleteSample.js +1 -1
  89. package/dist-esm/samples-dev/restoresTriggerSample.js +6 -6
  90. package/dist-esm/samples-dev/securityPiNsGetSample.js +1 -1
  91. package/dist-esm/samples-dev/tieringCostOperationStatusGetSample.d.ts +2 -0
  92. package/dist-esm/samples-dev/tieringCostOperationStatusGetSample.d.ts.map +1 -0
  93. package/dist-esm/samples-dev/tieringCostOperationStatusGetSample.js +40 -0
  94. package/dist-esm/samples-dev/tieringCostOperationStatusGetSample.js.map +1 -0
  95. package/dist-esm/samples-dev/validateOperationResultsGetSample.js +1 -1
  96. package/dist-esm/samples-dev/validateOperationStatusesGetSample.js +1 -1
  97. package/dist-esm/samples-dev/validateOperationTriggerSample.js +19 -16
  98. package/dist-esm/samples-dev/validateOperationTriggerSample.js.map +1 -1
  99. package/dist-esm/src/models/index.d.ts +203 -19
  100. package/dist-esm/src/models/index.d.ts.map +1 -1
  101. package/dist-esm/src/models/index.js +14 -8
  102. package/dist-esm/src/models/index.js.map +1 -1
  103. package/dist-esm/src/models/mappers.d.ts +23 -0
  104. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  105. package/dist-esm/src/models/mappers.js +412 -0
  106. package/dist-esm/src/models/mappers.js.map +1 -1
  107. package/dist-esm/src/models/parameters.d.ts +2 -0
  108. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  109. package/dist-esm/src/models/parameters.js +22 -3
  110. package/dist-esm/src/models/parameters.js.map +1 -1
  111. package/dist-esm/src/operations/fetchTieringCost.d.ts +36 -0
  112. package/dist-esm/src/operations/fetchTieringCost.d.ts.map +1 -0
  113. package/dist-esm/src/operations/fetchTieringCost.js +121 -0
  114. package/dist-esm/src/operations/fetchTieringCost.js.map +1 -0
  115. package/dist-esm/src/operations/getTieringCostOperationResult.d.ts +22 -0
  116. package/dist-esm/src/operations/getTieringCostOperationResult.d.ts.map +1 -0
  117. package/dist-esm/src/operations/getTieringCostOperationResult.js +56 -0
  118. package/dist-esm/src/operations/getTieringCostOperationResult.js.map +1 -0
  119. package/dist-esm/src/operations/index.d.ts +3 -0
  120. package/dist-esm/src/operations/index.d.ts.map +1 -1
  121. package/dist-esm/src/operations/index.js +3 -0
  122. package/dist-esm/src/operations/index.js.map +1 -1
  123. package/dist-esm/src/operations/operation.d.ts +2 -2
  124. package/dist-esm/src/operations/operation.d.ts.map +1 -1
  125. package/dist-esm/src/operations/operation.js.map +1 -1
  126. package/dist-esm/src/operations/protectionContainers.d.ts +16 -1
  127. package/dist-esm/src/operations/protectionContainers.d.ts.map +1 -1
  128. package/dist-esm/src/operations/protectionContainers.js +74 -10
  129. package/dist-esm/src/operations/protectionContainers.js.map +1 -1
  130. package/dist-esm/src/operations/tieringCostOperationStatus.d.ts +22 -0
  131. package/dist-esm/src/operations/tieringCostOperationStatus.d.ts.map +1 -0
  132. package/dist-esm/src/operations/tieringCostOperationStatus.js +56 -0
  133. package/dist-esm/src/operations/tieringCostOperationStatus.js.map +1 -0
  134. package/dist-esm/src/operations/validateOperation.d.ts +3 -3
  135. package/dist-esm/src/operations/validateOperation.d.ts.map +1 -1
  136. package/dist-esm/src/operations/validateOperation.js.map +1 -1
  137. package/dist-esm/src/operationsInterfaces/fetchTieringCost.d.ts +28 -0
  138. package/dist-esm/src/operationsInterfaces/fetchTieringCost.d.ts.map +1 -0
  139. package/dist-esm/src/operationsInterfaces/fetchTieringCost.js +9 -0
  140. package/dist-esm/src/operationsInterfaces/fetchTieringCost.js.map +1 -0
  141. package/dist-esm/src/operationsInterfaces/getTieringCostOperationResult.d.ts +14 -0
  142. package/dist-esm/src/operationsInterfaces/getTieringCostOperationResult.d.ts.map +1 -0
  143. package/dist-esm/src/operationsInterfaces/getTieringCostOperationResult.js +9 -0
  144. package/dist-esm/src/operationsInterfaces/getTieringCostOperationResult.js.map +1 -0
  145. package/dist-esm/src/operationsInterfaces/index.d.ts +3 -0
  146. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  147. package/dist-esm/src/operationsInterfaces/index.js +3 -0
  148. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  149. package/dist-esm/src/operationsInterfaces/operation.d.ts +2 -2
  150. package/dist-esm/src/operationsInterfaces/operation.d.ts.map +1 -1
  151. package/dist-esm/src/operationsInterfaces/protectionContainers.d.ts +16 -1
  152. package/dist-esm/src/operationsInterfaces/protectionContainers.d.ts.map +1 -1
  153. package/dist-esm/src/operationsInterfaces/tieringCostOperationStatus.d.ts +14 -0
  154. package/dist-esm/src/operationsInterfaces/tieringCostOperationStatus.d.ts.map +1 -0
  155. package/dist-esm/src/operationsInterfaces/tieringCostOperationStatus.js +9 -0
  156. package/dist-esm/src/operationsInterfaces/tieringCostOperationStatus.js.map +1 -0
  157. package/dist-esm/src/operationsInterfaces/validateOperation.d.ts +3 -3
  158. package/dist-esm/src/operationsInterfaces/validateOperation.d.ts.map +1 -1
  159. package/dist-esm/src/recoveryServicesBackupClient.d.ts +4 -1
  160. package/dist-esm/src/recoveryServicesBackupClient.d.ts.map +1 -1
  161. package/dist-esm/src/recoveryServicesBackupClient.js +6 -3
  162. package/dist-esm/src/recoveryServicesBackupClient.js.map +1 -1
  163. package/dist-esm/test/recoveryservicesbackup_operations_test.spec.js +1 -1
  164. package/dist-esm/test/recoveryservicesbackup_operations_test.spec.js.map +1 -1
  165. package/package.json +6 -4
  166. package/review/arm-recoveryservicesbackup.api.md +178 -5
  167. package/src/models/index.ts +245 -22
  168. package/src/models/mappers.ts +461 -0
  169. package/src/models/parameters.ts +26 -4
  170. package/src/operations/fetchTieringCost.ts +174 -0
  171. package/src/operations/getTieringCostOperationResult.ts +77 -0
  172. package/src/operations/index.ts +3 -0
  173. package/src/operations/operation.ts +2 -2
  174. package/src/operations/protectionContainers.ts +106 -6
  175. package/src/operations/tieringCostOperationStatus.ts +77 -0
  176. package/src/operations/validateOperation.ts +3 -3
  177. package/src/operationsInterfaces/fetchTieringCost.ts +55 -0
  178. package/src/operationsInterfaces/getTieringCostOperationResult.ts +30 -0
  179. package/src/operationsInterfaces/index.ts +3 -0
  180. package/src/operationsInterfaces/operation.ts +2 -2
  181. package/src/operationsInterfaces/protectionContainers.ts +28 -1
  182. package/src/operationsInterfaces/tieringCostOperationStatus.ts +30 -0
  183. package/src/operationsInterfaces/validateOperation.ts +3 -3
  184. package/src/recoveryServicesBackupClient.ts +18 -4
  185. package/types/arm-recoveryservicesbackup.d.ts +283 -7
@@ -0,0 +1,174 @@
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 { FetchTieringCost } 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 { RecoveryServicesBackupClient } from "../recoveryServicesBackupClient";
14
+ import {
15
+ SimplePollerLike,
16
+ OperationState,
17
+ createHttpPoller
18
+ } from "@azure/core-lro";
19
+ import { createLroSpec } from "../lroImpl";
20
+ import {
21
+ FetchTieringCostInfoRequestUnion,
22
+ FetchTieringCostPostOptionalParams,
23
+ FetchTieringCostPostResponse
24
+ } from "../models";
25
+
26
+ /** Class containing FetchTieringCost operations. */
27
+ export class FetchTieringCostImpl implements FetchTieringCost {
28
+ private readonly client: RecoveryServicesBackupClient;
29
+
30
+ /**
31
+ * Initialize a new instance of the class FetchTieringCost class.
32
+ * @param client Reference to the service client
33
+ */
34
+ constructor(client: RecoveryServicesBackupClient) {
35
+ this.client = client;
36
+ }
37
+
38
+ /**
39
+ * Provides the details of the tiering related sizes and cost.
40
+ * Status of the operation can be fetched using GetTieringCostOperationStatus API and result using
41
+ * GetTieringCostOperationResult API.
42
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
43
+ * present.
44
+ * @param vaultName The name of the recovery services vault.
45
+ * @param parameters Fetch Tiering Cost Request
46
+ * @param options The options parameters.
47
+ */
48
+ async beginPost(
49
+ resourceGroupName: string,
50
+ vaultName: string,
51
+ parameters: FetchTieringCostInfoRequestUnion,
52
+ options?: FetchTieringCostPostOptionalParams
53
+ ): Promise<
54
+ SimplePollerLike<
55
+ OperationState<FetchTieringCostPostResponse>,
56
+ FetchTieringCostPostResponse
57
+ >
58
+ > {
59
+ const directSendOperation = async (
60
+ args: coreClient.OperationArguments,
61
+ spec: coreClient.OperationSpec
62
+ ): Promise<FetchTieringCostPostResponse> => {
63
+ return this.client.sendOperationRequest(args, spec);
64
+ };
65
+ const sendOperationFn = async (
66
+ args: coreClient.OperationArguments,
67
+ spec: coreClient.OperationSpec
68
+ ) => {
69
+ let currentRawResponse:
70
+ | coreClient.FullOperationResponse
71
+ | undefined = undefined;
72
+ const providedCallback = args.options?.onResponse;
73
+ const callback: coreClient.RawResponseCallback = (
74
+ rawResponse: coreClient.FullOperationResponse,
75
+ flatResponse: unknown
76
+ ) => {
77
+ currentRawResponse = rawResponse;
78
+ providedCallback?.(rawResponse, flatResponse);
79
+ };
80
+ const updatedArgs = {
81
+ ...args,
82
+ options: {
83
+ ...args.options,
84
+ onResponse: callback
85
+ }
86
+ };
87
+ const flatResponse = await directSendOperation(updatedArgs, spec);
88
+ return {
89
+ flatResponse,
90
+ rawResponse: {
91
+ statusCode: currentRawResponse!.status,
92
+ body: currentRawResponse!.parsedBody,
93
+ headers: currentRawResponse!.headers.toJSON()
94
+ }
95
+ };
96
+ };
97
+
98
+ const lro = createLroSpec({
99
+ sendOperationFn,
100
+ args: { resourceGroupName, vaultName, parameters, options },
101
+ spec: postOperationSpec
102
+ });
103
+ const poller = await createHttpPoller<
104
+ FetchTieringCostPostResponse,
105
+ OperationState<FetchTieringCostPostResponse>
106
+ >(lro, {
107
+ restoreFrom: options?.resumeFrom,
108
+ intervalInMs: options?.updateIntervalInMs
109
+ });
110
+ await poller.poll();
111
+ return poller;
112
+ }
113
+
114
+ /**
115
+ * Provides the details of the tiering related sizes and cost.
116
+ * Status of the operation can be fetched using GetTieringCostOperationStatus API and result using
117
+ * GetTieringCostOperationResult API.
118
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
119
+ * present.
120
+ * @param vaultName The name of the recovery services vault.
121
+ * @param parameters Fetch Tiering Cost Request
122
+ * @param options The options parameters.
123
+ */
124
+ async beginPostAndWait(
125
+ resourceGroupName: string,
126
+ vaultName: string,
127
+ parameters: FetchTieringCostInfoRequestUnion,
128
+ options?: FetchTieringCostPostOptionalParams
129
+ ): Promise<FetchTieringCostPostResponse> {
130
+ const poller = await this.beginPost(
131
+ resourceGroupName,
132
+ vaultName,
133
+ parameters,
134
+ options
135
+ );
136
+ return poller.pollUntilDone();
137
+ }
138
+ }
139
+ // Operation Specifications
140
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
141
+
142
+ const postOperationSpec: coreClient.OperationSpec = {
143
+ path:
144
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/fetchTieringCost",
145
+ httpMethod: "POST",
146
+ responses: {
147
+ 200: {
148
+ bodyMapper: Mappers.TieringCostInfo
149
+ },
150
+ 201: {
151
+ bodyMapper: Mappers.TieringCostInfo
152
+ },
153
+ 202: {
154
+ bodyMapper: Mappers.TieringCostInfo
155
+ },
156
+ 204: {
157
+ bodyMapper: Mappers.TieringCostInfo
158
+ },
159
+ default: {
160
+ bodyMapper: Mappers.CloudError
161
+ }
162
+ },
163
+ requestBody: Parameters.parameters22,
164
+ queryParameters: [Parameters.apiVersion],
165
+ urlParameters: [
166
+ Parameters.$host,
167
+ Parameters.resourceGroupName,
168
+ Parameters.subscriptionId,
169
+ Parameters.vaultName1
170
+ ],
171
+ headerParameters: [Parameters.accept, Parameters.contentType],
172
+ mediaType: "json",
173
+ serializer
174
+ };
@@ -0,0 +1,77 @@
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 { GetTieringCostOperationResult } 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 { RecoveryServicesBackupClient } from "../recoveryServicesBackupClient";
14
+ import {
15
+ GetTieringCostOperationResultGetOptionalParams,
16
+ GetTieringCostOperationResultGetResponse
17
+ } from "../models";
18
+
19
+ /** Class containing GetTieringCostOperationResult operations. */
20
+ export class GetTieringCostOperationResultImpl
21
+ implements GetTieringCostOperationResult {
22
+ private readonly client: RecoveryServicesBackupClient;
23
+
24
+ /**
25
+ * Initialize a new instance of the class GetTieringCostOperationResult class.
26
+ * @param client Reference to the service client
27
+ */
28
+ constructor(client: RecoveryServicesBackupClient) {
29
+ this.client = client;
30
+ }
31
+
32
+ /**
33
+ * Gets the result of async operation for tiering cost
34
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
35
+ * present.
36
+ * @param vaultName The name of the recovery services vault.
37
+ * @param operationId
38
+ * @param options The options parameters.
39
+ */
40
+ get(
41
+ resourceGroupName: string,
42
+ vaultName: string,
43
+ operationId: string,
44
+ options?: GetTieringCostOperationResultGetOptionalParams
45
+ ): Promise<GetTieringCostOperationResultGetResponse> {
46
+ return this.client.sendOperationRequest(
47
+ { resourceGroupName, vaultName, operationId, options },
48
+ getOperationSpec
49
+ );
50
+ }
51
+ }
52
+ // Operation Specifications
53
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
54
+
55
+ const getOperationSpec: coreClient.OperationSpec = {
56
+ path:
57
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationResults/{operationId}",
58
+ httpMethod: "GET",
59
+ responses: {
60
+ 200: {
61
+ bodyMapper: Mappers.TieringCostInfo
62
+ },
63
+ default: {
64
+ bodyMapper: Mappers.CloudError
65
+ }
66
+ },
67
+ queryParameters: [Parameters.apiVersion],
68
+ urlParameters: [
69
+ Parameters.$host,
70
+ Parameters.resourceGroupName,
71
+ Parameters.subscriptionId,
72
+ Parameters.operationId,
73
+ Parameters.vaultName1
74
+ ],
75
+ headerParameters: [Parameters.accept],
76
+ serializer
77
+ };
@@ -55,3 +55,6 @@ export * from "./securityPINs";
55
55
  export * from "./recoveryPointsRecommendedForMove";
56
56
  export * from "./resourceGuardProxies";
57
57
  export * from "./resourceGuardProxy";
58
+ export * from "./fetchTieringCost";
59
+ export * from "./getTieringCostOperationResult";
60
+ export * from "./tieringCostOperationStatus";
@@ -12,7 +12,7 @@ import * as Mappers from "../models/mappers";
12
12
  import * as Parameters from "../models/parameters";
13
13
  import { RecoveryServicesBackupClient } from "../recoveryServicesBackupClient";
14
14
  import {
15
- ValidateOperationRequestUnion,
15
+ ValidateOperationRequestResource,
16
16
  OperationValidateOptionalParams,
17
17
  OperationValidateResponse
18
18
  } from "../models";
@@ -40,7 +40,7 @@ export class OperationImpl implements Operation {
40
40
  validate(
41
41
  vaultName: string,
42
42
  resourceGroupName: string,
43
- parameters: ValidateOperationRequestUnion,
43
+ parameters: ValidateOperationRequestResource,
44
44
  options?: OperationValidateOptionalParams
45
45
  ): Promise<OperationValidateResponse> {
46
46
  return this.client.sendOperationRequest(
@@ -11,6 +11,12 @@ import * as coreClient from "@azure/core-client";
11
11
  import * as Mappers from "../models/mappers";
12
12
  import * as Parameters from "../models/parameters";
13
13
  import { RecoveryServicesBackupClient } from "../recoveryServicesBackupClient";
14
+ import {
15
+ SimplePollerLike,
16
+ OperationState,
17
+ createHttpPoller
18
+ } from "@azure/core-lro";
19
+ import { createLroSpec } from "../lroImpl";
14
20
  import {
15
21
  ProtectionContainersGetOptionalParams,
16
22
  ProtectionContainersGetResponse,
@@ -69,16 +75,61 @@ export class ProtectionContainersImpl implements ProtectionContainers {
69
75
  * @param parameters Request body for operation
70
76
  * @param options The options parameters.
71
77
  */
72
- register(
78
+ async beginRegister(
73
79
  vaultName: string,
74
80
  resourceGroupName: string,
75
81
  fabricName: string,
76
82
  containerName: string,
77
83
  parameters: ProtectionContainerResource,
78
84
  options?: ProtectionContainersRegisterOptionalParams
79
- ): Promise<ProtectionContainersRegisterResponse> {
80
- return this.client.sendOperationRequest(
81
- {
85
+ ): Promise<
86
+ SimplePollerLike<
87
+ OperationState<ProtectionContainersRegisterResponse>,
88
+ ProtectionContainersRegisterResponse
89
+ >
90
+ > {
91
+ const directSendOperation = async (
92
+ args: coreClient.OperationArguments,
93
+ spec: coreClient.OperationSpec
94
+ ): Promise<ProtectionContainersRegisterResponse> => {
95
+ return this.client.sendOperationRequest(args, spec);
96
+ };
97
+ const sendOperationFn = async (
98
+ args: coreClient.OperationArguments,
99
+ spec: coreClient.OperationSpec
100
+ ) => {
101
+ let currentRawResponse:
102
+ | coreClient.FullOperationResponse
103
+ | undefined = undefined;
104
+ const providedCallback = args.options?.onResponse;
105
+ const callback: coreClient.RawResponseCallback = (
106
+ rawResponse: coreClient.FullOperationResponse,
107
+ flatResponse: unknown
108
+ ) => {
109
+ currentRawResponse = rawResponse;
110
+ providedCallback?.(rawResponse, flatResponse);
111
+ };
112
+ const updatedArgs = {
113
+ ...args,
114
+ options: {
115
+ ...args.options,
116
+ onResponse: callback
117
+ }
118
+ };
119
+ const flatResponse = await directSendOperation(updatedArgs, spec);
120
+ return {
121
+ flatResponse,
122
+ rawResponse: {
123
+ statusCode: currentRawResponse!.status,
124
+ body: currentRawResponse!.parsedBody,
125
+ headers: currentRawResponse!.headers.toJSON()
126
+ }
127
+ };
128
+ };
129
+
130
+ const lro = createLroSpec({
131
+ sendOperationFn,
132
+ args: {
82
133
  vaultName,
83
134
  resourceGroupName,
84
135
  fabricName,
@@ -86,8 +137,49 @@ export class ProtectionContainersImpl implements ProtectionContainers {
86
137
  parameters,
87
138
  options
88
139
  },
89
- registerOperationSpec
140
+ spec: registerOperationSpec
141
+ });
142
+ const poller = await createHttpPoller<
143
+ ProtectionContainersRegisterResponse,
144
+ OperationState<ProtectionContainersRegisterResponse>
145
+ >(lro, {
146
+ restoreFrom: options?.resumeFrom,
147
+ intervalInMs: options?.updateIntervalInMs
148
+ });
149
+ await poller.poll();
150
+ return poller;
151
+ }
152
+
153
+ /**
154
+ * Registers the container with Recovery Services vault.
155
+ * This is an asynchronous operation. To track the operation status, use location header to call get
156
+ * latest status of
157
+ * the operation.
158
+ * @param vaultName The name of the recovery services vault.
159
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
160
+ * present.
161
+ * @param fabricName Fabric name associated with the container.
162
+ * @param containerName Name of the container to be registered.
163
+ * @param parameters Request body for operation
164
+ * @param options The options parameters.
165
+ */
166
+ async beginRegisterAndWait(
167
+ vaultName: string,
168
+ resourceGroupName: string,
169
+ fabricName: string,
170
+ containerName: string,
171
+ parameters: ProtectionContainerResource,
172
+ options?: ProtectionContainersRegisterOptionalParams
173
+ ): Promise<ProtectionContainersRegisterResponse> {
174
+ const poller = await this.beginRegister(
175
+ vaultName,
176
+ resourceGroupName,
177
+ fabricName,
178
+ containerName,
179
+ parameters,
180
+ options
90
181
  );
182
+ return poller.pollUntilDone();
91
183
  }
92
184
 
93
185
  /**
@@ -196,7 +288,15 @@ const registerOperationSpec: coreClient.OperationSpec = {
196
288
  200: {
197
289
  bodyMapper: Mappers.ProtectionContainerResource
198
290
  },
199
- 202: {},
291
+ 201: {
292
+ bodyMapper: Mappers.ProtectionContainerResource
293
+ },
294
+ 202: {
295
+ bodyMapper: Mappers.ProtectionContainerResource
296
+ },
297
+ 204: {
298
+ bodyMapper: Mappers.ProtectionContainerResource
299
+ },
200
300
  default: {
201
301
  bodyMapper: Mappers.CloudError
202
302
  }
@@ -0,0 +1,77 @@
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 { TieringCostOperationStatus } 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 { RecoveryServicesBackupClient } from "../recoveryServicesBackupClient";
14
+ import {
15
+ TieringCostOperationStatusGetOptionalParams,
16
+ TieringCostOperationStatusGetResponse
17
+ } from "../models";
18
+
19
+ /** Class containing TieringCostOperationStatus operations. */
20
+ export class TieringCostOperationStatusImpl
21
+ implements TieringCostOperationStatus {
22
+ private readonly client: RecoveryServicesBackupClient;
23
+
24
+ /**
25
+ * Initialize a new instance of the class TieringCostOperationStatus class.
26
+ * @param client Reference to the service client
27
+ */
28
+ constructor(client: RecoveryServicesBackupClient) {
29
+ this.client = client;
30
+ }
31
+
32
+ /**
33
+ * Gets the status of async operations of tiering cost
34
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
35
+ * present.
36
+ * @param vaultName The name of the recovery services vault.
37
+ * @param operationId
38
+ * @param options The options parameters.
39
+ */
40
+ get(
41
+ resourceGroupName: string,
42
+ vaultName: string,
43
+ operationId: string,
44
+ options?: TieringCostOperationStatusGetOptionalParams
45
+ ): Promise<TieringCostOperationStatusGetResponse> {
46
+ return this.client.sendOperationRequest(
47
+ { resourceGroupName, vaultName, operationId, options },
48
+ getOperationSpec
49
+ );
50
+ }
51
+ }
52
+ // Operation Specifications
53
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
54
+
55
+ const getOperationSpec: coreClient.OperationSpec = {
56
+ path:
57
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationsStatus/{operationId}",
58
+ httpMethod: "GET",
59
+ responses: {
60
+ 200: {
61
+ bodyMapper: Mappers.OperationStatus
62
+ },
63
+ default: {
64
+ bodyMapper: Mappers.CloudError
65
+ }
66
+ },
67
+ queryParameters: [Parameters.apiVersion],
68
+ urlParameters: [
69
+ Parameters.$host,
70
+ Parameters.resourceGroupName,
71
+ Parameters.subscriptionId,
72
+ Parameters.operationId,
73
+ Parameters.vaultName1
74
+ ],
75
+ headerParameters: [Parameters.accept],
76
+ serializer
77
+ };
@@ -18,7 +18,7 @@ import {
18
18
  } from "@azure/core-lro";
19
19
  import { createLroSpec } from "../lroImpl";
20
20
  import {
21
- ValidateOperationRequestUnion,
21
+ ValidateOperationRequestResource,
22
22
  ValidateOperationTriggerOptionalParams
23
23
  } from "../models";
24
24
 
@@ -46,7 +46,7 @@ export class ValidateOperationImpl implements ValidateOperation {
46
46
  async beginTrigger(
47
47
  vaultName: string,
48
48
  resourceGroupName: string,
49
- parameters: ValidateOperationRequestUnion,
49
+ parameters: ValidateOperationRequestResource,
50
50
  options?: ValidateOperationTriggerOptionalParams
51
51
  ): Promise<SimplePollerLike<OperationState<void>, void>> {
52
52
  const directSendOperation = async (
@@ -113,7 +113,7 @@ export class ValidateOperationImpl implements ValidateOperation {
113
113
  async beginTriggerAndWait(
114
114
  vaultName: string,
115
115
  resourceGroupName: string,
116
- parameters: ValidateOperationRequestUnion,
116
+ parameters: ValidateOperationRequestResource,
117
117
  options?: ValidateOperationTriggerOptionalParams
118
118
  ): Promise<void> {
119
119
  const poller = await this.beginTrigger(
@@ -0,0 +1,55 @@
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 { SimplePollerLike, OperationState } from "@azure/core-lro";
10
+ import {
11
+ FetchTieringCostInfoRequestUnion,
12
+ FetchTieringCostPostOptionalParams,
13
+ FetchTieringCostPostResponse
14
+ } from "../models";
15
+
16
+ /** Interface representing a FetchTieringCost. */
17
+ export interface FetchTieringCost {
18
+ /**
19
+ * Provides the details of the tiering related sizes and cost.
20
+ * Status of the operation can be fetched using GetTieringCostOperationStatus API and result using
21
+ * GetTieringCostOperationResult API.
22
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
23
+ * present.
24
+ * @param vaultName The name of the recovery services vault.
25
+ * @param parameters Fetch Tiering Cost Request
26
+ * @param options The options parameters.
27
+ */
28
+ beginPost(
29
+ resourceGroupName: string,
30
+ vaultName: string,
31
+ parameters: FetchTieringCostInfoRequestUnion,
32
+ options?: FetchTieringCostPostOptionalParams
33
+ ): Promise<
34
+ SimplePollerLike<
35
+ OperationState<FetchTieringCostPostResponse>,
36
+ FetchTieringCostPostResponse
37
+ >
38
+ >;
39
+ /**
40
+ * Provides the details of the tiering related sizes and cost.
41
+ * Status of the operation can be fetched using GetTieringCostOperationStatus API and result using
42
+ * GetTieringCostOperationResult API.
43
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
44
+ * present.
45
+ * @param vaultName The name of the recovery services vault.
46
+ * @param parameters Fetch Tiering Cost Request
47
+ * @param options The options parameters.
48
+ */
49
+ beginPostAndWait(
50
+ resourceGroupName: string,
51
+ vaultName: string,
52
+ parameters: FetchTieringCostInfoRequestUnion,
53
+ options?: FetchTieringCostPostOptionalParams
54
+ ): Promise<FetchTieringCostPostResponse>;
55
+ }
@@ -0,0 +1,30 @@
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 {
10
+ GetTieringCostOperationResultGetOptionalParams,
11
+ GetTieringCostOperationResultGetResponse
12
+ } from "../models";
13
+
14
+ /** Interface representing a GetTieringCostOperationResult. */
15
+ export interface GetTieringCostOperationResult {
16
+ /**
17
+ * Gets the result of async operation for tiering cost
18
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
19
+ * present.
20
+ * @param vaultName The name of the recovery services vault.
21
+ * @param operationId
22
+ * @param options The options parameters.
23
+ */
24
+ get(
25
+ resourceGroupName: string,
26
+ vaultName: string,
27
+ operationId: string,
28
+ options?: GetTieringCostOperationResultGetOptionalParams
29
+ ): Promise<GetTieringCostOperationResultGetResponse>;
30
+ }
@@ -55,3 +55,6 @@ export * from "./securityPINs";
55
55
  export * from "./recoveryPointsRecommendedForMove";
56
56
  export * from "./resourceGuardProxies";
57
57
  export * from "./resourceGuardProxy";
58
+ export * from "./fetchTieringCost";
59
+ export * from "./getTieringCostOperationResult";
60
+ export * from "./tieringCostOperationStatus";
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import {
10
- ValidateOperationRequestUnion,
10
+ ValidateOperationRequestResource,
11
11
  OperationValidateOptionalParams,
12
12
  OperationValidateResponse
13
13
  } from "../models";
@@ -25,7 +25,7 @@ export interface Operation {
25
25
  validate(
26
26
  vaultName: string,
27
27
  resourceGroupName: string,
28
- parameters: ValidateOperationRequestUnion,
28
+ parameters: ValidateOperationRequestResource,
29
29
  options?: OperationValidateOptionalParams
30
30
  ): Promise<OperationValidateResponse>;
31
31
  }
@@ -6,6 +6,7 @@
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
8
 
9
+ import { SimplePollerLike, OperationState } from "@azure/core-lro";
9
10
  import {
10
11
  ProtectionContainersGetOptionalParams,
11
12
  ProtectionContainersGetResponse,
@@ -48,7 +49,33 @@ export interface ProtectionContainers {
48
49
  * @param parameters Request body for operation
49
50
  * @param options The options parameters.
50
51
  */
51
- register(
52
+ beginRegister(
53
+ vaultName: string,
54
+ resourceGroupName: string,
55
+ fabricName: string,
56
+ containerName: string,
57
+ parameters: ProtectionContainerResource,
58
+ options?: ProtectionContainersRegisterOptionalParams
59
+ ): Promise<
60
+ SimplePollerLike<
61
+ OperationState<ProtectionContainersRegisterResponse>,
62
+ ProtectionContainersRegisterResponse
63
+ >
64
+ >;
65
+ /**
66
+ * Registers the container with Recovery Services vault.
67
+ * This is an asynchronous operation. To track the operation status, use location header to call get
68
+ * latest status of
69
+ * the operation.
70
+ * @param vaultName The name of the recovery services vault.
71
+ * @param resourceGroupName The name of the resource group where the recovery services vault is
72
+ * present.
73
+ * @param fabricName Fabric name associated with the container.
74
+ * @param containerName Name of the container to be registered.
75
+ * @param parameters Request body for operation
76
+ * @param options The options parameters.
77
+ */
78
+ beginRegisterAndWait(
52
79
  vaultName: string,
53
80
  resourceGroupName: string,
54
81
  fabricName: string,