@azure/arm-databox 3.0.0 → 5.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 (142) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +21 -0
  3. package/README.md +72 -73
  4. package/dist/index.js +5592 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.min.js +1 -0
  7. package/dist/index.min.js.map +1 -0
  8. package/dist-esm/src/dataBoxManagementClient.d.ts +29 -0
  9. package/dist-esm/src/dataBoxManagementClient.d.ts.map +1 -0
  10. package/dist-esm/src/dataBoxManagementClient.js +89 -0
  11. package/dist-esm/src/dataBoxManagementClient.js.map +1 -0
  12. package/dist-esm/src/index.d.ts +5 -0
  13. package/dist-esm/src/index.d.ts.map +1 -0
  14. package/dist-esm/src/index.js +12 -0
  15. package/dist-esm/src/index.js.map +1 -0
  16. package/dist-esm/src/lroImpl.d.ts +16 -0
  17. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  18. package/dist-esm/src/lroImpl.js +29 -0
  19. package/dist-esm/src/lroImpl.js.map +1 -0
  20. package/dist-esm/src/models/index.d.ts +2157 -0
  21. package/dist-esm/src/models/index.d.ts.map +1 -0
  22. package/dist-esm/src/models/index.js +168 -0
  23. package/dist-esm/src/models/index.js.map +1 -0
  24. package/dist-esm/src/models/mappers.d.ts +163 -0
  25. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  26. package/dist-esm/src/models/mappers.js +3911 -0
  27. package/dist-esm/src/models/mappers.js.map +1 -0
  28. package/dist-esm/src/models/parameters.d.ts +24 -0
  29. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  30. package/dist-esm/src/models/parameters.js +176 -0
  31. package/dist-esm/src/models/parameters.js.map +1 -0
  32. package/{esm → dist-esm/src}/operations/index.d.ts +0 -0
  33. package/dist-esm/src/operations/index.d.ts.map +1 -0
  34. package/dist-esm/src/operations/index.js +11 -0
  35. package/dist-esm/src/operations/index.js.map +1 -0
  36. package/dist-esm/src/operations/jobs.d.ts +161 -0
  37. package/dist-esm/src/operations/jobs.d.ts.map +1 -0
  38. package/dist-esm/src/operations/jobs.js +687 -0
  39. package/dist-esm/src/operations/jobs.js.map +1 -0
  40. package/dist-esm/src/operations/operations.d.ts +32 -0
  41. package/dist-esm/src/operations/operations.d.ts.map +1 -0
  42. package/dist-esm/src/operations/operations.js +120 -0
  43. package/dist-esm/src/operations/operations.js.map +1 -0
  44. package/dist-esm/src/operations/service.d.ts +83 -0
  45. package/dist-esm/src/operations/service.d.ts.map +1 -0
  46. package/dist-esm/src/operations/service.js +307 -0
  47. package/dist-esm/src/operations/service.js.map +1 -0
  48. package/dist-esm/src/operationsInterfaces/index.d.ts +4 -0
  49. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  50. package/dist-esm/src/operationsInterfaces/index.js +11 -0
  51. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  52. package/dist-esm/src/operationsInterfaces/jobs.d.ts +115 -0
  53. package/dist-esm/src/operationsInterfaces/jobs.d.ts.map +1 -0
  54. package/dist-esm/src/operationsInterfaces/jobs.js +9 -0
  55. package/dist-esm/src/operationsInterfaces/jobs.js.map +1 -0
  56. package/dist-esm/src/operationsInterfaces/operations.d.ts +11 -0
  57. package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -0
  58. package/dist-esm/src/operationsInterfaces/operations.js +9 -0
  59. package/dist-esm/src/operationsInterfaces/operations.js.map +1 -0
  60. package/dist-esm/src/operationsInterfaces/service.d.ts +54 -0
  61. package/dist-esm/src/operationsInterfaces/service.d.ts.map +1 -0
  62. package/dist-esm/src/operationsInterfaces/service.js +9 -0
  63. package/dist-esm/src/operationsInterfaces/service.js.map +1 -0
  64. package/dist-esm/test/sampleTest.d.ts +2 -0
  65. package/dist-esm/test/sampleTest.d.ts.map +1 -0
  66. package/dist-esm/test/sampleTest.js +40 -0
  67. package/dist-esm/test/sampleTest.js.map +1 -0
  68. package/package.json +65 -31
  69. package/review/arm-databox.api.md +1376 -0
  70. package/rollup.config.js +181 -30
  71. package/src/dataBoxManagementClient.ts +113 -29
  72. package/src/index.ts +12 -0
  73. package/src/lroImpl.ts +34 -0
  74. package/src/models/index.ts +1924 -1354
  75. package/src/models/mappers.ts +3160 -1086
  76. package/src/models/parameters.ts +144 -54
  77. package/src/operations/index.ts +3 -5
  78. package/src/operations/jobs.ts +702 -480
  79. package/src/operations/operations.ts +89 -75
  80. package/src/operations/service.ts +342 -127
  81. package/src/operationsInterfaces/index.ts +11 -0
  82. package/src/operationsInterfaces/jobs.ts +205 -0
  83. package/src/operationsInterfaces/operations.ts +22 -0
  84. package/src/operationsInterfaces/service.ts +107 -0
  85. package/tsconfig.json +3 -3
  86. package/types/arm-databox.d.ts +2558 -0
  87. package/types/tsdoc-metadata.json +11 -0
  88. package/dist/arm-databox.js +0 -3090
  89. package/dist/arm-databox.js.map +0 -1
  90. package/dist/arm-databox.min.js +0 -1
  91. package/dist/arm-databox.min.js.map +0 -1
  92. package/esm/dataBoxManagementClient.d.ts +0 -20
  93. package/esm/dataBoxManagementClient.d.ts.map +0 -1
  94. package/esm/dataBoxManagementClient.js +0 -35
  95. package/esm/dataBoxManagementClient.js.map +0 -1
  96. package/esm/dataBoxManagementClientContext.d.ts +0 -16
  97. package/esm/dataBoxManagementClientContext.d.ts.map +0 -1
  98. package/esm/dataBoxManagementClientContext.js +0 -57
  99. package/esm/dataBoxManagementClientContext.js.map +0 -1
  100. package/esm/models/index.d.ts +0 -1754
  101. package/esm/models/index.d.ts.map +0 -1
  102. package/esm/models/index.js +0 -8
  103. package/esm/models/index.js.map +0 -1
  104. package/esm/models/jobsMappers.d.ts +0 -2
  105. package/esm/models/jobsMappers.d.ts.map +0 -1
  106. package/esm/models/jobsMappers.js +0 -9
  107. package/esm/models/jobsMappers.js.map +0 -1
  108. package/esm/models/mappers.d.ts +0 -75
  109. package/esm/models/mappers.d.ts.map +0 -1
  110. package/esm/models/mappers.js +0 -2020
  111. package/esm/models/mappers.js.map +0 -1
  112. package/esm/models/operationsMappers.d.ts +0 -2
  113. package/esm/models/operationsMappers.d.ts.map +0 -1
  114. package/esm/models/operationsMappers.js +0 -9
  115. package/esm/models/operationsMappers.js.map +0 -1
  116. package/esm/models/parameters.d.ts +0 -12
  117. package/esm/models/parameters.d.ts.map +0 -1
  118. package/esm/models/parameters.js +0 -122
  119. package/esm/models/parameters.js.map +0 -1
  120. package/esm/models/serviceMappers.d.ts +0 -2
  121. package/esm/models/serviceMappers.d.ts.map +0 -1
  122. package/esm/models/serviceMappers.js +0 -9
  123. package/esm/models/serviceMappers.js.map +0 -1
  124. package/esm/operations/index.d.ts.map +0 -1
  125. package/esm/operations/index.js +0 -13
  126. package/esm/operations/index.js.map +0 -1
  127. package/esm/operations/jobs.d.ts +0 -245
  128. package/esm/operations/jobs.d.ts.map +0 -1
  129. package/esm/operations/jobs.js +0 -444
  130. package/esm/operations/jobs.js.map +0 -1
  131. package/esm/operations/operations.d.ts +0 -46
  132. package/esm/operations/operations.d.ts.map +0 -1
  133. package/esm/operations/operations.js +0 -77
  134. package/esm/operations/operations.js.map +0 -1
  135. package/esm/operations/service.d.ts +0 -79
  136. package/esm/operations/service.d.ts.map +0 -1
  137. package/esm/operations/service.js +0 -126
  138. package/esm/operations/service.js.map +0 -1
  139. package/src/dataBoxManagementClientContext.ts +0 -69
  140. package/src/models/jobsMappers.ts +0 -55
  141. package/src/models/operationsMappers.ts +0 -15
  142. package/src/models/serviceMappers.ts +0 -22
@@ -0,0 +1,2558 @@
1
+ import * as coreAuth from '@azure/core-auth';
2
+ import * as coreClient from '@azure/core-client';
3
+ import { PagedAsyncIterableIterator } from '@azure/core-paging';
4
+ import { PollerLike } from '@azure/core-lro';
5
+ import { PollOperationState } from '@azure/core-lro';
6
+
7
+ /** Defines values for AccessProtocol. */
8
+ export declare type AccessProtocol = "SMB" | "NFS";
9
+
10
+ /** Credential details of the account. */
11
+ export declare interface AccountCredentialDetails {
12
+ /**
13
+ * Name of the account.
14
+ * NOTE: This property will not be serialized. It can only be populated by the server.
15
+ */
16
+ readonly accountName?: string;
17
+ /**
18
+ * Type of the account.
19
+ * NOTE: This property will not be serialized. It can only be populated by the server.
20
+ */
21
+ readonly dataAccountType?: DataAccountType;
22
+ /**
23
+ * Connection string of the account endpoint to use the account as a storage endpoint on the device.
24
+ * NOTE: This property will not be serialized. It can only be populated by the server.
25
+ */
26
+ readonly accountConnectionString?: string;
27
+ /**
28
+ * Per share level unencrypted access credentials.
29
+ * NOTE: This property will not be serialized. It can only be populated by the server.
30
+ */
31
+ readonly shareCredentialDetails?: ShareCredentialDetails[];
32
+ }
33
+
34
+ /** Additional error info. */
35
+ export declare interface AdditionalErrorInfo {
36
+ /** Additional error type. */
37
+ type?: string;
38
+ /** Additional error info. */
39
+ info?: Record<string, unknown>;
40
+ }
41
+
42
+ /** Defines values for AddressType. */
43
+ export declare type AddressType = "None" | "Residential" | "Commercial";
44
+
45
+ /** Output of the address validation api. */
46
+ export declare interface AddressValidationOutput {
47
+ /** Identifies the type of validation response. */
48
+ validationType?: ValidationInputDiscriminator;
49
+ /**
50
+ * Error code and message of validation response.
51
+ * NOTE: This property will not be serialized. It can only be populated by the server.
52
+ */
53
+ readonly error?: CloudError;
54
+ /**
55
+ * The address validation status.
56
+ * NOTE: This property will not be serialized. It can only be populated by the server.
57
+ */
58
+ readonly validationStatus?: AddressValidationStatus;
59
+ /**
60
+ * List of alternate addresses.
61
+ * NOTE: This property will not be serialized. It can only be populated by the server.
62
+ */
63
+ readonly alternateAddresses?: ShippingAddress[];
64
+ }
65
+
66
+ /** The address validation output. */
67
+ export declare type AddressValidationProperties = ValidationInputResponse & {
68
+ /** Polymorphic discriminator, which specifies the different types this object can be */
69
+ validationType: "ValidateAddress";
70
+ /**
71
+ * The address validation status.
72
+ * NOTE: This property will not be serialized. It can only be populated by the server.
73
+ */
74
+ readonly validationStatus?: AddressValidationStatus;
75
+ /**
76
+ * List of alternate addresses.
77
+ * NOTE: This property will not be serialized. It can only be populated by the server.
78
+ */
79
+ readonly alternateAddresses?: ShippingAddress[];
80
+ };
81
+
82
+ /** Defines values for AddressValidationStatus. */
83
+ export declare type AddressValidationStatus = "Valid" | "Invalid" | "Ambiguous";
84
+
85
+ export declare interface ApiError {
86
+ error: ErrorDetail;
87
+ }
88
+
89
+ /** The Network Adapter configuration of a DataBox. */
90
+ export declare interface ApplianceNetworkConfiguration {
91
+ /**
92
+ * Name of the network.
93
+ * NOTE: This property will not be serialized. It can only be populated by the server.
94
+ */
95
+ readonly name?: string;
96
+ /**
97
+ * Mac Address.
98
+ * NOTE: This property will not be serialized. It can only be populated by the server.
99
+ */
100
+ readonly macAddress?: string;
101
+ }
102
+
103
+ /** Base class for all objects under resource. */
104
+ export declare interface ArmBaseObject {
105
+ /**
106
+ * Name of the object.
107
+ * NOTE: This property will not be serialized. It can only be populated by the server.
108
+ */
109
+ readonly name?: string;
110
+ /**
111
+ * Id of the object.
112
+ * NOTE: This property will not be serialized. It can only be populated by the server.
113
+ */
114
+ readonly id?: string;
115
+ /**
116
+ * Type of the object.
117
+ * NOTE: This property will not be serialized. It can only be populated by the server.
118
+ */
119
+ readonly type?: string;
120
+ }
121
+
122
+ /** The filters for showing the available skus. */
123
+ export declare interface AvailableSkuRequest {
124
+ /** Type of the transfer. */
125
+ transferType: TransferType;
126
+ /** ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements */
127
+ country: string;
128
+ /** Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 */
129
+ location: string;
130
+ /** Sku Names to filter for available skus */
131
+ skuNames?: SkuName[];
132
+ }
133
+
134
+ /** The available skus operation response. */
135
+ export declare interface AvailableSkusResult {
136
+ /**
137
+ * List of available skus.
138
+ * NOTE: This property will not be serialized. It can only be populated by the server.
139
+ */
140
+ readonly value?: SkuInformation[];
141
+ /** Link for the next set of skus. */
142
+ nextLink?: string;
143
+ }
144
+
145
+ /** Filter details to transfer Azure files */
146
+ export declare interface AzureFileFilterDetails {
147
+ /** Prefix list of the Azure files to be transferred. */
148
+ filePrefixList?: string[];
149
+ /** List of full path of the files to be transferred. */
150
+ filePathList?: string[];
151
+ /** List of file shares to be transferred. */
152
+ fileShareList?: string[];
153
+ }
154
+
155
+ /** Filter details to transfer Azure Blobs */
156
+ export declare interface BlobFilterDetails {
157
+ /** Prefix list of the Azure blobs to be transferred. */
158
+ blobPrefixList?: string[];
159
+ /** List of full path of the blobs to be transferred. */
160
+ blobPathList?: string[];
161
+ /** List of blob containers to be transferred. */
162
+ containerList?: string[];
163
+ }
164
+
165
+ /** Reason for cancellation. */
166
+ export declare interface CancellationReason {
167
+ /** Reason for cancellation. */
168
+ reason: string;
169
+ }
170
+
171
+ /** Defines values for ClassDiscriminator. */
172
+ export declare type ClassDiscriminator = "DataBox" | "DataBoxDisk" | "DataBoxHeavy" | "DataBoxCustomerDisk";
173
+
174
+ /** Cloud error. */
175
+ export declare interface CloudError {
176
+ /** Cloud error code. */
177
+ code?: string;
178
+ /** Cloud error message. */
179
+ message?: string;
180
+ /** Cloud error target. */
181
+ target?: string;
182
+ /**
183
+ * Cloud error details.
184
+ * NOTE: This property will not be serialized. It can only be populated by the server.
185
+ */
186
+ readonly details?: CloudError[];
187
+ /**
188
+ * Cloud error additional info.
189
+ * NOTE: This property will not be serialized. It can only be populated by the server.
190
+ */
191
+ readonly additionalInfo?: AdditionalErrorInfo[];
192
+ }
193
+
194
+ /** Contact Details. */
195
+ export declare interface ContactDetails {
196
+ /** Contact name of the person. */
197
+ contactName: string;
198
+ /** Phone number of the contact person. */
199
+ phone: string;
200
+ /** Phone extension number of the contact person. */
201
+ phoneExtension?: string;
202
+ /** Mobile number of the contact person. */
203
+ mobile?: string;
204
+ /** List of Email-ids to be notified about job progress. */
205
+ emailList: string[];
206
+ /** Notification preference for a job stage. */
207
+ notificationPreference?: NotificationPreference[];
208
+ }
209
+
210
+ /** Details for log generated during copy. */
211
+ export declare interface CopyLogDetails {
212
+ /** Polymorphic discriminator, which specifies the different types this object can be */
213
+ copyLogDetailsType: "DataBox" | "DataBoxCustomerDisk" | "DataBoxDisk" | "DataBoxHeavy";
214
+ }
215
+
216
+ export declare type CopyLogDetailsUnion = CopyLogDetails | DataBoxAccountCopyLogDetails | DataBoxCustomerDiskCopyLogDetails | DataBoxDiskCopyLogDetails | DataBoxHeavyAccountCopyLogDetails;
217
+
218
+ /** Copy progress. */
219
+ export declare interface CopyProgress {
220
+ /**
221
+ * Name of the storage account. This will be empty for data account types other than storage account.
222
+ * NOTE: This property will not be serialized. It can only be populated by the server.
223
+ */
224
+ readonly storageAccountName?: string;
225
+ /**
226
+ * Transfer type of data
227
+ * NOTE: This property will not be serialized. It can only be populated by the server.
228
+ */
229
+ readonly transferType?: TransferType;
230
+ /**
231
+ * Data Account Type.
232
+ * NOTE: This property will not be serialized. It can only be populated by the server.
233
+ */
234
+ readonly dataAccountType?: DataAccountType;
235
+ /**
236
+ * Id of the account where the data needs to be uploaded.
237
+ * NOTE: This property will not be serialized. It can only be populated by the server.
238
+ */
239
+ readonly accountId?: string;
240
+ /**
241
+ * To indicate bytes transferred.
242
+ * NOTE: This property will not be serialized. It can only be populated by the server.
243
+ */
244
+ readonly bytesProcessed?: number;
245
+ /**
246
+ * Total amount of data to be processed by the job.
247
+ * NOTE: This property will not be serialized. It can only be populated by the server.
248
+ */
249
+ readonly totalBytesToProcess?: number;
250
+ /**
251
+ * Number of files processed
252
+ * NOTE: This property will not be serialized. It can only be populated by the server.
253
+ */
254
+ readonly filesProcessed?: number;
255
+ /**
256
+ * Total files to process
257
+ * NOTE: This property will not be serialized. It can only be populated by the server.
258
+ */
259
+ readonly totalFilesToProcess?: number;
260
+ /**
261
+ * Number of files not adhering to azure naming conventions which were processed by automatic renaming
262
+ * NOTE: This property will not be serialized. It can only be populated by the server.
263
+ */
264
+ readonly invalidFilesProcessed?: number;
265
+ /**
266
+ * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming
267
+ * NOTE: This property will not be serialized. It can only be populated by the server.
268
+ */
269
+ readonly invalidFileBytesUploaded?: number;
270
+ /**
271
+ * Number of folders not adhering to azure naming conventions which were processed by automatic renaming
272
+ * NOTE: This property will not be serialized. It can only be populated by the server.
273
+ */
274
+ readonly renamedContainerCount?: number;
275
+ /**
276
+ * Number of files which could not be copied
277
+ * NOTE: This property will not be serialized. It can only be populated by the server.
278
+ */
279
+ readonly filesErroredOut?: number;
280
+ /**
281
+ * To indicate directories errored out in the job.
282
+ * NOTE: This property will not be serialized. It can only be populated by the server.
283
+ */
284
+ readonly directoriesErroredOut?: number;
285
+ /**
286
+ * To indicate directories renamed
287
+ * NOTE: This property will not be serialized. It can only be populated by the server.
288
+ */
289
+ readonly invalidDirectoriesProcessed?: number;
290
+ /**
291
+ * To indicate if enumeration of data is in progress.
292
+ * Until this is true, the TotalBytesToProcess may not be valid.
293
+ * NOTE: This property will not be serialized. It can only be populated by the server.
294
+ */
295
+ readonly isEnumerationInProgress?: boolean;
296
+ }
297
+
298
+ /**
299
+ * Defines values for CopyStatus. \
300
+ * {@link KnownCopyStatus} can be used interchangeably with CopyStatus,
301
+ * this enum contains the known values that the service supports.
302
+ * ### Known values supported by the service
303
+ * **NotStarted**: Data copy hasn't started yet. \
304
+ * **InProgress**: Data copy is in progress. \
305
+ * **Completed**: Data copy completed. \
306
+ * **CompletedWithErrors**: Data copy completed with errors. \
307
+ * **Failed**: Data copy failed. No data was copied. \
308
+ * **NotReturned**: No copy triggered as device was not returned. \
309
+ * **HardwareError**: The Device has hit hardware issues. \
310
+ * **DeviceFormatted**: Data copy failed. The Device was formatted by user. \
311
+ * **DeviceMetadataModified**: Data copy failed. Device metadata was modified by user. \
312
+ * **StorageAccountNotAccessible**: Data copy failed. Storage Account was not accessible during copy. \
313
+ * **UnsupportedData**: Data copy failed. The Device data content is not supported. \
314
+ * **DriveNotReceived**: No copy triggered as device was not received. \
315
+ * **UnsupportedDrive**: No copy triggered as device type is not supported. \
316
+ * **OtherServiceError**: Copy failed due to service error. \
317
+ * **OtherUserError**: Copy failed due to user error. \
318
+ * **DriveNotDetected**: Copy failed due to disk detection error. \
319
+ * **DriveCorrupted**: Copy failed due to corrupted drive. \
320
+ * **MetadataFilesModifiedOrRemoved**: Copy failed due to modified or removed metadata files.
321
+ */
322
+ export declare type CopyStatus = string;
323
+
324
+ /** It does all pre-job creation validations. */
325
+ export declare type CreateJobValidations = ValidationRequest & {
326
+ /** Polymorphic discriminator, which specifies the different types this object can be */
327
+ validationCategory: "JobCreationValidation";
328
+ };
329
+
330
+ /** Request to validate create order limit for current subscription. */
331
+ export declare type CreateOrderLimitForSubscriptionValidationRequest = ValidationInputRequest & {
332
+ /** Polymorphic discriminator, which specifies the different types this object can be */
333
+ validationType: "ValidateCreateOrderLimit";
334
+ /** Device type to be used for the job. */
335
+ deviceType: SkuName;
336
+ };
337
+
338
+ /** Properties of create order limit for subscription validation response. */
339
+ export declare type CreateOrderLimitForSubscriptionValidationResponseProperties = ValidationInputResponse & {
340
+ /** Polymorphic discriminator, which specifies the different types this object can be */
341
+ validationType: "ValidateCreateOrderLimit";
342
+ /**
343
+ * Create order limit validation status.
344
+ * NOTE: This property will not be serialized. It can only be populated by the server.
345
+ */
346
+ readonly status?: ValidationStatus;
347
+ };
348
+
349
+ /** The secrets related to customer disk job. */
350
+ export declare type CustomerDiskJobSecrets = JobSecrets & {
351
+ /** Polymorphic discriminator, which specifies the different types this object can be */
352
+ jobSecretsType: "DataBoxCustomerDisk";
353
+ /**
354
+ * Contains the list of secrets object for that device.
355
+ * NOTE: This property will not be serialized. It can only be populated by the server.
356
+ */
357
+ readonly diskSecrets?: DiskSecret[];
358
+ /**
359
+ * Carrier Account Number of the customer
360
+ * NOTE: This property will not be serialized. It can only be populated by the server.
361
+ */
362
+ readonly carrierAccountNumber?: string;
363
+ };
364
+
365
+ /** Defines values for CustomerResolutionCode. */
366
+ export declare type CustomerResolutionCode = "None" | "MoveToCleanUpDevice" | "Resume";
367
+
368
+ /** Account details of the data to be transferred */
369
+ export declare interface DataAccountDetails {
370
+ /** Polymorphic discriminator, which specifies the different types this object can be */
371
+ dataAccountType: "ManagedDisk" | "StorageAccount";
372
+ /** Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ */
373
+ sharePassword?: string;
374
+ }
375
+
376
+ export declare type DataAccountDetailsUnion = DataAccountDetails | ManagedDiskDetails | StorageAccountDetails;
377
+
378
+ /** Defines values for DataAccountType. */
379
+ export declare type DataAccountType = "StorageAccount" | "ManagedDisk";
380
+
381
+ /** Copy log details for a storage account of a DataBox job */
382
+ export declare type DataBoxAccountCopyLogDetails = CopyLogDetails & {
383
+ /** Polymorphic discriminator, which specifies the different types this object can be */
384
+ copyLogDetailsType: "DataBox";
385
+ /**
386
+ * Account name.
387
+ * NOTE: This property will not be serialized. It can only be populated by the server.
388
+ */
389
+ readonly accountName?: string;
390
+ /**
391
+ * Link for copy logs.
392
+ * NOTE: This property will not be serialized. It can only be populated by the server.
393
+ */
394
+ readonly copyLogLink?: string;
395
+ /**
396
+ * Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.
397
+ * NOTE: This property will not be serialized. It can only be populated by the server.
398
+ */
399
+ readonly copyVerboseLogLink?: string;
400
+ };
401
+
402
+ /** Copy Log Details for customer disk */
403
+ export declare type DataBoxCustomerDiskCopyLogDetails = CopyLogDetails & {
404
+ /** Polymorphic discriminator, which specifies the different types this object can be */
405
+ copyLogDetailsType: "DataBoxCustomerDisk";
406
+ /**
407
+ * Disk Serial Number.
408
+ * NOTE: This property will not be serialized. It can only be populated by the server.
409
+ */
410
+ readonly serialNumber?: string;
411
+ /**
412
+ * Link for copy error logs.
413
+ * NOTE: This property will not be serialized. It can only be populated by the server.
414
+ */
415
+ readonly errorLogLink?: string;
416
+ /**
417
+ * Link for copy verbose logs.
418
+ * NOTE: This property will not be serialized. It can only be populated by the server.
419
+ */
420
+ readonly verboseLogLink?: string;
421
+ };
422
+
423
+ /** DataBox CustomerDisk Copy Progress */
424
+ export declare type DataBoxCustomerDiskCopyProgress = CopyProgress & {
425
+ /**
426
+ * Disk Serial Number.
427
+ * NOTE: This property will not be serialized. It can only be populated by the server.
428
+ */
429
+ readonly serialNumber?: string;
430
+ /**
431
+ * The Status of the copy
432
+ * NOTE: This property will not be serialized. It can only be populated by the server.
433
+ */
434
+ readonly copyStatus?: CopyStatus;
435
+ };
436
+
437
+ /** Customer disk job details. */
438
+ export declare type DataBoxCustomerDiskJobDetails = JobDetails & {
439
+ /** Polymorphic discriminator, which specifies the different types this object can be */
440
+ jobDetailsType: "DataBoxCustomerDisk";
441
+ /** Contains the map of disk serial number to the disk details for import jobs. */
442
+ importDiskDetailsCollection?: {
443
+ [propertyName: string]: ImportDiskDetails;
444
+ };
445
+ /**
446
+ * Contains the map of disk serial number to the disk details for export jobs.
447
+ * NOTE: This property will not be serialized. It can only be populated by the server.
448
+ */
449
+ readonly exportDiskDetailsCollection?: {
450
+ [propertyName: string]: ExportDiskDetails;
451
+ };
452
+ /**
453
+ * Copy progress per disk.
454
+ * NOTE: This property will not be serialized. It can only be populated by the server.
455
+ */
456
+ readonly copyProgress?: DataBoxCustomerDiskCopyProgress[];
457
+ /**
458
+ * Delivery package shipping details.
459
+ * NOTE: This property will not be serialized. It can only be populated by the server.
460
+ */
461
+ readonly deliverToDcPackageDetails?: PackageCarrierInfo;
462
+ /** Return package shipping details. */
463
+ returnToCustomerPackageDetails: PackageCarrierDetails;
464
+ /** Flag to indicate if disk manifest should be backed-up in the Storage Account. */
465
+ enableManifestBackup?: boolean;
466
+ };
467
+
468
+ /** Copy Log Details for a disk */
469
+ export declare type DataBoxDiskCopyLogDetails = CopyLogDetails & {
470
+ /** Polymorphic discriminator, which specifies the different types this object can be */
471
+ copyLogDetailsType: "DataBoxDisk";
472
+ /**
473
+ * Disk Serial Number.
474
+ * NOTE: This property will not be serialized. It can only be populated by the server.
475
+ */
476
+ readonly diskSerialNumber?: string;
477
+ /**
478
+ * Link for copy error logs.
479
+ * NOTE: This property will not be serialized. It can only be populated by the server.
480
+ */
481
+ readonly errorLogLink?: string;
482
+ /**
483
+ * Link for copy verbose logs.
484
+ * NOTE: This property will not be serialized. It can only be populated by the server.
485
+ */
486
+ readonly verboseLogLink?: string;
487
+ };
488
+
489
+ /** DataBox Disk Copy Progress */
490
+ export declare interface DataBoxDiskCopyProgress {
491
+ /**
492
+ * The serial number of the disk
493
+ * NOTE: This property will not be serialized. It can only be populated by the server.
494
+ */
495
+ readonly serialNumber?: string;
496
+ /**
497
+ * Bytes copied during the copy of disk.
498
+ * NOTE: This property will not be serialized. It can only be populated by the server.
499
+ */
500
+ readonly bytesCopied?: number;
501
+ /**
502
+ * Indicates the percentage completed for the copy of the disk.
503
+ * NOTE: This property will not be serialized. It can only be populated by the server.
504
+ */
505
+ readonly percentComplete?: number;
506
+ /**
507
+ * The Status of the copy
508
+ * NOTE: This property will not be serialized. It can only be populated by the server.
509
+ */
510
+ readonly status?: CopyStatus;
511
+ }
512
+
513
+ /** DataBox Disk Job Details. */
514
+ export declare type DataBoxDiskJobDetails = JobDetails & {
515
+ /** Polymorphic discriminator, which specifies the different types this object can be */
516
+ jobDetailsType: "DataBoxDisk";
517
+ /** User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. */
518
+ preferredDisks?: {
519
+ [propertyName: string]: number;
520
+ };
521
+ /**
522
+ * Copy progress per disk.
523
+ * NOTE: This property will not be serialized. It can only be populated by the server.
524
+ */
525
+ readonly copyProgress?: DataBoxDiskCopyProgress[];
526
+ /**
527
+ * Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.
528
+ * NOTE: This property will not be serialized. It can only be populated by the server.
529
+ */
530
+ readonly disksAndSizeDetails?: {
531
+ [propertyName: string]: number;
532
+ };
533
+ /** User entered passkey for DataBox Disk job. */
534
+ passkey?: string;
535
+ };
536
+
537
+ /** The secrets related to disk job. */
538
+ export declare type DataBoxDiskJobSecrets = JobSecrets & {
539
+ /** Polymorphic discriminator, which specifies the different types this object can be */
540
+ jobSecretsType: "DataBoxDisk";
541
+ /**
542
+ * Contains the list of secrets object for that device.
543
+ * NOTE: This property will not be serialized. It can only be populated by the server.
544
+ */
545
+ readonly diskSecrets?: DiskSecret[];
546
+ /**
547
+ * PassKey for the disk Job.
548
+ * NOTE: This property will not be serialized. It can only be populated by the server.
549
+ */
550
+ readonly passKey?: string;
551
+ /**
552
+ * Whether passkey was provided by user.
553
+ * NOTE: This property will not be serialized. It can only be populated by the server.
554
+ */
555
+ readonly isPasskeyUserDefined?: boolean;
556
+ };
557
+
558
+ /** Copy log details for a storage account for Databox heavy */
559
+ export declare type DataBoxHeavyAccountCopyLogDetails = CopyLogDetails & {
560
+ /** Polymorphic discriminator, which specifies the different types this object can be */
561
+ copyLogDetailsType: "DataBoxHeavy";
562
+ /**
563
+ * Account name.
564
+ * NOTE: This property will not be serialized. It can only be populated by the server.
565
+ */
566
+ readonly accountName?: string;
567
+ /**
568
+ * Link for copy logs.
569
+ * NOTE: This property will not be serialized. It can only be populated by the server.
570
+ */
571
+ readonly copyLogLink?: string[];
572
+ /**
573
+ * Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.
574
+ * NOTE: This property will not be serialized. It can only be populated by the server.
575
+ */
576
+ readonly copyVerboseLogLink?: string[];
577
+ };
578
+
579
+ /** Databox Heavy Device Job Details */
580
+ export declare type DataBoxHeavyJobDetails = JobDetails & {
581
+ /** Polymorphic discriminator, which specifies the different types this object can be */
582
+ jobDetailsType: "DataBoxHeavy";
583
+ /**
584
+ * Copy progress per account.
585
+ * NOTE: This property will not be serialized. It can only be populated by the server.
586
+ */
587
+ readonly copyProgress?: CopyProgress[];
588
+ /** Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ */
589
+ devicePassword?: string;
590
+ };
591
+
592
+ /** The secrets related to a databox heavy job. */
593
+ export declare type DataBoxHeavyJobSecrets = JobSecrets & {
594
+ /** Polymorphic discriminator, which specifies the different types this object can be */
595
+ jobSecretsType: "DataBoxHeavy";
596
+ /**
597
+ * Contains the list of secret objects for a databox heavy job.
598
+ * NOTE: This property will not be serialized. It can only be populated by the server.
599
+ */
600
+ readonly cabinetPodSecrets?: DataBoxHeavySecret[];
601
+ };
602
+
603
+ /** The secrets related to a databox heavy. */
604
+ export declare interface DataBoxHeavySecret {
605
+ /**
606
+ * Serial number of the assigned device.
607
+ * NOTE: This property will not be serialized. It can only be populated by the server.
608
+ */
609
+ readonly deviceSerialNumber?: string;
610
+ /**
611
+ * Password for out of the box experience on device.
612
+ * NOTE: This property will not be serialized. It can only be populated by the server.
613
+ */
614
+ readonly devicePassword?: string;
615
+ /**
616
+ * Network configuration of the appliance.
617
+ * NOTE: This property will not be serialized. It can only be populated by the server.
618
+ */
619
+ readonly networkConfigurations?: ApplianceNetworkConfiguration[];
620
+ /**
621
+ * The base 64 encoded public key to authenticate with the device
622
+ * NOTE: This property will not be serialized. It can only be populated by the server.
623
+ */
624
+ readonly encodedValidationCertPubKey?: string;
625
+ /**
626
+ * Per account level access credentials.
627
+ * NOTE: This property will not be serialized. It can only be populated by the server.
628
+ */
629
+ readonly accountCredentialDetails?: AccountCredentialDetails[];
630
+ }
631
+
632
+ /** Databox Job Details */
633
+ export declare type DataBoxJobDetails = JobDetails & {
634
+ /** Polymorphic discriminator, which specifies the different types this object can be */
635
+ jobDetailsType: "DataBox";
636
+ /**
637
+ * Copy progress per storage account.
638
+ * NOTE: This property will not be serialized. It can only be populated by the server.
639
+ */
640
+ readonly copyProgress?: CopyProgress[];
641
+ /** Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ */
642
+ devicePassword?: string;
643
+ };
644
+
645
+ /** The secrets related to a databox job. */
646
+ export declare type DataboxJobSecrets = JobSecrets & {
647
+ /** Polymorphic discriminator, which specifies the different types this object can be */
648
+ jobSecretsType: "DataBox";
649
+ /** Contains the list of secret objects for a job. */
650
+ podSecrets?: DataBoxSecret[];
651
+ };
652
+
653
+ export declare class DataBoxManagementClient extends coreClient.ServiceClient {
654
+ $host: string;
655
+ apiVersion: string;
656
+ subscriptionId: string;
657
+ /**
658
+ * Initializes a new instance of the DataBoxManagementClient class.
659
+ * @param credentials Subscription credentials which uniquely identify client subscription.
660
+ * @param subscriptionId The Subscription Id
661
+ * @param options The parameter options
662
+ */
663
+ constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: DataBoxManagementClientOptionalParams);
664
+ /**
665
+ * Request to mitigate for a given job
666
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
667
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
668
+ * @param resourceGroupName The Resource Group Name
669
+ * @param mitigateJobRequest Mitigation Request
670
+ * @param options The options parameters.
671
+ */
672
+ mitigate(jobName: string, resourceGroupName: string, mitigateJobRequest: MitigateJobRequest, options?: MitigateOptionalParams): Promise<void>;
673
+ operations: Operations;
674
+ jobs: Jobs;
675
+ service: Service;
676
+ }
677
+
678
+ /** Optional parameters. */
679
+ export declare interface DataBoxManagementClientOptionalParams extends coreClient.ServiceClientOptions {
680
+ /** server parameter */
681
+ $host?: string;
682
+ /** Api Version */
683
+ apiVersion?: string;
684
+ /** Overrides client endpoint. */
685
+ endpoint?: string;
686
+ }
687
+
688
+ /** Request body to get the availability for scheduling data box orders orders. */
689
+ export declare type DataBoxScheduleAvailabilityRequest = ScheduleAvailabilityRequest & {
690
+ /** Polymorphic discriminator, which specifies the different types this object can be */
691
+ skuName: "DataBox";
692
+ };
693
+
694
+ /** The secrets related to a DataBox. */
695
+ export declare interface DataBoxSecret {
696
+ /**
697
+ * Serial number of the assigned device.
698
+ * NOTE: This property will not be serialized. It can only be populated by the server.
699
+ */
700
+ readonly deviceSerialNumber?: string;
701
+ /**
702
+ * Password for out of the box experience on device.
703
+ * NOTE: This property will not be serialized. It can only be populated by the server.
704
+ */
705
+ readonly devicePassword?: string;
706
+ /**
707
+ * Network configuration of the appliance.
708
+ * NOTE: This property will not be serialized. It can only be populated by the server.
709
+ */
710
+ readonly networkConfigurations?: ApplianceNetworkConfiguration[];
711
+ /**
712
+ * The base 64 encoded public key to authenticate with the device
713
+ * NOTE: This property will not be serialized. It can only be populated by the server.
714
+ */
715
+ readonly encodedValidationCertPubKey?: string;
716
+ /**
717
+ * Per account level access credentials.
718
+ * NOTE: This property will not be serialized. It can only be populated by the server.
719
+ */
720
+ readonly accountCredentialDetails?: AccountCredentialDetails[];
721
+ }
722
+
723
+ /** Datacenter instruction for given storage location. */
724
+ export declare type DatacenterAddressInstructionResponse = DatacenterAddressResponse & {
725
+ /** Polymorphic discriminator, which specifies the different types this object can be */
726
+ datacenterAddressType: "DatacenterAddressInstruction";
727
+ /**
728
+ * Data center communication instruction
729
+ * NOTE: This property will not be serialized. It can only be populated by the server.
730
+ */
731
+ readonly communicationInstruction?: string;
732
+ };
733
+
734
+ /** Datacenter address for given storage location. */
735
+ export declare type DatacenterAddressLocationResponse = DatacenterAddressResponse & {
736
+ /** Polymorphic discriminator, which specifies the different types this object can be */
737
+ datacenterAddressType: "DatacenterAddressLocation";
738
+ /**
739
+ * Contact person name
740
+ * NOTE: This property will not be serialized. It can only be populated by the server.
741
+ */
742
+ readonly contactPersonName?: string;
743
+ /**
744
+ * Company name
745
+ * NOTE: This property will not be serialized. It can only be populated by the server.
746
+ */
747
+ readonly company?: string;
748
+ /**
749
+ * Street address line 1
750
+ * NOTE: This property will not be serialized. It can only be populated by the server.
751
+ */
752
+ readonly street1?: string;
753
+ /**
754
+ * Street address line 2
755
+ * NOTE: This property will not be serialized. It can only be populated by the server.
756
+ */
757
+ readonly street2?: string;
758
+ /**
759
+ * Street address line 3
760
+ * NOTE: This property will not be serialized. It can only be populated by the server.
761
+ */
762
+ readonly street3?: string;
763
+ /**
764
+ * City name
765
+ * NOTE: This property will not be serialized. It can only be populated by the server.
766
+ */
767
+ readonly city?: string;
768
+ /**
769
+ * name of the state
770
+ * NOTE: This property will not be serialized. It can only be populated by the server.
771
+ */
772
+ readonly state?: string;
773
+ /**
774
+ * Zip code
775
+ * NOTE: This property will not be serialized. It can only be populated by the server.
776
+ */
777
+ readonly zip?: string;
778
+ /**
779
+ * name of the country
780
+ * NOTE: This property will not be serialized. It can only be populated by the server.
781
+ */
782
+ readonly country?: string;
783
+ /**
784
+ * Phone number
785
+ * NOTE: This property will not be serialized. It can only be populated by the server.
786
+ */
787
+ readonly phone?: string;
788
+ /**
789
+ * Phone extension
790
+ * NOTE: This property will not be serialized. It can only be populated by the server.
791
+ */
792
+ readonly phoneExtension?: string;
793
+ /**
794
+ * Address type
795
+ * NOTE: This property will not be serialized. It can only be populated by the server.
796
+ */
797
+ readonly addressType?: string;
798
+ /**
799
+ * Special instruction for shipping
800
+ * NOTE: This property will not be serialized. It can only be populated by the server.
801
+ */
802
+ readonly additionalShippingInformation?: string;
803
+ };
804
+
805
+ /** Request body to get the datacenter address. */
806
+ export declare interface DatacenterAddressRequest {
807
+ /** Storage location. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 */
808
+ storageLocation: string;
809
+ /** Sku Name for which the data center address requested. */
810
+ skuName: SkuName;
811
+ }
812
+
813
+ /** Datacenter address for given storage location. */
814
+ export declare interface DatacenterAddressResponse {
815
+ /** Polymorphic discriminator, which specifies the different types this object can be */
816
+ datacenterAddressType: "DatacenterAddressInstruction" | "DatacenterAddressLocation";
817
+ /**
818
+ * List of supported carriers for return shipment.
819
+ * NOTE: This property will not be serialized. It can only be populated by the server.
820
+ */
821
+ readonly supportedCarriersForReturnShipment?: string[];
822
+ /**
823
+ * Azure Location where the Data Center serves primarily.
824
+ * NOTE: This property will not be serialized. It can only be populated by the server.
825
+ */
826
+ readonly dataCenterAzureLocation?: string;
827
+ }
828
+
829
+ export declare type DatacenterAddressResponseUnion = DatacenterAddressResponse | DatacenterAddressInstructionResponse | DatacenterAddressLocationResponse;
830
+
831
+ /** Defines values for DatacenterAddressType. */
832
+ export declare type DatacenterAddressType = "DatacenterAddressLocation" | "DatacenterAddressInstruction";
833
+
834
+ /**
835
+ * Defines values for DataCenterCode. \
836
+ * {@link KnownDataCenterCode} can be used interchangeably with DataCenterCode,
837
+ * this enum contains the known values that the service supports.
838
+ * ### Known values supported by the service
839
+ * **Invalid** \
840
+ * **BY2** \
841
+ * **BY1** \
842
+ * **ORK70** \
843
+ * **AM2** \
844
+ * **AMS20** \
845
+ * **BY21** \
846
+ * **BY24** \
847
+ * **MWH01** \
848
+ * **AMS06** \
849
+ * **SSE90** \
850
+ * **SYD03** \
851
+ * **SYD23** \
852
+ * **CBR20** \
853
+ * **YTO20** \
854
+ * **CWL20** \
855
+ * **LON24** \
856
+ * **BOM01** \
857
+ * **BL20** \
858
+ * **BL7** \
859
+ * **SEL20** \
860
+ * **TYO01** \
861
+ * **BN1** \
862
+ * **SN5** \
863
+ * **CYS04** \
864
+ * **TYO22** \
865
+ * **YTO21** \
866
+ * **YQB20** \
867
+ * **FRA22** \
868
+ * **MAA01** \
869
+ * **CPQ02** \
870
+ * **CPQ20** \
871
+ * **SIN20** \
872
+ * **HKG20** \
873
+ * **SG2** \
874
+ * **MEL23** \
875
+ * **SEL21** \
876
+ * **OSA20** \
877
+ * **SHA03** \
878
+ * **BJB** \
879
+ * **JNB22** \
880
+ * **JNB21** \
881
+ * **MNZ21** \
882
+ * **SN8** \
883
+ * **AUH20** \
884
+ * **ZRH20** \
885
+ * **PUS20** \
886
+ * **AdHoc** \
887
+ * **CH1** \
888
+ * **DSM05**
889
+ */
890
+ export declare type DataCenterCode = string;
891
+
892
+ /** Details of the data to be used for exporting data from azure. */
893
+ export declare interface DataExportDetails {
894
+ /** Configuration for the data transfer. */
895
+ transferConfiguration: TransferConfiguration;
896
+ /** Level of the logs to be collected. */
897
+ logCollectionLevel?: LogCollectionLevel;
898
+ /** Account details of the data to be transferred */
899
+ accountDetails: DataAccountDetailsUnion;
900
+ }
901
+
902
+ /** Details of the data to be used for importing data to azure. */
903
+ export declare interface DataImportDetails {
904
+ /** Account details of the data to be transferred */
905
+ accountDetails: DataAccountDetailsUnion;
906
+ /** Level of the logs to be collected. */
907
+ logCollectionLevel?: LogCollectionLevel;
908
+ }
909
+
910
+ /** Map of data location to service location */
911
+ export declare interface DataLocationToServiceLocationMap {
912
+ /**
913
+ * Location of the data.
914
+ * NOTE: This property will not be serialized. It can only be populated by the server.
915
+ */
916
+ readonly dataLocation?: string;
917
+ /**
918
+ * Location of the service.
919
+ * NOTE: This property will not be serialized. It can only be populated by the server.
920
+ */
921
+ readonly serviceLocation?: string;
922
+ }
923
+
924
+ /** Request to validate export and import data details. */
925
+ export declare type DataTransferDetailsValidationRequest = ValidationInputRequest & {
926
+ /** Polymorphic discriminator, which specifies the different types this object can be */
927
+ validationType: "ValidateDataTransferDetails";
928
+ /** List of DataTransfer details to be used to export data from azure. */
929
+ dataExportDetails?: DataExportDetails[];
930
+ /** List of DataTransfer details to be used to import data to azure. */
931
+ dataImportDetails?: DataImportDetails[];
932
+ /** Device type. */
933
+ deviceType: SkuName;
934
+ /** Type of the transfer. */
935
+ transferType: TransferType;
936
+ };
937
+
938
+ /** Properties of data transfer details validation response. */
939
+ export declare type DataTransferDetailsValidationResponseProperties = ValidationInputResponse & {
940
+ /** Polymorphic discriminator, which specifies the different types this object can be */
941
+ validationType: "ValidateDataTransferDetails";
942
+ /**
943
+ * Data transfer details validation status.
944
+ * NOTE: This property will not be serialized. It can only be populated by the server.
945
+ */
946
+ readonly status?: ValidationStatus;
947
+ };
948
+
949
+ /** Dc access security code */
950
+ export declare interface DcAccessSecurityCode {
951
+ /** Reverse Dc access security code. */
952
+ reverseDCAccessCode?: string;
953
+ /** Forward Dc access security code. */
954
+ forwardDCAccessCode?: string;
955
+ }
956
+
957
+ export declare interface Details {
958
+ code: string;
959
+ message: string;
960
+ }
961
+
962
+ /** Request body to get the availability for scheduling disk orders. */
963
+ export declare type DiskScheduleAvailabilityRequest = ScheduleAvailabilityRequest & {
964
+ /** Polymorphic discriminator, which specifies the different types this object can be */
965
+ skuName: "DataBoxDisk";
966
+ /** The expected size of the data, which needs to be transferred in this job, in terabytes. */
967
+ expectedDataSizeInTeraBytes: number;
968
+ };
969
+
970
+ /** Contains all the secrets of a Disk. */
971
+ export declare interface DiskSecret {
972
+ /**
973
+ * Serial number of the assigned disk.
974
+ * NOTE: This property will not be serialized. It can only be populated by the server.
975
+ */
976
+ readonly diskSerialNumber?: string;
977
+ /**
978
+ * Bit Locker key of the disk which can be used to unlock the disk to copy data.
979
+ * NOTE: This property will not be serialized. It can only be populated by the server.
980
+ */
981
+ readonly bitLockerKey?: string;
982
+ }
983
+
984
+ /** Defines values for DoubleEncryption. */
985
+ export declare type DoubleEncryption = "Enabled" | "Disabled";
986
+
987
+ /** Preferences related to the Encryption. */
988
+ export declare interface EncryptionPreferences {
989
+ /** Defines secondary layer of software-based encryption enablement. */
990
+ doubleEncryption?: DoubleEncryption;
991
+ }
992
+
993
+ export declare interface ErrorDetail {
994
+ code: string;
995
+ message: string;
996
+ details?: Details[];
997
+ target?: string;
998
+ }
999
+
1000
+ /** Export disk details */
1001
+ export declare interface ExportDiskDetails {
1002
+ /**
1003
+ * The relative path of the manifest file on the disk.
1004
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1005
+ */
1006
+ readonly manifestFile?: string;
1007
+ /**
1008
+ * The Base16-encoded MD5 hash of the manifest file on the disk.
1009
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1010
+ */
1011
+ readonly manifestHash?: string;
1012
+ /**
1013
+ * Path to backed up manifest, only returned if enableManifestBackup is true.
1014
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1015
+ */
1016
+ readonly backupManifestCloudPath?: string;
1017
+ }
1018
+
1019
+ /** Details of the filter files to be used for data transfer. */
1020
+ export declare interface FilterFileDetails {
1021
+ /** Type of the filter file. */
1022
+ filterFileType: FilterFileType;
1023
+ /** Path of the file that contains the details of all items to transfer. */
1024
+ filterFilePath: string;
1025
+ }
1026
+
1027
+ /** Defines values for FilterFileType. */
1028
+ export declare type FilterFileType = "AzureBlob" | "AzureFile";
1029
+
1030
+ /** Request body to get the availability for scheduling heavy orders. */
1031
+ export declare type HeavyScheduleAvailabilityRequest = ScheduleAvailabilityRequest & {
1032
+ /** Polymorphic discriminator, which specifies the different types this object can be */
1033
+ skuName: "DataBoxHeavy";
1034
+ };
1035
+
1036
+ /** Managed identity properties. */
1037
+ export declare interface IdentityProperties {
1038
+ /** Managed service identity type. */
1039
+ type?: string;
1040
+ /** User assigned identity properties. */
1041
+ userAssigned?: UserAssignedProperties;
1042
+ }
1043
+
1044
+ /** Import disk details */
1045
+ export declare interface ImportDiskDetails {
1046
+ /** The relative path of the manifest file on the disk. */
1047
+ manifestFile: string;
1048
+ /** The Base16-encoded MD5 hash of the manifest file on the disk. */
1049
+ manifestHash: string;
1050
+ /** BitLocker key used to encrypt the disk. */
1051
+ bitLockerKey: string;
1052
+ /**
1053
+ * Path to backed up manifest, only returned if enableManifestBackup is true.
1054
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1055
+ */
1056
+ readonly backupManifestCloudPath?: string;
1057
+ }
1058
+
1059
+ /** Additional delivery info. */
1060
+ export declare interface JobDeliveryInfo {
1061
+ /** Scheduled date time. */
1062
+ scheduledDateTime?: Date;
1063
+ }
1064
+
1065
+ /** Defines values for JobDeliveryType. */
1066
+ export declare type JobDeliveryType = "NonScheduled" | "Scheduled";
1067
+
1068
+ /** Job details. */
1069
+ export declare interface JobDetails {
1070
+ /** Polymorphic discriminator, which specifies the different types this object can be */
1071
+ jobDetailsType: "DataBoxCustomerDisk" | "DataBoxDisk" | "DataBoxHeavy" | "DataBox";
1072
+ /**
1073
+ * List of stages that run in the job.
1074
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1075
+ */
1076
+ readonly jobStages?: JobStages[];
1077
+ /** Contact details for notification and shipping. */
1078
+ contactDetails: ContactDetails;
1079
+ /** Shipping address of the customer. */
1080
+ shippingAddress?: ShippingAddress;
1081
+ /**
1082
+ * Delivery package shipping details.
1083
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1084
+ */
1085
+ readonly deliveryPackage?: PackageShippingDetails;
1086
+ /**
1087
+ * Return package shipping details.
1088
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1089
+ */
1090
+ readonly returnPackage?: PackageShippingDetails;
1091
+ /** Details of the data to be imported into azure. */
1092
+ dataImportDetails?: DataImportDetails[];
1093
+ /** Details of the data to be exported from azure. */
1094
+ dataExportDetails?: DataExportDetails[];
1095
+ /** Preferences for the order. */
1096
+ preferences?: Preferences;
1097
+ /**
1098
+ * List of copy log details.
1099
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1100
+ */
1101
+ readonly copyLogDetails?: CopyLogDetailsUnion[];
1102
+ /**
1103
+ * Shared access key to download the return shipment label
1104
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1105
+ */
1106
+ readonly reverseShipmentLabelSasKey?: string;
1107
+ /**
1108
+ * Shared access key to download the chain of custody logs
1109
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1110
+ */
1111
+ readonly chainOfCustodySasKey?: string;
1112
+ /** Details about which key encryption type is being used. */
1113
+ keyEncryptionKey?: KeyEncryptionKey;
1114
+ /** The expected size of the data, which needs to be transferred in this job, in terabytes. */
1115
+ expectedDataSizeInTeraBytes?: number;
1116
+ /**
1117
+ * Available actions on the job.
1118
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1119
+ */
1120
+ readonly actions?: CustomerResolutionCode[];
1121
+ /**
1122
+ * Last mitigation action performed on the job.
1123
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1124
+ */
1125
+ readonly lastMitigationActionOnJob?: LastMitigationActionOnJob;
1126
+ /**
1127
+ * Datacenter address to ship to, for the given sku and storage location.
1128
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1129
+ */
1130
+ readonly datacenterAddress?: DatacenterAddressResponseUnion;
1131
+ /**
1132
+ * DataCenter code.
1133
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1134
+ */
1135
+ readonly dataCenterCode?: DataCenterCode;
1136
+ }
1137
+
1138
+ export declare type JobDetailsUnion = JobDetails | DataBoxCustomerDiskJobDetails | DataBoxDiskJobDetails | DataBoxHeavyJobDetails | DataBoxJobDetails;
1139
+
1140
+ /** Job Resource. */
1141
+ export declare type JobResource = Resource & {
1142
+ /**
1143
+ * Name of the object.
1144
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1145
+ */
1146
+ readonly name?: string;
1147
+ /**
1148
+ * Id of the object.
1149
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1150
+ */
1151
+ readonly id?: string;
1152
+ /**
1153
+ * Type of the object.
1154
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1155
+ */
1156
+ readonly type?: string;
1157
+ /**
1158
+ * Metadata pertaining to creation and last modification of the resource.
1159
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1160
+ */
1161
+ readonly systemData?: SystemData;
1162
+ /** Type of the data transfer. */
1163
+ transferType: TransferType;
1164
+ /**
1165
+ * Describes whether the job is cancellable or not.
1166
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1167
+ */
1168
+ readonly isCancellable?: boolean;
1169
+ /**
1170
+ * Describes whether the job is deletable or not.
1171
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1172
+ */
1173
+ readonly isDeletable?: boolean;
1174
+ /**
1175
+ * Describes whether the shipping address is editable or not.
1176
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1177
+ */
1178
+ readonly isShippingAddressEditable?: boolean;
1179
+ /**
1180
+ * Is Prepare To Ship Enabled on this job
1181
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1182
+ */
1183
+ readonly isPrepareToShipEnabled?: boolean;
1184
+ /**
1185
+ * Name of the stage which is in progress.
1186
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1187
+ */
1188
+ readonly status?: StageName;
1189
+ /**
1190
+ * Time at which the job was started in UTC ISO 8601 format.
1191
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1192
+ */
1193
+ readonly startTime?: Date;
1194
+ /**
1195
+ * Top level error for the job.
1196
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1197
+ */
1198
+ readonly error?: CloudError;
1199
+ /** Details of a job run. This field will only be sent for expand details filter. */
1200
+ details?: JobDetailsUnion;
1201
+ /**
1202
+ * Reason for cancellation.
1203
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1204
+ */
1205
+ readonly cancellationReason?: string;
1206
+ /** Delivery type of Job. */
1207
+ deliveryType?: JobDeliveryType;
1208
+ /** Delivery Info of Job. */
1209
+ deliveryInfo?: JobDeliveryInfo;
1210
+ /**
1211
+ * Flag to indicate cancellation of scheduled job.
1212
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1213
+ */
1214
+ readonly isCancellableWithoutFee?: boolean;
1215
+ };
1216
+
1217
+ /** Job Resource Collection */
1218
+ export declare interface JobResourceList {
1219
+ /** List of job resources. */
1220
+ value?: JobResource[];
1221
+ /** Link for the next set of job resources. */
1222
+ nextLink?: string;
1223
+ }
1224
+
1225
+ /** The JobResourceUpdateParameter. */
1226
+ export declare interface JobResourceUpdateParameter {
1227
+ /** The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). */
1228
+ tags?: {
1229
+ [propertyName: string]: string;
1230
+ };
1231
+ /** Msi identity of the resource */
1232
+ identity?: ResourceIdentity;
1233
+ /** Details of a job to be updated. */
1234
+ details?: UpdateJobDetails;
1235
+ }
1236
+
1237
+ /** Interface representing a Jobs. */
1238
+ export declare interface Jobs {
1239
+ /**
1240
+ * Lists all the jobs available under the subscription.
1241
+ * @param options The options parameters.
1242
+ */
1243
+ list(options?: JobsListOptionalParams): PagedAsyncIterableIterator<JobResource>;
1244
+ /**
1245
+ * Lists all the jobs available under the given resource group.
1246
+ * @param resourceGroupName The Resource Group Name
1247
+ * @param options The options parameters.
1248
+ */
1249
+ listByResourceGroup(resourceGroupName: string, options?: JobsListByResourceGroupOptionalParams): PagedAsyncIterableIterator<JobResource>;
1250
+ /**
1251
+ * This method gets the unencrypted secrets related to the job.
1252
+ * @param resourceGroupName The Resource Group Name
1253
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1254
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1255
+ * @param options The options parameters.
1256
+ */
1257
+ listCredentials(resourceGroupName: string, jobName: string, options?: JobsListCredentialsOptionalParams): PagedAsyncIterableIterator<UnencryptedCredentials>;
1258
+ /**
1259
+ * Request to mark devices for a given job as shipped
1260
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1261
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1262
+ * @param resourceGroupName The Resource Group Name
1263
+ * @param markDevicesShippedRequest Mark Devices Shipped Request
1264
+ * @param options The options parameters.
1265
+ */
1266
+ markDevicesShipped(jobName: string, resourceGroupName: string, markDevicesShippedRequest: MarkDevicesShippedRequest, options?: JobsMarkDevicesShippedOptionalParams): Promise<void>;
1267
+ /**
1268
+ * Gets information about the specified job.
1269
+ * @param resourceGroupName The Resource Group Name
1270
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1271
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1272
+ * @param options The options parameters.
1273
+ */
1274
+ get(resourceGroupName: string, jobName: string, options?: JobsGetOptionalParams): Promise<JobsGetResponse>;
1275
+ /**
1276
+ * Creates a new job with the specified parameters. Existing job cannot be updated with this API and
1277
+ * should instead be updated with the Update job API.
1278
+ * @param resourceGroupName The Resource Group Name
1279
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1280
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1281
+ * @param jobResource Job details from request body.
1282
+ * @param options The options parameters.
1283
+ */
1284
+ beginCreate(resourceGroupName: string, jobName: string, jobResource: JobResource, options?: JobsCreateOptionalParams): Promise<PollerLike<PollOperationState<JobsCreateResponse>, JobsCreateResponse>>;
1285
+ /**
1286
+ * Creates a new job with the specified parameters. Existing job cannot be updated with this API and
1287
+ * should instead be updated with the Update job API.
1288
+ * @param resourceGroupName The Resource Group Name
1289
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1290
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1291
+ * @param jobResource Job details from request body.
1292
+ * @param options The options parameters.
1293
+ */
1294
+ beginCreateAndWait(resourceGroupName: string, jobName: string, jobResource: JobResource, options?: JobsCreateOptionalParams): Promise<JobsCreateResponse>;
1295
+ /**
1296
+ * Deletes a job.
1297
+ * @param resourceGroupName The Resource Group Name
1298
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1299
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1300
+ * @param options The options parameters.
1301
+ */
1302
+ beginDelete(resourceGroupName: string, jobName: string, options?: JobsDeleteOptionalParams): Promise<PollerLike<PollOperationState<void>, void>>;
1303
+ /**
1304
+ * Deletes a job.
1305
+ * @param resourceGroupName The Resource Group Name
1306
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1307
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1308
+ * @param options The options parameters.
1309
+ */
1310
+ beginDeleteAndWait(resourceGroupName: string, jobName: string, options?: JobsDeleteOptionalParams): Promise<void>;
1311
+ /**
1312
+ * Updates the properties of an existing job.
1313
+ * @param resourceGroupName The Resource Group Name
1314
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1315
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1316
+ * @param jobResourceUpdateParameter Job update parameters from request body.
1317
+ * @param options The options parameters.
1318
+ */
1319
+ beginUpdate(resourceGroupName: string, jobName: string, jobResourceUpdateParameter: JobResourceUpdateParameter, options?: JobsUpdateOptionalParams): Promise<PollerLike<PollOperationState<JobsUpdateResponse>, JobsUpdateResponse>>;
1320
+ /**
1321
+ * Updates the properties of an existing job.
1322
+ * @param resourceGroupName The Resource Group Name
1323
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1324
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1325
+ * @param jobResourceUpdateParameter Job update parameters from request body.
1326
+ * @param options The options parameters.
1327
+ */
1328
+ beginUpdateAndWait(resourceGroupName: string, jobName: string, jobResourceUpdateParameter: JobResourceUpdateParameter, options?: JobsUpdateOptionalParams): Promise<JobsUpdateResponse>;
1329
+ /**
1330
+ * Book shipment pick up.
1331
+ * @param resourceGroupName The Resource Group Name
1332
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1333
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1334
+ * @param shipmentPickUpRequest Details of shipment pick up request.
1335
+ * @param options The options parameters.
1336
+ */
1337
+ bookShipmentPickUp(resourceGroupName: string, jobName: string, shipmentPickUpRequest: ShipmentPickUpRequest, options?: JobsBookShipmentPickUpOptionalParams): Promise<JobsBookShipmentPickUpResponse>;
1338
+ /**
1339
+ * CancelJob.
1340
+ * @param resourceGroupName The Resource Group Name
1341
+ * @param jobName The name of the job Resource within the specified resource group. job names must be
1342
+ * between 3 and 24 characters in length and use any alphanumeric and underscore only
1343
+ * @param cancellationReason Reason for cancellation.
1344
+ * @param options The options parameters.
1345
+ */
1346
+ cancel(resourceGroupName: string, jobName: string, cancellationReason: CancellationReason, options?: JobsCancelOptionalParams): Promise<void>;
1347
+ }
1348
+
1349
+ /** Optional parameters. */
1350
+ export declare interface JobsBookShipmentPickUpOptionalParams extends coreClient.OperationOptions {
1351
+ }
1352
+
1353
+ /** Contains response data for the bookShipmentPickUp operation. */
1354
+ export declare type JobsBookShipmentPickUpResponse = ShipmentPickUpResponse;
1355
+
1356
+ /** Optional parameters. */
1357
+ export declare interface JobsCancelOptionalParams extends coreClient.OperationOptions {
1358
+ }
1359
+
1360
+ /** Optional parameters. */
1361
+ export declare interface JobsCreateOptionalParams extends coreClient.OperationOptions {
1362
+ /** Delay to wait until next poll, in milliseconds. */
1363
+ updateIntervalInMs?: number;
1364
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
1365
+ resumeFrom?: string;
1366
+ }
1367
+
1368
+ /** Contains response data for the create operation. */
1369
+ export declare type JobsCreateResponse = JobResource;
1370
+
1371
+ /** Optional parameters. */
1372
+ export declare interface JobsDeleteOptionalParams extends coreClient.OperationOptions {
1373
+ /** Delay to wait until next poll, in milliseconds. */
1374
+ updateIntervalInMs?: number;
1375
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
1376
+ resumeFrom?: string;
1377
+ }
1378
+
1379
+ /** The base class for the secrets */
1380
+ export declare interface JobSecrets {
1381
+ /** Polymorphic discriminator, which specifies the different types this object can be */
1382
+ jobSecretsType: "DataBoxCustomerDisk" | "DataBoxDisk" | "DataBoxHeavy" | "DataBox";
1383
+ /**
1384
+ * Dc Access Security Code for Customer Managed Shipping
1385
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1386
+ */
1387
+ readonly dcAccessSecurityCode?: DcAccessSecurityCode;
1388
+ /**
1389
+ * Error while fetching the secrets.
1390
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1391
+ */
1392
+ readonly error?: CloudError;
1393
+ }
1394
+
1395
+ export declare type JobSecretsUnion = JobSecrets | CustomerDiskJobSecrets | DataBoxDiskJobSecrets | DataBoxHeavyJobSecrets | DataboxJobSecrets;
1396
+
1397
+ /** Optional parameters. */
1398
+ export declare interface JobsGetOptionalParams extends coreClient.OperationOptions {
1399
+ /** $expand is supported on details parameter for job, which provides details on the job stages. */
1400
+ expand?: string;
1401
+ }
1402
+
1403
+ /** Contains response data for the get operation. */
1404
+ export declare type JobsGetResponse = JobResource;
1405
+
1406
+ /** Optional parameters. */
1407
+ export declare interface JobsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions {
1408
+ /** $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs. */
1409
+ skipToken?: string;
1410
+ }
1411
+
1412
+ /** Contains response data for the listByResourceGroupNext operation. */
1413
+ export declare type JobsListByResourceGroupNextResponse = JobResourceList;
1414
+
1415
+ /** Optional parameters. */
1416
+ export declare interface JobsListByResourceGroupOptionalParams extends coreClient.OperationOptions {
1417
+ /** $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs. */
1418
+ skipToken?: string;
1419
+ }
1420
+
1421
+ /** Contains response data for the listByResourceGroup operation. */
1422
+ export declare type JobsListByResourceGroupResponse = JobResourceList;
1423
+
1424
+ /** Optional parameters. */
1425
+ export declare interface JobsListCredentialsOptionalParams extends coreClient.OperationOptions {
1426
+ }
1427
+
1428
+ /** Contains response data for the listCredentials operation. */
1429
+ export declare type JobsListCredentialsResponse = UnencryptedCredentialsList;
1430
+
1431
+ /** Optional parameters. */
1432
+ export declare interface JobsListNextOptionalParams extends coreClient.OperationOptions {
1433
+ /** $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs. */
1434
+ skipToken?: string;
1435
+ }
1436
+
1437
+ /** Contains response data for the listNext operation. */
1438
+ export declare type JobsListNextResponse = JobResourceList;
1439
+
1440
+ /** Optional parameters. */
1441
+ export declare interface JobsListOptionalParams extends coreClient.OperationOptions {
1442
+ /** $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs. */
1443
+ skipToken?: string;
1444
+ }
1445
+
1446
+ /** Contains response data for the list operation. */
1447
+ export declare type JobsListResponse = JobResourceList;
1448
+
1449
+ /** Optional parameters. */
1450
+ export declare interface JobsMarkDevicesShippedOptionalParams extends coreClient.OperationOptions {
1451
+ }
1452
+
1453
+ /** Job stages. */
1454
+ export declare interface JobStages {
1455
+ /**
1456
+ * Name of the job stage.
1457
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1458
+ */
1459
+ readonly stageName?: StageName;
1460
+ /**
1461
+ * Display name of the job stage.
1462
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1463
+ */
1464
+ readonly displayName?: string;
1465
+ /**
1466
+ * Status of the job stage.
1467
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1468
+ */
1469
+ readonly stageStatus?: StageStatus;
1470
+ /**
1471
+ * Time for the job stage in UTC ISO 8601 format.
1472
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1473
+ */
1474
+ readonly stageTime?: Date;
1475
+ /**
1476
+ * Job Stage Details
1477
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1478
+ */
1479
+ readonly jobStageDetails?: Record<string, unknown>;
1480
+ }
1481
+
1482
+ /** Optional parameters. */
1483
+ export declare interface JobsUpdateOptionalParams extends coreClient.OperationOptions {
1484
+ /** Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value. */
1485
+ ifMatch?: string;
1486
+ /** Delay to wait until next poll, in milliseconds. */
1487
+ updateIntervalInMs?: number;
1488
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
1489
+ resumeFrom?: string;
1490
+ }
1491
+
1492
+ /** Contains response data for the update operation. */
1493
+ export declare type JobsUpdateResponse = JobResource;
1494
+
1495
+ /** Defines values for KekType. */
1496
+ export declare type KekType = "MicrosoftManaged" | "CustomerManaged";
1497
+
1498
+ /** Encryption key containing details about key to encrypt different keys. */
1499
+ export declare interface KeyEncryptionKey {
1500
+ /** Type of encryption key used for key encryption. */
1501
+ kekType: KekType;
1502
+ /** Managed identity properties used for key encryption. */
1503
+ identityProperties?: IdentityProperties;
1504
+ /** Key encryption key. It is required in case of Customer managed KekType. */
1505
+ kekUrl?: string;
1506
+ /** Kek vault resource id. It is required in case of Customer managed KekType. */
1507
+ kekVaultResourceID?: string;
1508
+ }
1509
+
1510
+ /** Known values of {@link CopyStatus} that the service accepts. */
1511
+ export declare enum KnownCopyStatus {
1512
+ /** Data copy hasn't started yet. */
1513
+ NotStarted = "NotStarted",
1514
+ /** Data copy is in progress. */
1515
+ InProgress = "InProgress",
1516
+ /** Data copy completed. */
1517
+ Completed = "Completed",
1518
+ /** Data copy completed with errors. */
1519
+ CompletedWithErrors = "CompletedWithErrors",
1520
+ /** Data copy failed. No data was copied. */
1521
+ Failed = "Failed",
1522
+ /** No copy triggered as device was not returned. */
1523
+ NotReturned = "NotReturned",
1524
+ /** The Device has hit hardware issues. */
1525
+ HardwareError = "HardwareError",
1526
+ /** Data copy failed. The Device was formatted by user. */
1527
+ DeviceFormatted = "DeviceFormatted",
1528
+ /** Data copy failed. Device metadata was modified by user. */
1529
+ DeviceMetadataModified = "DeviceMetadataModified",
1530
+ /** Data copy failed. Storage Account was not accessible during copy. */
1531
+ StorageAccountNotAccessible = "StorageAccountNotAccessible",
1532
+ /** Data copy failed. The Device data content is not supported. */
1533
+ UnsupportedData = "UnsupportedData",
1534
+ /** No copy triggered as device was not received. */
1535
+ DriveNotReceived = "DriveNotReceived",
1536
+ /** No copy triggered as device type is not supported. */
1537
+ UnsupportedDrive = "UnsupportedDrive",
1538
+ /** Copy failed due to service error. */
1539
+ OtherServiceError = "OtherServiceError",
1540
+ /** Copy failed due to user error. */
1541
+ OtherUserError = "OtherUserError",
1542
+ /** Copy failed due to disk detection error. */
1543
+ DriveNotDetected = "DriveNotDetected",
1544
+ /** Copy failed due to corrupted drive. */
1545
+ DriveCorrupted = "DriveCorrupted",
1546
+ /** Copy failed due to modified or removed metadata files. */
1547
+ MetadataFilesModifiedOrRemoved = "MetadataFilesModifiedOrRemoved"
1548
+ }
1549
+
1550
+ /** Known values of {@link DataCenterCode} that the service accepts. */
1551
+ export declare enum KnownDataCenterCode {
1552
+ Invalid = "Invalid",
1553
+ BY2 = "BY2",
1554
+ BY1 = "BY1",
1555
+ ORK70 = "ORK70",
1556
+ AM2 = "AM2",
1557
+ AMS20 = "AMS20",
1558
+ BY21 = "BY21",
1559
+ BY24 = "BY24",
1560
+ MWH01 = "MWH01",
1561
+ AMS06 = "AMS06",
1562
+ SSE90 = "SSE90",
1563
+ SYD03 = "SYD03",
1564
+ SYD23 = "SYD23",
1565
+ CBR20 = "CBR20",
1566
+ YTO20 = "YTO20",
1567
+ CWL20 = "CWL20",
1568
+ LON24 = "LON24",
1569
+ BOM01 = "BOM01",
1570
+ BL20 = "BL20",
1571
+ BL7 = "BL7",
1572
+ SEL20 = "SEL20",
1573
+ TYO01 = "TYO01",
1574
+ BN1 = "BN1",
1575
+ SN5 = "SN5",
1576
+ CYS04 = "CYS04",
1577
+ TYO22 = "TYO22",
1578
+ YTO21 = "YTO21",
1579
+ YQB20 = "YQB20",
1580
+ FRA22 = "FRA22",
1581
+ MAA01 = "MAA01",
1582
+ CPQ02 = "CPQ02",
1583
+ CPQ20 = "CPQ20",
1584
+ SIN20 = "SIN20",
1585
+ HKG20 = "HKG20",
1586
+ SG2 = "SG2",
1587
+ MEL23 = "MEL23",
1588
+ SEL21 = "SEL21",
1589
+ OSA20 = "OSA20",
1590
+ SHA03 = "SHA03",
1591
+ BJB = "BJB",
1592
+ JNB22 = "JNB22",
1593
+ JNB21 = "JNB21",
1594
+ MNZ21 = "MNZ21",
1595
+ SN8 = "SN8",
1596
+ AUH20 = "AUH20",
1597
+ ZRH20 = "ZRH20",
1598
+ PUS20 = "PUS20",
1599
+ AdHoc = "AdHoc",
1600
+ CH1 = "CH1",
1601
+ DSM05 = "DSM05"
1602
+ }
1603
+
1604
+ /** Known values of {@link NotificationStageName} that the service accepts. */
1605
+ export declare enum KnownNotificationStageName {
1606
+ /** Notification at device prepared stage. */
1607
+ DevicePrepared = "DevicePrepared",
1608
+ /** Notification at device dispatched stage. */
1609
+ Dispatched = "Dispatched",
1610
+ /** Notification at device delivered stage. */
1611
+ Delivered = "Delivered",
1612
+ /** Notification at device picked up from user stage. */
1613
+ PickedUp = "PickedUp",
1614
+ /** Notification at device received at Azure datacenter stage. */
1615
+ AtAzureDC = "AtAzureDC",
1616
+ /** Notification at data copy started stage. */
1617
+ DataCopy = "DataCopy",
1618
+ /** Notification at job created stage. */
1619
+ Created = "Created",
1620
+ /** Notification at shipped devices to customer stage. */
1621
+ ShippedToCustomer = "ShippedToCustomer"
1622
+ }
1623
+
1624
+ /** Known values of {@link StageName} that the service accepts. */
1625
+ export declare enum KnownStageName {
1626
+ /** An order has been created. */
1627
+ DeviceOrdered = "DeviceOrdered",
1628
+ /** A device has been prepared for the order. */
1629
+ DevicePrepared = "DevicePrepared",
1630
+ /** Device has been dispatched to the user of the order. */
1631
+ Dispatched = "Dispatched",
1632
+ /** Device has been delivered to the user of the order. */
1633
+ Delivered = "Delivered",
1634
+ /** Device has been picked up from user and in transit to Azure datacenter. */
1635
+ PickedUp = "PickedUp",
1636
+ /** Device has been received at Azure datacenter from the user. */
1637
+ AtAzureDC = "AtAzureDC",
1638
+ /** Data copy from the device at Azure datacenter. */
1639
+ DataCopy = "DataCopy",
1640
+ /** Order has completed. */
1641
+ Completed = "Completed",
1642
+ /** Order has completed with errors. */
1643
+ CompletedWithErrors = "CompletedWithErrors",
1644
+ /** Order has been cancelled. */
1645
+ Cancelled = "Cancelled",
1646
+ /** Order has failed due to issue reported by user. */
1647
+ FailedIssueReportedAtCustomer = "Failed_IssueReportedAtCustomer",
1648
+ /** Order has failed due to issue detected at Azure datacenter. */
1649
+ FailedIssueDetectedAtAzureDC = "Failed_IssueDetectedAtAzureDC",
1650
+ /** Order has been aborted. */
1651
+ Aborted = "Aborted",
1652
+ /** Order has completed with warnings. */
1653
+ CompletedWithWarnings = "CompletedWithWarnings",
1654
+ /** Device is ready to be handed to customer from Azure DC. */
1655
+ ReadyToDispatchFromAzureDC = "ReadyToDispatchFromAzureDC",
1656
+ /** Device can be dropped off at Azure DC. */
1657
+ ReadyToReceiveAtAzureDC = "ReadyToReceiveAtAzureDC",
1658
+ /** Job created by the customer. */
1659
+ Created = "Created",
1660
+ /** User shipped the device to AzureDC. */
1661
+ ShippedToAzureDC = "ShippedToAzureDC",
1662
+ /** Awaiting shipment details of device from customer. */
1663
+ AwaitingShipmentDetails = "AwaitingShipmentDetails",
1664
+ /** Preparing the device to ship to customer. */
1665
+ PreparingToShipFromAzureDC = "PreparingToShipFromAzureDC",
1666
+ /** Shipped the device to customer. */
1667
+ ShippedToCustomer = "ShippedToCustomer"
1668
+ }
1669
+
1670
+ /** Last Mitigation Action Performed On Job */
1671
+ export declare interface LastMitigationActionOnJob {
1672
+ /** Action performed date time */
1673
+ actionDateTimeInUtc?: Date;
1674
+ /**
1675
+ * Action performed by customer,
1676
+ * possibility is that mitigation might happen by customer or service or by ops
1677
+ */
1678
+ isPerformedByCustomer?: boolean;
1679
+ /** Resolution code provided by customer */
1680
+ customerResolution?: CustomerResolutionCode;
1681
+ }
1682
+
1683
+ /** Defines values for LogCollectionLevel. */
1684
+ export declare type LogCollectionLevel = "Error" | "Verbose";
1685
+
1686
+ /** Details of the managed disks. */
1687
+ export declare type ManagedDiskDetails = DataAccountDetails & {
1688
+ /** Polymorphic discriminator, which specifies the different types this object can be */
1689
+ dataAccountType: "ManagedDisk";
1690
+ /** Resource Group Id of the compute disks. */
1691
+ resourceGroupId: string;
1692
+ /** Resource Id of the storage account that can be used to copy the vhd for staging. */
1693
+ stagingStorageAccountId: string;
1694
+ };
1695
+
1696
+ /** The request body to provide the delivery package details of job */
1697
+ export declare interface MarkDevicesShippedRequest {
1698
+ /** Delivery package details */
1699
+ deliverToDcPackageDetails: PackageCarrierInfo;
1700
+ }
1701
+
1702
+ /** The Mitigate Job captured from request body for Mitigate API */
1703
+ export declare interface MitigateJobRequest {
1704
+ /** Resolution code for the job */
1705
+ customerResolutionCode: CustomerResolutionCode;
1706
+ }
1707
+
1708
+ /** Optional parameters. */
1709
+ export declare interface MitigateOptionalParams extends coreClient.OperationOptions {
1710
+ }
1711
+
1712
+ /** Notification preference for a job stage. */
1713
+ export declare interface NotificationPreference {
1714
+ /** Name of the stage. */
1715
+ stageName: NotificationStageName;
1716
+ /** Notification is required or not. */
1717
+ sendNotification: boolean;
1718
+ }
1719
+
1720
+ /**
1721
+ * Defines values for NotificationStageName. \
1722
+ * {@link KnownNotificationStageName} can be used interchangeably with NotificationStageName,
1723
+ * this enum contains the known values that the service supports.
1724
+ * ### Known values supported by the service
1725
+ * **DevicePrepared**: Notification at device prepared stage. \
1726
+ * **Dispatched**: Notification at device dispatched stage. \
1727
+ * **Delivered**: Notification at device delivered stage. \
1728
+ * **PickedUp**: Notification at device picked up from user stage. \
1729
+ * **AtAzureDC**: Notification at device received at Azure datacenter stage. \
1730
+ * **DataCopy**: Notification at data copy started stage. \
1731
+ * **Created**: Notification at job created stage. \
1732
+ * **ShippedToCustomer**: Notification at shipped devices to customer stage.
1733
+ */
1734
+ export declare type NotificationStageName = string;
1735
+
1736
+ /** Operation entity. */
1737
+ export declare interface Operation {
1738
+ /**
1739
+ * Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}
1740
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1741
+ */
1742
+ readonly name?: string;
1743
+ /**
1744
+ * Operation display values.
1745
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1746
+ */
1747
+ readonly display?: OperationDisplay;
1748
+ /**
1749
+ * Operation properties.
1750
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1751
+ */
1752
+ readonly properties?: Record<string, unknown>;
1753
+ /**
1754
+ * Origin of the operation. Can be : user|system|user,system
1755
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1756
+ */
1757
+ readonly origin?: string;
1758
+ /** Indicates whether the operation is a data action */
1759
+ isDataAction?: boolean;
1760
+ }
1761
+
1762
+ /** Operation display */
1763
+ export declare interface OperationDisplay {
1764
+ /** Provider name. */
1765
+ provider?: string;
1766
+ /** Resource name. */
1767
+ resource?: string;
1768
+ /** Localized name of the operation for display purpose. */
1769
+ operation?: string;
1770
+ /** Localized description of the operation for display purpose. */
1771
+ description?: string;
1772
+ }
1773
+
1774
+ /** Operation Collection. */
1775
+ export declare interface OperationList {
1776
+ /**
1777
+ * List of operations.
1778
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1779
+ */
1780
+ readonly value?: Operation[];
1781
+ /** Link for the next set of operations. */
1782
+ nextLink?: string;
1783
+ }
1784
+
1785
+ /** Interface representing a Operations. */
1786
+ export declare interface Operations {
1787
+ /**
1788
+ * This method gets all the operations.
1789
+ * @param options The options parameters.
1790
+ */
1791
+ list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator<Operation>;
1792
+ }
1793
+
1794
+ /** Optional parameters. */
1795
+ export declare interface OperationsListNextOptionalParams extends coreClient.OperationOptions {
1796
+ }
1797
+
1798
+ /** Contains response data for the listNext operation. */
1799
+ export declare type OperationsListNextResponse = OperationList;
1800
+
1801
+ /** Optional parameters. */
1802
+ export declare interface OperationsListOptionalParams extends coreClient.OperationOptions {
1803
+ }
1804
+
1805
+ /** Contains response data for the list operation. */
1806
+ export declare type OperationsListResponse = OperationList;
1807
+
1808
+ /** Defines values for OverallValidationStatus. */
1809
+ export declare type OverallValidationStatus = "AllValidToProceed" | "InputsRevisitRequired" | "CertainInputValidationsSkipped";
1810
+
1811
+ /** Package carrier details. */
1812
+ export declare interface PackageCarrierDetails {
1813
+ /** Carrier Account Number of customer for customer disk. */
1814
+ carrierAccountNumber?: string;
1815
+ /** Name of the carrier. */
1816
+ carrierName?: string;
1817
+ /** Tracking Id of shipment. */
1818
+ trackingId?: string;
1819
+ }
1820
+
1821
+ /** package carrier info */
1822
+ export declare interface PackageCarrierInfo {
1823
+ /** Name of the carrier. */
1824
+ carrierName?: string;
1825
+ /** Tracking Id of shipment. */
1826
+ trackingId?: string;
1827
+ }
1828
+
1829
+ /** package shipping details */
1830
+ export declare interface PackageShippingDetails {
1831
+ /**
1832
+ * Url where shipment can be tracked.
1833
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1834
+ */
1835
+ readonly trackingUrl?: string;
1836
+ /**
1837
+ * Name of the carrier.
1838
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1839
+ */
1840
+ readonly carrierName?: string;
1841
+ /**
1842
+ * Tracking Id of shipment.
1843
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1844
+ */
1845
+ readonly trackingId?: string;
1846
+ }
1847
+
1848
+ /** Preferences related to the order */
1849
+ export declare interface Preferences {
1850
+ /** Preferred data center region. */
1851
+ preferredDataCenterRegion?: string[];
1852
+ /** Preferences related to the shipment logistics of the sku. */
1853
+ transportPreferences?: TransportPreferences;
1854
+ /** Preferences related to the Encryption. */
1855
+ encryptionPreferences?: EncryptionPreferences;
1856
+ }
1857
+
1858
+ /** Request to validate preference of transport and data center. */
1859
+ export declare type PreferencesValidationRequest = ValidationInputRequest & {
1860
+ /** Polymorphic discriminator, which specifies the different types this object can be */
1861
+ validationType: "ValidatePreferences";
1862
+ /** Preference of transport and data center. */
1863
+ preference?: Preferences;
1864
+ /** Device type to be used for the job. */
1865
+ deviceType: SkuName;
1866
+ };
1867
+
1868
+ /** Properties of data center and transport preference validation response. */
1869
+ export declare type PreferencesValidationResponseProperties = ValidationInputResponse & {
1870
+ /** Polymorphic discriminator, which specifies the different types this object can be */
1871
+ validationType: "ValidatePreferences";
1872
+ /**
1873
+ * Validation status of requested data center and transport.
1874
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1875
+ */
1876
+ readonly status?: ValidationStatus;
1877
+ };
1878
+
1879
+ /** Request body to get the configuration for the region. */
1880
+ export declare interface RegionConfigurationRequest {
1881
+ /** Request body to get the availability for scheduling orders. */
1882
+ scheduleAvailabilityRequest?: ScheduleAvailabilityRequestUnion;
1883
+ /** Request body to get the transport availability for given sku. */
1884
+ transportAvailabilityRequest?: TransportAvailabilityRequest;
1885
+ /** Request body to get the datacenter address for given sku. */
1886
+ datacenterAddressRequest?: DatacenterAddressRequest;
1887
+ }
1888
+
1889
+ /** Configuration response specific to a region. */
1890
+ export declare interface RegionConfigurationResponse {
1891
+ /**
1892
+ * Schedule availability for given sku in a region.
1893
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1894
+ */
1895
+ readonly scheduleAvailabilityResponse?: ScheduleAvailabilityResponse;
1896
+ /**
1897
+ * Transport options available for given sku in a region.
1898
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1899
+ */
1900
+ readonly transportAvailabilityResponse?: TransportAvailabilityResponse;
1901
+ /**
1902
+ * Datacenter address for given sku in a region.
1903
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1904
+ */
1905
+ readonly datacenterAddressResponse?: DatacenterAddressResponseUnion;
1906
+ }
1907
+
1908
+ /** Model of the Resource. */
1909
+ export declare interface Resource {
1910
+ /** The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. */
1911
+ location: string;
1912
+ /** The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). */
1913
+ tags?: {
1914
+ [propertyName: string]: string;
1915
+ };
1916
+ /** The sku type. */
1917
+ sku: Sku;
1918
+ /** Msi identity of the resource */
1919
+ identity?: ResourceIdentity;
1920
+ }
1921
+
1922
+ /** Msi identity details of the resource */
1923
+ export declare interface ResourceIdentity {
1924
+ /** Identity type */
1925
+ type?: string;
1926
+ /**
1927
+ * Service Principal Id backing the Msi
1928
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1929
+ */
1930
+ readonly principalId?: string;
1931
+ /**
1932
+ * Home Tenant Id
1933
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1934
+ */
1935
+ readonly tenantId?: string;
1936
+ /** User Assigned Identities */
1937
+ userAssignedIdentities?: {
1938
+ [propertyName: string]: UserAssignedIdentity;
1939
+ };
1940
+ }
1941
+
1942
+ /** Request body to get the availability for scheduling orders. */
1943
+ export declare interface ScheduleAvailabilityRequest {
1944
+ /** Polymorphic discriminator, which specifies the different types this object can be */
1945
+ skuName: "DataBox" | "DataBoxDisk" | "DataBoxHeavy";
1946
+ /** Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 */
1947
+ storageLocation: string;
1948
+ /** Country in which storage location should be supported. */
1949
+ country?: string;
1950
+ }
1951
+
1952
+ export declare type ScheduleAvailabilityRequestUnion = ScheduleAvailabilityRequest | DataBoxScheduleAvailabilityRequest | DiskScheduleAvailabilityRequest | HeavyScheduleAvailabilityRequest;
1953
+
1954
+ /** Schedule availability for given sku in a region. */
1955
+ export declare interface ScheduleAvailabilityResponse {
1956
+ /**
1957
+ * List of dates available to schedule
1958
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1959
+ */
1960
+ readonly availableDates?: Date[];
1961
+ }
1962
+
1963
+ /** Interface representing a Service. */
1964
+ export declare interface Service {
1965
+ /**
1966
+ * This method provides the list of available skus for the given subscription, resource group and
1967
+ * location.
1968
+ * @param resourceGroupName The Resource Group Name
1969
+ * @param location The location of the resource
1970
+ * @param availableSkuRequest Filters for showing the available skus.
1971
+ * @param options The options parameters.
1972
+ */
1973
+ listAvailableSkusByResourceGroup(resourceGroupName: string, location: string, availableSkuRequest: AvailableSkuRequest, options?: ServiceListAvailableSkusByResourceGroupOptionalParams): PagedAsyncIterableIterator<SkuInformation>;
1974
+ /**
1975
+ * [DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer
1976
+ * shipping address and provide alternate addresses if any.
1977
+ * @param location The location of the resource
1978
+ * @param validateAddress Shipping address of the customer.
1979
+ * @param options The options parameters.
1980
+ */
1981
+ validateAddress(location: string, validateAddress: ValidateAddress, options?: ServiceValidateAddressOptionalParams): Promise<ServiceValidateAddressResponse>;
1982
+ /**
1983
+ * This method does all necessary pre-job creation validation under resource group.
1984
+ * @param resourceGroupName The Resource Group Name
1985
+ * @param location The location of the resource
1986
+ * @param validationRequest Inputs of the customer.
1987
+ * @param options The options parameters.
1988
+ */
1989
+ validateInputsByResourceGroup(resourceGroupName: string, location: string, validationRequest: ValidationRequestUnion, options?: ServiceValidateInputsByResourceGroupOptionalParams): Promise<ServiceValidateInputsByResourceGroupResponse>;
1990
+ /**
1991
+ * This method does all necessary pre-job creation validation under subscription.
1992
+ * @param location The location of the resource
1993
+ * @param validationRequest Inputs of the customer.
1994
+ * @param options The options parameters.
1995
+ */
1996
+ validateInputs(location: string, validationRequest: ValidationRequestUnion, options?: ServiceValidateInputsOptionalParams): Promise<ServiceValidateInputsResponse>;
1997
+ /**
1998
+ * This API provides configuration details specific to given region/location at Subscription level.
1999
+ * @param location The location of the resource
2000
+ * @param regionConfigurationRequest Request body to get the configuration for the region.
2001
+ * @param options The options parameters.
2002
+ */
2003
+ regionConfiguration(location: string, regionConfigurationRequest: RegionConfigurationRequest, options?: ServiceRegionConfigurationOptionalParams): Promise<ServiceRegionConfigurationResponse>;
2004
+ /**
2005
+ * This API provides configuration details specific to given region/location at Resource group level.
2006
+ * @param resourceGroupName The Resource Group Name
2007
+ * @param location The location of the resource
2008
+ * @param regionConfigurationRequest Request body to get the configuration for the region at resource
2009
+ * group level.
2010
+ * @param options The options parameters.
2011
+ */
2012
+ regionConfigurationByResourceGroup(resourceGroupName: string, location: string, regionConfigurationRequest: RegionConfigurationRequest, options?: ServiceRegionConfigurationByResourceGroupOptionalParams): Promise<ServiceRegionConfigurationByResourceGroupResponse>;
2013
+ }
2014
+
2015
+ /** Optional parameters. */
2016
+ export declare interface ServiceListAvailableSkusByResourceGroupNextOptionalParams extends coreClient.OperationOptions {
2017
+ }
2018
+
2019
+ /** Contains response data for the listAvailableSkusByResourceGroupNext operation. */
2020
+ export declare type ServiceListAvailableSkusByResourceGroupNextResponse = AvailableSkusResult;
2021
+
2022
+ /** Optional parameters. */
2023
+ export declare interface ServiceListAvailableSkusByResourceGroupOptionalParams extends coreClient.OperationOptions {
2024
+ }
2025
+
2026
+ /** Contains response data for the listAvailableSkusByResourceGroup operation. */
2027
+ export declare type ServiceListAvailableSkusByResourceGroupResponse = AvailableSkusResult;
2028
+
2029
+ /** Optional parameters. */
2030
+ export declare interface ServiceRegionConfigurationByResourceGroupOptionalParams extends coreClient.OperationOptions {
2031
+ }
2032
+
2033
+ /** Contains response data for the regionConfigurationByResourceGroup operation. */
2034
+ export declare type ServiceRegionConfigurationByResourceGroupResponse = RegionConfigurationResponse;
2035
+
2036
+ /** Optional parameters. */
2037
+ export declare interface ServiceRegionConfigurationOptionalParams extends coreClient.OperationOptions {
2038
+ }
2039
+
2040
+ /** Contains response data for the regionConfiguration operation. */
2041
+ export declare type ServiceRegionConfigurationResponse = RegionConfigurationResponse;
2042
+
2043
+ /** Optional parameters. */
2044
+ export declare interface ServiceValidateAddressOptionalParams extends coreClient.OperationOptions {
2045
+ }
2046
+
2047
+ /** Contains response data for the validateAddress operation. */
2048
+ export declare type ServiceValidateAddressResponse = AddressValidationOutput;
2049
+
2050
+ /** Optional parameters. */
2051
+ export declare interface ServiceValidateInputsByResourceGroupOptionalParams extends coreClient.OperationOptions {
2052
+ }
2053
+
2054
+ /** Contains response data for the validateInputsByResourceGroup operation. */
2055
+ export declare type ServiceValidateInputsByResourceGroupResponse = ValidationResponse;
2056
+
2057
+ /** Optional parameters. */
2058
+ export declare interface ServiceValidateInputsOptionalParams extends coreClient.OperationOptions {
2059
+ }
2060
+
2061
+ /** Contains response data for the validateInputs operation. */
2062
+ export declare type ServiceValidateInputsResponse = ValidationResponse;
2063
+
2064
+ /** Credential details of the shares in account. */
2065
+ export declare interface ShareCredentialDetails {
2066
+ /**
2067
+ * Name of the share.
2068
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2069
+ */
2070
+ readonly shareName?: string;
2071
+ /**
2072
+ * Type of the share.
2073
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2074
+ */
2075
+ readonly shareType?: ShareDestinationFormatType;
2076
+ /**
2077
+ * User name for the share.
2078
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2079
+ */
2080
+ readonly userName?: string;
2081
+ /**
2082
+ * Password for the share.
2083
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2084
+ */
2085
+ readonly password?: string;
2086
+ /**
2087
+ * Access protocols supported on the device.
2088
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2089
+ */
2090
+ readonly supportedAccessProtocols?: AccessProtocol[];
2091
+ }
2092
+
2093
+ /** Defines values for ShareDestinationFormatType. */
2094
+ export declare type ShareDestinationFormatType = "UnknownType" | "HCS" | "BlockBlob" | "PageBlob" | "AzureFile" | "ManagedDisk";
2095
+
2096
+ /** Shipment pick up request details. */
2097
+ export declare interface ShipmentPickUpRequest {
2098
+ /** Minimum date after which the pick up should commence, this must be in local time of pick up area. */
2099
+ startTime: Date;
2100
+ /** Maximum date before which the pick up should commence, this must be in local time of pick up area. */
2101
+ endTime: Date;
2102
+ /** Shipment Location in the pickup place. Eg.front desk */
2103
+ shipmentLocation: string;
2104
+ }
2105
+
2106
+ /** Shipment pick up response. */
2107
+ export declare interface ShipmentPickUpResponse {
2108
+ /**
2109
+ * Confirmation number for the pick up request.
2110
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2111
+ */
2112
+ readonly confirmationNumber?: string;
2113
+ /**
2114
+ * Time by which shipment should be ready for pick up, this is in local time of pick up area.
2115
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2116
+ */
2117
+ readonly readyByTime?: Date;
2118
+ }
2119
+
2120
+ /** Shipping address where customer wishes to receive the device. */
2121
+ export declare interface ShippingAddress {
2122
+ /** Street Address line 1. */
2123
+ streetAddress1: string;
2124
+ /** Street Address line 2. */
2125
+ streetAddress2?: string;
2126
+ /** Street Address line 3. */
2127
+ streetAddress3?: string;
2128
+ /** Name of the City. */
2129
+ city?: string;
2130
+ /** Name of the State or Province. */
2131
+ stateOrProvince?: string;
2132
+ /** Name of the Country. */
2133
+ country: string;
2134
+ /** Postal code. */
2135
+ postalCode?: string;
2136
+ /** Extended Zip Code. */
2137
+ zipExtendedCode?: string;
2138
+ /** Name of the company. */
2139
+ companyName?: string;
2140
+ /** Type of address. */
2141
+ addressType?: AddressType;
2142
+ }
2143
+
2144
+ /** The Sku. */
2145
+ export declare interface Sku {
2146
+ /** The sku name. */
2147
+ name: SkuName;
2148
+ /** The display name of the sku. */
2149
+ displayName?: string;
2150
+ /** The sku family. */
2151
+ family?: string;
2152
+ }
2153
+
2154
+ /** Request to validate sku availability. */
2155
+ export declare type SkuAvailabilityValidationRequest = ValidationInputRequest & {
2156
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2157
+ validationType: "ValidateSkuAvailability";
2158
+ /** Device type to be used for the job. */
2159
+ deviceType: SkuName;
2160
+ /** Type of the transfer. */
2161
+ transferType: TransferType;
2162
+ /** ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements */
2163
+ country: string;
2164
+ /** Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 */
2165
+ location: string;
2166
+ };
2167
+
2168
+ /** Properties of sku availability validation response. */
2169
+ export declare type SkuAvailabilityValidationResponseProperties = ValidationInputResponse & {
2170
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2171
+ validationType: "ValidateSkuAvailability";
2172
+ /**
2173
+ * Sku availability validation status.
2174
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2175
+ */
2176
+ readonly status?: ValidationStatus;
2177
+ };
2178
+
2179
+ /** Capacity of the sku. */
2180
+ export declare interface SkuCapacity {
2181
+ /**
2182
+ * Usable capacity in TB.
2183
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2184
+ */
2185
+ readonly usable?: string;
2186
+ /**
2187
+ * Maximum capacity in TB.
2188
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2189
+ */
2190
+ readonly maximum?: string;
2191
+ }
2192
+
2193
+ /** Describes metadata for retrieving price info. */
2194
+ export declare interface SkuCost {
2195
+ /**
2196
+ * Meter id of the Sku.
2197
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2198
+ */
2199
+ readonly meterId?: string;
2200
+ /**
2201
+ * The type of the meter.
2202
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2203
+ */
2204
+ readonly meterType?: string;
2205
+ /**
2206
+ * Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using 1$ shipping guid with appropriate multiplier specific to region.
2207
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2208
+ */
2209
+ readonly multiplier?: number;
2210
+ }
2211
+
2212
+ /** Defines values for SkuDisabledReason. */
2213
+ export declare type SkuDisabledReason = "None" | "Country" | "Region" | "Feature" | "OfferType" | "NoSubscriptionInfo";
2214
+
2215
+ /** Information of the sku. */
2216
+ export declare interface SkuInformation {
2217
+ /**
2218
+ * The Sku.
2219
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2220
+ */
2221
+ readonly sku?: Sku;
2222
+ /**
2223
+ * The sku is enabled or not.
2224
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2225
+ */
2226
+ readonly enabled?: boolean;
2227
+ /**
2228
+ * The map of data location to service location.
2229
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2230
+ */
2231
+ readonly dataLocationToServiceLocationMap?: DataLocationToServiceLocationMap[];
2232
+ /**
2233
+ * Capacity of the Sku.
2234
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2235
+ */
2236
+ readonly capacity?: SkuCapacity;
2237
+ /**
2238
+ * Cost of the Sku.
2239
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2240
+ */
2241
+ readonly costs?: SkuCost[];
2242
+ /**
2243
+ * Api versions that support this Sku.
2244
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2245
+ */
2246
+ readonly apiVersions?: string[];
2247
+ /**
2248
+ * Reason why the Sku is disabled.
2249
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2250
+ */
2251
+ readonly disabledReason?: SkuDisabledReason;
2252
+ /**
2253
+ * Message for why the Sku is disabled.
2254
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2255
+ */
2256
+ readonly disabledReasonMessage?: string;
2257
+ /**
2258
+ * Required feature to access the sku.
2259
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2260
+ */
2261
+ readonly requiredFeature?: string;
2262
+ }
2263
+
2264
+ /** Defines values for SkuName. */
2265
+ export declare type SkuName = "DataBox" | "DataBoxDisk" | "DataBoxHeavy" | "DataBoxCustomerDisk";
2266
+
2267
+ /**
2268
+ * Defines values for StageName. \
2269
+ * {@link KnownStageName} can be used interchangeably with StageName,
2270
+ * this enum contains the known values that the service supports.
2271
+ * ### Known values supported by the service
2272
+ * **DeviceOrdered**: An order has been created. \
2273
+ * **DevicePrepared**: A device has been prepared for the order. \
2274
+ * **Dispatched**: Device has been dispatched to the user of the order. \
2275
+ * **Delivered**: Device has been delivered to the user of the order. \
2276
+ * **PickedUp**: Device has been picked up from user and in transit to Azure datacenter. \
2277
+ * **AtAzureDC**: Device has been received at Azure datacenter from the user. \
2278
+ * **DataCopy**: Data copy from the device at Azure datacenter. \
2279
+ * **Completed**: Order has completed. \
2280
+ * **CompletedWithErrors**: Order has completed with errors. \
2281
+ * **Cancelled**: Order has been cancelled. \
2282
+ * **Failed_IssueReportedAtCustomer**: Order has failed due to issue reported by user. \
2283
+ * **Failed_IssueDetectedAtAzureDC**: Order has failed due to issue detected at Azure datacenter. \
2284
+ * **Aborted**: Order has been aborted. \
2285
+ * **CompletedWithWarnings**: Order has completed with warnings. \
2286
+ * **ReadyToDispatchFromAzureDC**: Device is ready to be handed to customer from Azure DC. \
2287
+ * **ReadyToReceiveAtAzureDC**: Device can be dropped off at Azure DC. \
2288
+ * **Created**: Job created by the customer. \
2289
+ * **ShippedToAzureDC**: User shipped the device to AzureDC. \
2290
+ * **AwaitingShipmentDetails**: Awaiting shipment details of device from customer. \
2291
+ * **PreparingToShipFromAzureDC**: Preparing the device to ship to customer. \
2292
+ * **ShippedToCustomer**: Shipped the device to customer.
2293
+ */
2294
+ export declare type StageName = string;
2295
+
2296
+ /** Defines values for StageStatus. */
2297
+ export declare type StageStatus = "None" | "InProgress" | "Succeeded" | "Failed" | "Cancelled" | "Cancelling" | "SucceededWithErrors" | "WaitingForCustomerAction" | "SucceededWithWarnings" | "WaitingForCustomerActionForKek" | "WaitingForCustomerActionForCleanUp" | "CustomerActionPerformedForCleanUp";
2298
+
2299
+ /** Details for the storage account. */
2300
+ export declare type StorageAccountDetails = DataAccountDetails & {
2301
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2302
+ dataAccountType: "StorageAccount";
2303
+ /** Storage Account Resource Id. */
2304
+ storageAccountId: string;
2305
+ };
2306
+
2307
+ /** Request to validate subscription permission to create jobs. */
2308
+ export declare type SubscriptionIsAllowedToCreateJobValidationRequest = ValidationInputRequest & {
2309
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2310
+ validationType: "ValidateSubscriptionIsAllowedToCreateJob";
2311
+ };
2312
+
2313
+ /** Properties of subscription permission to create job validation response. */
2314
+ export declare type SubscriptionIsAllowedToCreateJobValidationResponseProperties = ValidationInputResponse & {
2315
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2316
+ validationType: "ValidateSubscriptionIsAllowedToCreateJob";
2317
+ /**
2318
+ * Validation status of subscription permission to create job.
2319
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2320
+ */
2321
+ readonly status?: ValidationStatus;
2322
+ };
2323
+
2324
+ /** Provides details about resource creation and update time */
2325
+ export declare interface SystemData {
2326
+ /**
2327
+ * A string identifier for the identity that created the resource
2328
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2329
+ */
2330
+ readonly createdBy?: string;
2331
+ /**
2332
+ * The type of identity that created the resource: user, application, managedIdentity
2333
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2334
+ */
2335
+ readonly createdByType?: string;
2336
+ /**
2337
+ * The timestamp of resource creation (UTC)
2338
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2339
+ */
2340
+ readonly createdAt?: Date;
2341
+ /**
2342
+ * A string identifier for the identity that last modified the resource
2343
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2344
+ */
2345
+ readonly lastModifiedBy?: string;
2346
+ /**
2347
+ * The type of identity that last modified the resource: user, application, managedIdentity
2348
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2349
+ */
2350
+ readonly lastModifiedByType?: string;
2351
+ /**
2352
+ * The timestamp of resource last modification (UTC)
2353
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2354
+ */
2355
+ readonly lastModifiedAt?: Date;
2356
+ }
2357
+
2358
+ /** Details to transfer all data. */
2359
+ export declare interface TransferAllDetails {
2360
+ /** Type of the account of data */
2361
+ dataAccountType: DataAccountType;
2362
+ /** To indicate if all Azure blobs have to be transferred */
2363
+ transferAllBlobs?: boolean;
2364
+ /** To indicate if all Azure Files have to be transferred */
2365
+ transferAllFiles?: boolean;
2366
+ }
2367
+
2368
+ /** Configuration for defining the transfer of data. */
2369
+ export declare interface TransferConfiguration {
2370
+ /** Type of the configuration for transfer. */
2371
+ transferConfigurationType: TransferConfigurationType;
2372
+ /** Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. */
2373
+ transferFilterDetails?: TransferConfigurationTransferFilterDetails;
2374
+ /** Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll */
2375
+ transferAllDetails?: TransferConfigurationTransferAllDetails;
2376
+ }
2377
+
2378
+ /** Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll */
2379
+ export declare interface TransferConfigurationTransferAllDetails {
2380
+ /** Details to transfer all data. */
2381
+ include?: TransferAllDetails;
2382
+ }
2383
+
2384
+ /** Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. */
2385
+ export declare interface TransferConfigurationTransferFilterDetails {
2386
+ /** Details of the filtering the transfer of data. */
2387
+ include?: TransferFilterDetails;
2388
+ }
2389
+
2390
+ /** Defines values for TransferConfigurationType. */
2391
+ export declare type TransferConfigurationType = "TransferAll" | "TransferUsingFilter";
2392
+
2393
+ /** Details of the filtering the transfer of data. */
2394
+ export declare interface TransferFilterDetails {
2395
+ /** Type of the account of data. */
2396
+ dataAccountType: DataAccountType;
2397
+ /** Filter details to transfer blobs. */
2398
+ blobFilterDetails?: BlobFilterDetails;
2399
+ /** Filter details to transfer Azure files. */
2400
+ azureFileFilterDetails?: AzureFileFilterDetails;
2401
+ /** Details of the filter files to be used for data transfer. */
2402
+ filterFileDetails?: FilterFileDetails[];
2403
+ }
2404
+
2405
+ /** Defines values for TransferType. */
2406
+ export declare type TransferType = "ImportToAzure" | "ExportFromAzure";
2407
+
2408
+ /** Transport options availability details for given region. */
2409
+ export declare interface TransportAvailabilityDetails {
2410
+ /**
2411
+ * Transport Shipment Type supported for given region.
2412
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2413
+ */
2414
+ readonly shipmentType?: TransportShipmentTypes;
2415
+ }
2416
+
2417
+ /** Request body to get the transport availability for given sku. */
2418
+ export declare interface TransportAvailabilityRequest {
2419
+ /** Type of the device. */
2420
+ skuName?: SkuName;
2421
+ }
2422
+
2423
+ /** Transport options available for given sku in a region. */
2424
+ export declare interface TransportAvailabilityResponse {
2425
+ /**
2426
+ * List of transport availability details for given region
2427
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2428
+ */
2429
+ readonly transportAvailabilityDetails?: TransportAvailabilityDetails[];
2430
+ }
2431
+
2432
+ /** Preferences related to the shipment logistics of the sku */
2433
+ export declare interface TransportPreferences {
2434
+ /** Indicates Shipment Logistics type that the customer preferred. */
2435
+ preferredShipmentType: TransportShipmentTypes;
2436
+ }
2437
+
2438
+ /** Defines values for TransportShipmentTypes. */
2439
+ export declare type TransportShipmentTypes = "CustomerManaged" | "MicrosoftManaged";
2440
+
2441
+ /** Unencrypted credentials for accessing device. */
2442
+ export declare interface UnencryptedCredentials {
2443
+ /**
2444
+ * Name of the job.
2445
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2446
+ */
2447
+ readonly jobName?: string;
2448
+ /**
2449
+ * Secrets related to this job.
2450
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2451
+ */
2452
+ readonly jobSecrets?: JobSecretsUnion;
2453
+ }
2454
+
2455
+ /** List of unencrypted credentials for accessing device. */
2456
+ export declare interface UnencryptedCredentialsList {
2457
+ /** List of unencrypted credentials. */
2458
+ value?: UnencryptedCredentials[];
2459
+ /** Link for the next set of unencrypted credentials. */
2460
+ nextLink?: string;
2461
+ }
2462
+
2463
+ /** Job details for update. */
2464
+ export declare interface UpdateJobDetails {
2465
+ /** Contact details for notification and shipping. */
2466
+ contactDetails?: ContactDetails;
2467
+ /** Shipping address of the customer. */
2468
+ shippingAddress?: ShippingAddress;
2469
+ /** Key encryption key for the job. */
2470
+ keyEncryptionKey?: KeyEncryptionKey;
2471
+ /** Return package details of job. */
2472
+ returnToCustomerPackageDetails?: PackageCarrierDetails;
2473
+ }
2474
+
2475
+ /** Class defining User assigned identity details. */
2476
+ export declare interface UserAssignedIdentity {
2477
+ /**
2478
+ * The principal id of user assigned identity.
2479
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2480
+ */
2481
+ readonly principalId?: string;
2482
+ /**
2483
+ * The client id of user assigned identity.
2484
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2485
+ */
2486
+ readonly clientId?: string;
2487
+ }
2488
+
2489
+ /** User assigned identity properties. */
2490
+ export declare interface UserAssignedProperties {
2491
+ /** Arm resource id for user assigned identity to be used to fetch MSI token. */
2492
+ resourceId?: string;
2493
+ }
2494
+
2495
+ /** The requirements to validate customer address where the device needs to be shipped. */
2496
+ export declare type ValidateAddress = ValidationInputRequest & {
2497
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2498
+ validationType: "ValidateAddress";
2499
+ /** Shipping address of the customer. */
2500
+ shippingAddress: ShippingAddress;
2501
+ /** Device type to be used for the job. */
2502
+ deviceType: SkuName;
2503
+ /** Preferences related to the shipment logistics of the sku. */
2504
+ transportPreferences?: TransportPreferences;
2505
+ };
2506
+
2507
+ /** Defines values for ValidationInputDiscriminator. */
2508
+ export declare type ValidationInputDiscriminator = "ValidateAddress" | "ValidateSubscriptionIsAllowedToCreateJob" | "ValidatePreferences" | "ValidateCreateOrderLimit" | "ValidateSkuAvailability" | "ValidateDataTransferDetails";
2509
+
2510
+ /** Minimum fields that must be present in any type of validation request. */
2511
+ export declare interface ValidationInputRequest {
2512
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2513
+ validationType: "ValidateAddress" | "ValidateCreateOrderLimit" | "ValidateDataTransferDetails" | "ValidatePreferences" | "ValidateSkuAvailability" | "ValidateSubscriptionIsAllowedToCreateJob";
2514
+ }
2515
+
2516
+ export declare type ValidationInputRequestUnion = ValidationInputRequest | ValidateAddress | CreateOrderLimitForSubscriptionValidationRequest | DataTransferDetailsValidationRequest | PreferencesValidationRequest | SkuAvailabilityValidationRequest | SubscriptionIsAllowedToCreateJobValidationRequest;
2517
+
2518
+ /** Minimum properties that should be present in each individual validation response. */
2519
+ export declare interface ValidationInputResponse {
2520
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2521
+ validationType: "ValidateAddress" | "ValidateCreateOrderLimit" | "ValidateDataTransferDetails" | "ValidatePreferences" | "ValidateSkuAvailability" | "ValidateSubscriptionIsAllowedToCreateJob";
2522
+ /**
2523
+ * Error code and message of validation response.
2524
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2525
+ */
2526
+ readonly error?: CloudError;
2527
+ }
2528
+
2529
+ export declare type ValidationInputResponseUnion = ValidationInputResponse | AddressValidationProperties | CreateOrderLimitForSubscriptionValidationResponseProperties | DataTransferDetailsValidationResponseProperties | PreferencesValidationResponseProperties | SkuAvailabilityValidationResponseProperties | SubscriptionIsAllowedToCreateJobValidationResponseProperties;
2530
+
2531
+ /** Minimum request requirement of any validation category. */
2532
+ export declare interface ValidationRequest {
2533
+ /** Polymorphic discriminator, which specifies the different types this object can be */
2534
+ validationCategory: "JobCreationValidation";
2535
+ /** List of request details contain validationType and its request as key and value respectively. */
2536
+ individualRequestDetails: ValidationInputRequestUnion[];
2537
+ }
2538
+
2539
+ export declare type ValidationRequestUnion = ValidationRequest | CreateJobValidations;
2540
+
2541
+ /** Response of pre job creation validations. */
2542
+ export declare interface ValidationResponse {
2543
+ /**
2544
+ * Overall validation status.
2545
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2546
+ */
2547
+ readonly status?: OverallValidationStatus;
2548
+ /**
2549
+ * List of response details contain validationType and its response as key and value respectively.
2550
+ * NOTE: This property will not be serialized. It can only be populated by the server.
2551
+ */
2552
+ readonly individualResponseDetails?: ValidationInputResponseUnion[];
2553
+ }
2554
+
2555
+ /** Defines values for ValidationStatus. */
2556
+ export declare type ValidationStatus = "Valid" | "Invalid" | "Skipped";
2557
+
2558
+ export { }