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