diff --git a/sdk/databox/arm-databox/LICENSE.txt b/sdk/databox/arm-databox/LICENSE.txt index ea8fb1516028..2d3163745319 100644 --- a/sdk/databox/arm-databox/LICENSE.txt +++ b/sdk/databox/arm-databox/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2020 Microsoft +Copyright (c) 2021 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/databox/arm-databox/README.md b/sdk/databox/arm-databox/README.md index da15b9671dab..f8fcc30937ea 100644 --- a/sdk/databox/arm-databox/README.md +++ b/sdk/databox/arm-databox/README.md @@ -1,11 +1,11 @@ ## Azure DataBoxManagementClient SDK for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for DataBoxManagementClient. +This package contains an isomorphic SDK (runs both in node.js and in browsers) for DataBoxManagementClient. ### Currently supported environments - [LTS versions of Node.js](https://nodejs.org/about/releases/) -- Latest versions of Safari, Chrome, Edge, and Firefox. +- Latest versions of Safari, Chrome, Edge and Firefox. ### Prerequisites @@ -21,7 +21,6 @@ Install both packages using the below command: ```bash npm install --save @azure/arm-databox @azure/identity ``` - > **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. @@ -37,7 +36,6 @@ If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/ In the below samples, we pass the credential and the Azure subscription id to instantiate the client. Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. - #### nodejs - Authentication, client creation, and list operations as an example written in JavaScript. ##### Sample code @@ -51,7 +49,6 @@ const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; // Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. const creds = new DefaultAzureCredential(); const client = new DataBoxManagementClient(creds, subscriptionId); - client.operations.list().then((result) => { console.log("The result is:"); console.log(result); @@ -86,7 +83,7 @@ In browser applications, we recommend using the `InteractiveBrowserCredential` t const credential = new InteractiveBrowserCredential( { clientId: "", - tenantId: "" + tenant: "" }); const client = new Azure.ArmDatabox.DataBoxManagementClient(creds, subscriptionId); client.operations.list().then((result) => { diff --git a/sdk/databox/arm-databox/package.json b/sdk/databox/arm-databox/package.json index 3f474e86ade1..87119f917cdc 100644 --- a/sdk/databox/arm-databox/package.json +++ b/sdk/databox/arm-databox/package.json @@ -27,7 +27,7 @@ "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.6.0" }, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/feature/v4/sdk/databox/arm-databox", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/databox/arm-databox", "repository": { "type": "git", "url": "https://github.com/Azure/azure-sdk-for-js.git" diff --git a/sdk/databox/arm-databox/rollup.config.js b/sdk/databox/arm-databox/rollup.config.js index b5c16bd4ad21..621614ac8ec1 100644 --- a/sdk/databox/arm-databox/rollup.config.js +++ b/sdk/databox/arm-databox/rollup.config.js @@ -21,8 +21,8 @@ const config = { "@azure/ms-rest-azure-js": "msRestAzure" }, banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. diff --git a/sdk/databox/arm-databox/src/dataBoxManagementClient.ts b/sdk/databox/arm-databox/src/dataBoxManagementClient.ts index ef58e9ba9067..de2b66b03678 100644 --- a/sdk/databox/arm-databox/src/dataBoxManagementClient.ts +++ b/sdk/databox/arm-databox/src/dataBoxManagementClient.ts @@ -1,7 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is @@ -12,6 +11,7 @@ import * as msRest from "@azure/ms-rest-js"; import { TokenCredential } from "@azure/core-auth"; import * as Models from "./models"; import * as Mappers from "./models/mappers"; +import * as Parameters from "./models/parameters"; import * as operations from "./operations"; import { DataBoxManagementClientContext } from "./dataBoxManagementClientContext"; @@ -39,9 +39,83 @@ class DataBoxManagementClient extends DataBoxManagementClientContext { this.jobs = new operations.Jobs(this); this.service = new operations.Service(this); } + + /** + * Request to mitigate for a given job + * @param jobName The name of the job Resource within the specified resource group. job names must + * be between 3 and 24 characters in length and use any alphanumeric and underscore only + * @param resourceGroupName The Resource Group Name + * @param customerResolutionCode Resolution code for the job. Possible values include: 'None', + * 'MoveToCleanUpDevice', 'Resume' + * @param [options] The optional parameters + * @returns Promise + */ + mitigate(jobName: string, resourceGroupName: string, customerResolutionCode: Models.CustomerResolutionCode, options?: msRest.RequestOptionsBase): Promise; + /** + * @param jobName The name of the job Resource within the specified resource group. job names must + * be between 3 and 24 characters in length and use any alphanumeric and underscore only + * @param resourceGroupName The Resource Group Name + * @param customerResolutionCode Resolution code for the job. Possible values include: 'None', + * 'MoveToCleanUpDevice', 'Resume' + * @param callback The callback + */ + mitigate(jobName: string, resourceGroupName: string, customerResolutionCode: Models.CustomerResolutionCode, callback: msRest.ServiceCallback): void; + /** + * @param jobName The name of the job Resource within the specified resource group. job names must + * be between 3 and 24 characters in length and use any alphanumeric and underscore only + * @param resourceGroupName The Resource Group Name + * @param customerResolutionCode Resolution code for the job. Possible values include: 'None', + * 'MoveToCleanUpDevice', 'Resume' + * @param options The optional parameters + * @param callback The callback + */ + mitigate(jobName: string, resourceGroupName: string, customerResolutionCode: Models.CustomerResolutionCode, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + mitigate(jobName: string, resourceGroupName: string, customerResolutionCode: Models.CustomerResolutionCode, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + jobName, + resourceGroupName, + customerResolutionCode, + options + }, + mitigateOperationSpec, + callback); + } } // Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const mitigateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/mitigate", + urlParameters: [ + Parameters.jobName, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + customerResolutionCode: "customerResolutionCode" + }, + mapper: { + ...Mappers.MitigateJobRequest, + required: true + } + }, + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; export { DataBoxManagementClient, diff --git a/sdk/databox/arm-databox/src/dataBoxManagementClientContext.ts b/sdk/databox/arm-databox/src/dataBoxManagementClientContext.ts index a7435663e889..65f7483f7b77 100644 --- a/sdk/databox/arm-databox/src/dataBoxManagementClientContext.ts +++ b/sdk/databox/arm-databox/src/dataBoxManagementClientContext.ts @@ -1,7 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is @@ -10,8 +9,8 @@ import * as Models from "./models"; import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; import * as msRestAzure from "@azure/ms-rest-azure-js"; +import { TokenCredential } from "@azure/core-auth"; const packageName = "@azure/arm-databox"; const packageVersion = "4.1.1"; @@ -50,7 +49,7 @@ export class DataBoxManagementClientContext extends msRestAzure.AzureServiceClie super(credentials, options); - this.apiVersion = '2019-09-01'; + this.apiVersion = '2021-08-01-preview'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; diff --git a/sdk/databox/arm-databox/src/models/index.ts b/sdk/databox/arm-databox/src/models/index.ts index cb6886205c43..4196ed10a98a 100644 --- a/sdk/databox/arm-databox/src/models/index.ts +++ b/sdk/databox/arm-databox/src/models/index.ts @@ -1,6 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. @@ -53,10 +53,10 @@ export interface AccountCredentialDetails { */ readonly accountName?: string; /** - * Data Destination Type. Possible values include: 'StorageAccount', 'ManagedDisk' + * Type of the account. Possible values include: 'StorageAccount', 'ManagedDisk' * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly dataDestinationType?: DataDestinationType; + readonly dataAccountType?: DataAccountType; /** * Connection string of the account endpoint to use the account as a storage endpoint on the * device. @@ -70,6 +70,20 @@ export interface AccountCredentialDetails { readonly shareCredentialDetails?: ShareCredentialDetails[]; } +/** + * Additional error info. + */ +export interface AdditionalErrorInfo { + /** + * Additional error type. + */ + type?: string; + /** + * Additional error info. + */ + info?: any; +} + /** * Shipping address where customer wishes to receive the device. */ @@ -101,7 +115,7 @@ export interface ShippingAddress { /** * Postal code. */ - postalCode: string; + postalCode?: string; /** * Extended Zip Code. */ @@ -111,7 +125,8 @@ export interface ShippingAddress { */ companyName?: string; /** - * Type of address. Possible values include: 'None', 'Residential', 'Commercial' + * Type of address. Possible values include: 'None', 'Residential', 'Commercial'. Default value: + * 'None'. */ addressType?: AddressType; } @@ -124,7 +139,7 @@ export interface AddressValidationOutput { * Error code and message of validation response. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly error?: ErrorModel; + readonly error?: CloudError; /** * Polymorphic Discriminator */ @@ -141,6 +156,31 @@ export interface AddressValidationOutput { readonly alternateAddresses?: ShippingAddress[]; } +/** + * An interface representing Details. + */ +export interface Details { + code: string; + message: string; +} + +/** + * An interface representing ErrorDetail. + */ +export interface ErrorDetail { + code: string; + message: string; + details?: Details[]; + target?: string; +} + +/** + * An interface representing ApiError. + */ +export interface ApiError { + error: ErrorDetail; +} + /** * The Network Adapter configuration of a DataBox. */ @@ -182,6 +222,10 @@ export interface ArmBaseObject { * The filters for showing the available skus. */ export interface AvailableSkuRequest { + /** + * Type of the transfer. Possible values include: 'ImportToAzure', 'ExportFromAzure' + */ + transferType: TransferType; /** * ISO country code. Country for hardware shipment. For codes check: * https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements @@ -203,7 +247,8 @@ export interface AvailableSkuRequest { */ export interface Sku { /** - * The sku name. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + * The sku name. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy', + * 'DataBoxCustomerDisk' */ name: SkuName; /** @@ -217,14 +262,14 @@ export interface Sku { } /** - * Map of destination location to service location. + * Map of data location to service location */ -export interface DestinationToServiceLocationMap { +export interface DataLocationToServiceLocationMap { /** - * Location of the destination. + * Location of the data. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly destinationLocation?: string; + readonly dataLocation?: string; /** * Location of the service. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -262,6 +307,12 @@ export interface SkuCost { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly meterType?: string; + /** + * 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. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly multiplier?: number; } /** @@ -279,10 +330,10 @@ export interface SkuInformation { */ readonly enabled?: boolean; /** - * The map of destination location to service location. + * The map of data location to service location. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly destinationToServiceLocationMap?: DestinationToServiceLocationMap[]; + readonly dataLocationToServiceLocationMap?: DataLocationToServiceLocationMap[]; /** * Capacity of the Sku. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -316,6 +367,42 @@ export interface SkuInformation { readonly requiredFeature?: string; } +/** + * Filter details to transfer Azure files + */ +export interface AzureFileFilterDetails { + /** + * Prefix list of the Azure files to be transferred. + */ + filePrefixList?: string[]; + /** + * List of full path of the files to be transferred. + */ + filePathList?: string[]; + /** + * List of file shares to be transferred. + */ + fileShareList?: string[]; +} + +/** + * Filter details to transfer Azure Blobs + */ +export interface BlobFilterDetails { + /** + * Prefix list of the Azure blobs to be transferred. + */ + blobPrefixList?: string[]; + /** + * List of full path of the blobs to be transferred. + */ + blobPathList?: string[]; + /** + * List of blob containers to be transferred. + */ + containerList?: string[]; +} + /** * Reason for cancellation. */ @@ -332,11 +419,11 @@ export interface CancellationReason { export interface NotificationPreference { /** * Name of the stage. Possible values include: 'DevicePrepared', 'Dispatched', 'Delivered', - * 'PickedUp', 'AtAzureDC', 'DataCopy' + * 'PickedUp', 'AtAzureDC', 'DataCopy', 'Created', 'ShippedToCustomer' */ stageName: NotificationStageName; /** - * Notification is required or not. + * Notification is required or not. Default value: true. */ sendNotification: boolean; } @@ -374,7 +461,7 @@ export interface ContactDetails { /** * Contains the possible cases for CopyLogDetails. */ -export type CopyLogDetailsUnion = CopyLogDetails | DataBoxAccountCopyLogDetails | DataBoxDiskCopyLogDetails | DataBoxHeavyAccountCopyLogDetails; +export type CopyLogDetailsUnion = CopyLogDetails | DataBoxAccountCopyLogDetails | DataBoxCustomerDiskCopyLogDetails | DataBoxDiskCopyLogDetails | DataBoxHeavyAccountCopyLogDetails; /** * Details for log generated during copy. @@ -391,37 +478,43 @@ export interface CopyLogDetails { */ export interface CopyProgress { /** - * Name of the storage account where the data needs to be uploaded. + * Name of the storage account. This will be empty for data account types other than storage + * account. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly storageAccountName?: string; /** - * Data Destination Type. Possible values include: 'StorageAccount', 'ManagedDisk' + * Transfer type of data. Possible values include: 'ImportToAzure', 'ExportFromAzure' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly transferType?: TransferType; + /** + * Data Account Type. Possible values include: 'StorageAccount', 'ManagedDisk' * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly dataDestinationType?: DataDestinationType; + readonly dataAccountType?: DataAccountType; /** * Id of the account where the data needs to be uploaded. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly accountId?: string; /** - * Amount of data uploaded by the job as of now. + * To indicate bytes transferred. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly bytesSentToCloud?: number; + readonly bytesProcessed?: number; /** * Total amount of data to be processed by the job. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly totalBytesToProcess?: number; /** - * Number of files processed by the job as of now. + * Number of files processed * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly filesProcessed?: number; /** - * Total number of files to be processed by the job. + * Total files to process * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly totalFilesToProcess?: number; @@ -448,12 +541,81 @@ export interface CopyProgress { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly filesErroredOut?: number; + /** + * To indicate directories errored out in the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly directoriesErroredOut?: number; + /** + * To indicate directories renamed + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly invalidDirectoriesProcessed?: number; + /** + * To indicate if enumeration of data is in progress. + * Until this is true, the TotalBytesToProcess may not be valid. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isEnumerationInProgress?: boolean; +} + +/** + * DataBox CustomerDisk Copy Progress + */ +export interface DataBoxCustomerDiskCopyProgress extends CopyProgress { + /** + * Disk Serial Number. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serialNumber?: string; + /** + * The Status of the copy. Possible values include: 'NotStarted', 'InProgress', 'Completed', + * 'CompletedWithErrors', 'Failed', 'NotReturned', 'HardwareError', 'DeviceFormatted', + * 'DeviceMetadataModified', 'StorageAccountNotAccessible', 'UnsupportedData', + * 'DriveNotReceived', 'UnsupportedDrive', 'OtherServiceError', 'OtherUserError', + * 'DriveNotDetected', 'DriveCorrupted', 'MetadataFilesModifiedOrRemoved' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly copyStatus?: CopyStatus; +} + +/** + * Contains the possible cases for ValidationRequest. + */ +export type ValidationRequestUnion = ValidationRequest | CreateJobValidations; + +/** + * Minimum request requirement of any validation category. + */ +export interface ValidationRequest { + /** + * Polymorphic Discriminator + */ + validationCategory: "ValidationRequest"; + /** + * List of request details contain validationType and its request as key and value respectively. + */ + individualRequestDetails: ValidationInputRequestUnion[]; +} + +/** + * It does all pre-job creation validations. + */ +export interface CreateJobValidations { + /** + * Polymorphic Discriminator + */ + validationCategory: "JobCreationValidation"; + /** + * List of request details contain validationType and its request as key and value respectively. + */ + individualRequestDetails: ValidationInputRequestUnion[]; } /** * Contains the possible cases for ValidationInputRequest. */ -export type ValidationInputRequestUnion = ValidationInputRequest | CreateOrderLimitForSubscriptionValidationRequest | DataDestinationDetailsValidationRequest | PreferencesValidationRequest | SkuAvailabilityValidationRequest | SubscriptionIsAllowedToCreateJobValidationRequest | ValidateAddress; +export type ValidationInputRequestUnion = ValidationInputRequest | CreateOrderLimitForSubscriptionValidationRequest | DataTransferDetailsValidationRequest | PreferencesValidationRequest | SkuAvailabilityValidationRequest | SubscriptionIsAllowedToCreateJobValidationRequest | ValidateAddress; /** * Minimum fields that must be present in any type of validation request. @@ -475,7 +637,7 @@ export interface CreateOrderLimitForSubscriptionValidationRequest { validationType: "ValidateCreateOrderLimit"; /** * Device type to be used for the job. Possible values include: 'DataBox', 'DataBoxDisk', - * 'DataBoxHeavy' + * 'DataBoxHeavy', 'DataBoxCustomerDisk' */ deviceType: SkuName; } @@ -483,7 +645,7 @@ export interface CreateOrderLimitForSubscriptionValidationRequest { /** * Contains the possible cases for ValidationInputResponse. */ -export type ValidationInputResponseUnion = ValidationInputResponse | CreateOrderLimitForSubscriptionValidationResponseProperties | DataDestinationDetailsValidationResponseProperties | PreferencesValidationResponseProperties | SkuAvailabilityValidationResponseProperties | SubscriptionIsAllowedToCreateJobValidationResponseProperties; +export type ValidationInputResponseUnion = ValidationInputResponse | CreateOrderLimitForSubscriptionValidationResponseProperties | DataTransferDetailsValidationResponseProperties | PreferencesValidationResponseProperties | SkuAvailabilityValidationResponseProperties | SubscriptionIsAllowedToCreateJobValidationResponseProperties; /** * Minimum properties that should be present in each individual validation response. @@ -497,7 +659,7 @@ export interface ValidationInputResponse { * Error code and message of validation response. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly error?: ErrorModel; + readonly error?: CloudError; } /** @@ -512,7 +674,7 @@ export interface CreateOrderLimitForSubscriptionValidationResponseProperties { * Error code and message of validation response. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly error?: ErrorModel; + readonly error?: CloudError; /** * Create order limit validation status. Possible values include: 'Valid', 'Invalid', 'Skipped' * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -521,82 +683,85 @@ export interface CreateOrderLimitForSubscriptionValidationResponseProperties { } /** - * Copy log details for a storage account of a DataBox job + * Import disk details */ -export interface DataBoxAccountCopyLogDetails { +export interface ImportDiskDetails { /** - * Polymorphic Discriminator + * The relative path of the manifest file on the disk. */ - copyLogDetailsType: "DataBox"; + manifestFile: string; /** - * Destination account name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Base16-encoded MD5 hash of the manifest file on the disk. */ - readonly accountName?: string; + manifestHash: string; /** - * Link for copy logs. + * BitLocker key used to encrypt the disk. + */ + bitLockerKey: string; + /** + * Path to backed up manifest, only returned if enableManifestBackup is true. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly copyLogLink?: string; + readonly backupManifestCloudPath?: string; } /** - * Copy Log Details for a disk + * Export disk details */ -export interface DataBoxDiskCopyLogDetails { - /** - * Polymorphic Discriminator - */ - copyLogDetailsType: "DataBoxDisk"; +export interface ExportDiskDetails { /** - * Disk Serial Number. + * The relative path of the manifest file on the disk. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly diskSerialNumber?: string; + readonly manifestFile?: string; /** - * Link for copy error logs. + * The Base16-encoded MD5 hash of the manifest file on the disk. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly errorLogLink?: string; + readonly manifestHash?: string; /** - * Link for copy verbose logs. + * Path to backed up manifest, only returned if enableManifestBackup is true. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly verboseLogLink?: string; + readonly backupManifestCloudPath?: string; } /** - * DataBox Disk Copy Progress + * package carrier info */ -export interface DataBoxDiskCopyProgress { +export interface PackageCarrierInfo { /** - * The serial number of the disk - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Name of the carrier. */ - readonly serialNumber?: string; + carrierName?: string; /** - * Bytes copied during the copy of disk. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Tracking Id of shipment. */ - readonly bytesCopied?: number; + trackingId?: string; +} + +/** + * Package carrier details. + */ +export interface PackageCarrierDetails { /** - * Indicates the percentage completed for the copy of the disk. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Carrier Account Number of customer for customer disk. */ - readonly percentComplete?: number; + carrierAccountNumber?: string; /** - * The Status of the copy. Possible values include: 'NotStarted', 'InProgress', 'Completed', - * 'CompletedWithErrors', 'Failed', 'NotReturned', 'HardwareError', 'DeviceFormatted', - * 'DeviceMetadataModified', 'StorageAccountNotAccessible', 'UnsupportedData' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Name of the carrier. */ - readonly status?: CopyStatus; + carrierName?: string; + /** + * Tracking Id of shipment. + */ + trackingId?: string; } /** * Contains the possible cases for JobDetails. */ -export type JobDetailsUnion = JobDetails | DataBoxDiskJobDetails | DataBoxHeavyJobDetails | DataBoxJobDetails; +export type JobDetailsUnion = JobDetails | DataBoxCustomerDiskJobDetails | DataBoxDiskJobDetails | DataBoxHeavyJobDetails | DataBoxJobDetails; /** * Job details. @@ -606,10 +771,6 @@ export interface JobDetails { * Polymorphic Discriminator */ jobDetailsType: "JobDetails"; - /** - * The expected size of the data, which needs to be transferred in this job, in terabytes. - */ - expectedDataSizeInTerabytes?: number; /** * List of stages that run in the job. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -622,7 +783,7 @@ export interface JobDetails { /** * Shipping address of the customer. */ - shippingAddress: ShippingAddress; + shippingAddress?: ShippingAddress; /** * Delivery package shipping details. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -634,14 +795,13 @@ export interface JobDetails { */ readonly returnPackage?: PackageShippingDetails; /** - * Destination account details. + * Details of the data to be imported into azure. */ - destinationAccountDetails: DestinationAccountDetailsUnion[]; + dataImportDetails?: DataImportDetails[]; /** - * Error details for failure. This is optional. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Details of the data to be exported from azure. */ - readonly errorDetails?: JobErrorDetails[]; + dataExportDetails?: DataExportDetails[]; /** * Preferences for the order. */ @@ -661,20 +821,49 @@ export interface JobDetails { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly chainOfCustodySasKey?: string; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: KeyEncryptionKey; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Available actions on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly actions?: CustomerResolutionCode[]; + /** + * Last mitigation action performed on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastMitigationActionOnJob?: LastMitigationActionOnJob; + /** + * Datacenter address to ship to, for the given sku and storage location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly datacenterAddress?: DatacenterAddressResponseUnion; + /** + * DataCenter code. Possible values include: 'Invalid', 'BY2', 'BY1', 'ORK70', 'AM2', 'AMS20', + * 'BY21', 'BY24', 'MWH01', 'AMS06', 'SSE90', 'SYD03', 'SYD23', 'CBR20', 'YTO20', 'CWL20', + * 'LON24', 'BOM01', 'BL20', 'BL7', 'SEL20', 'TYO01', 'BN1', 'SN5', 'CYS04', 'TYO22', 'YTO21', + * 'YQB20', 'FRA22', 'MAA01', 'CPQ02', 'CPQ20', 'SIN20', 'HKG20', 'SG2', 'MEL23', 'SEL21', + * 'OSA20', 'SHA03', 'BJB', 'JNB22', 'JNB21', 'MNZ21', 'SN8', 'AUH20', 'ZRH20', 'PUS20', 'AdHoc', + * 'CH1', 'DSM05' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataCenterCode?: DataCenterCode; } /** - * DataBox Disk Job Details. + * Customer disk job details. */ -export interface DataBoxDiskJobDetails { +export interface DataBoxCustomerDiskJobDetails { /** * Polymorphic Discriminator */ - jobDetailsType: "DataBoxDisk"; - /** - * The expected size of the data, which needs to be transferred in this job, in terabytes. - */ - expectedDataSizeInTerabytes?: number; + jobDetailsType: "DataBoxCustomerDisk"; /** * List of stages that run in the job. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -687,7 +876,7 @@ export interface DataBoxDiskJobDetails { /** * Shipping address of the customer. */ - shippingAddress: ShippingAddress; + shippingAddress?: ShippingAddress; /** * Delivery package shipping details. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -699,14 +888,13 @@ export interface DataBoxDiskJobDetails { */ readonly returnPackage?: PackageShippingDetails; /** - * Destination account details. + * Details of the data to be imported into azure. */ - destinationAccountDetails: DestinationAccountDetailsUnion[]; + dataImportDetails?: DataImportDetails[]; /** - * Error details for failure. This is optional. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Details of the data to be exported from azure. */ - readonly errorDetails?: JobErrorDetails[]; + dataExportDetails?: DataExportDetails[]; /** * Preferences for the order. */ @@ -727,26 +915,66 @@ export interface DataBoxDiskJobDetails { */ readonly chainOfCustodySasKey?: string; /** - * 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. + * Details about which key encryption type is being used. */ - preferredDisks?: { [propertyName: string]: number }; + keyEncryptionKey?: KeyEncryptionKey; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Available actions on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly actions?: CustomerResolutionCode[]; + /** + * Last mitigation action performed on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastMitigationActionOnJob?: LastMitigationActionOnJob; + /** + * Datacenter address to ship to, for the given sku and storage location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly datacenterAddress?: DatacenterAddressResponseUnion; + /** + * DataCenter code. Possible values include: 'Invalid', 'BY2', 'BY1', 'ORK70', 'AM2', 'AMS20', + * 'BY21', 'BY24', 'MWH01', 'AMS06', 'SSE90', 'SYD03', 'SYD23', 'CBR20', 'YTO20', 'CWL20', + * 'LON24', 'BOM01', 'BL20', 'BL7', 'SEL20', 'TYO01', 'BN1', 'SN5', 'CYS04', 'TYO22', 'YTO21', + * 'YQB20', 'FRA22', 'MAA01', 'CPQ02', 'CPQ20', 'SIN20', 'HKG20', 'SG2', 'MEL23', 'SEL21', + * 'OSA20', 'SHA03', 'BJB', 'JNB22', 'JNB21', 'MNZ21', 'SN8', 'AUH20', 'ZRH20', 'PUS20', 'AdHoc', + * 'CH1', 'DSM05' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataCenterCode?: DataCenterCode; + /** + * Contains the map of disk serial number to the disk details for import jobs. + */ + importDiskDetailsCollection?: { [propertyName: string]: ImportDiskDetails }; + /** + * Contains the map of disk serial number to the disk details for export jobs. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exportDiskDetailsCollection?: { [propertyName: string]: ExportDiskDetails }; /** * Copy progress per disk. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly copyProgress?: DataBoxDiskCopyProgress[]; + readonly copyProgress?: DataBoxCustomerDiskCopyProgress[]; /** - * 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. + * Delivery package shipping details. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly disksAndSizeDetails?: { [propertyName: string]: number }; + readonly deliverToDcPackageDetails?: PackageCarrierInfo; /** - * User entered passkey for DataBox Disk job. + * Return package shipping details. */ - passkey?: string; + returnToCustomerPackageDetails: PackageCarrierDetails; + /** + * Flag to indicate if disk manifest should be backed-up in the Storage Account. Default value: + * false. + */ + enableManifestBackup?: boolean; } /** @@ -768,7 +996,7 @@ export interface DiskSecret { /** * Contains the possible cases for JobSecrets. */ -export type JobSecretsUnion = JobSecrets | DataBoxDiskJobSecrets | DataBoxHeavyJobSecrets | DataboxJobSecrets; +export type JobSecretsUnion = JobSecrets | CustomerDiskJobSecrets | DataBoxDiskJobSecrets | DataBoxHeavyJobSecrets | DataboxJobSecrets; /** * The base class for the secrets @@ -780,71 +1008,334 @@ export interface JobSecrets { jobSecretsType: "JobSecrets"; /** * Dc Access Security Code for Customer Managed Shipping + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dcAccessSecurityCode?: DcAccessSecurityCode; + /** + * Error while fetching the secrets. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - dcAccessSecurityCode?: DcAccessSecurityCode; + readonly error?: CloudError; } /** - * The secrets related to disk job. + * The secrets related to customer disk job. */ -export interface DataBoxDiskJobSecrets { +export interface CustomerDiskJobSecrets { /** * Polymorphic Discriminator */ - jobSecretsType: "DataBoxDisk"; + jobSecretsType: "DataBoxCustomerDisk"; /** * Dc Access Security Code for Customer Managed Shipping + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - dcAccessSecurityCode?: DcAccessSecurityCode; + readonly dcAccessSecurityCode?: DcAccessSecurityCode; + /** + * Error while fetching the secrets. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: CloudError; /** * Contains the list of secrets object for that device. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly diskSecrets?: DiskSecret[]; /** - * PassKey for the disk Job. + * Carrier Account Number of the customer * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly passKey?: string; + readonly carrierAccountNumber?: string; +} + +/** + * Contains the possible cases for DataAccountDetails. + */ +export type DataAccountDetailsUnion = DataAccountDetails | ManagedDiskDetails | StorageAccountDetails; + +/** + * Account details of the data to be transferred + */ +export interface DataAccountDetails { /** - * Whether passkey was provided by user. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Polymorphic Discriminator */ - readonly isPasskeyUserDefined?: boolean; + dataAccountType: "DataAccountDetails"; + /** + * 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 : @#\-$%^!+=;:_()]+ + */ + sharePassword?: string; } /** - * Copy log details for a storage account for Databox heavy + * Contains the possible cases for DatacenterAddressResponse. */ -export interface DataBoxHeavyAccountCopyLogDetails { +export type DatacenterAddressResponseUnion = DatacenterAddressResponse | DatacenterAddressInstructionResponse | DatacenterAddressLocationResponse; + +/** + * Datacenter address for given storage location. + */ +export interface DatacenterAddressResponse { /** * Polymorphic Discriminator */ - copyLogDetailsType: "DataBoxHeavy"; + datacenterAddressType: "DatacenterAddressResponse"; /** - * Destination account name. + * List of supported carriers for return shipment. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly accountName?: string; + readonly supportedCarriersForReturnShipment?: string[]; /** - * Link for copy logs. + * Azure Location where the Data Center serves primarily. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly copyLogLink?: string[]; + readonly dataCenterAzureLocation?: string; } /** - * Databox Heavy Device Job Details + * Datacenter instruction for given storage location. */ -export interface DataBoxHeavyJobDetails { +export interface DatacenterAddressInstructionResponse { /** * Polymorphic Discriminator */ - jobDetailsType: "DataBoxHeavy"; + datacenterAddressType: "DatacenterAddressInstruction"; /** - * The expected size of the data, which needs to be transferred in this job, in terabytes. + * List of supported carriers for return shipment. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly supportedCarriersForReturnShipment?: string[]; + /** + * Azure Location where the Data Center serves primarily. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataCenterAzureLocation?: string; + /** + * Data center communication instruction + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly communicationInstruction?: string; +} + +/** + * Datacenter address for given storage location. + */ +export interface DatacenterAddressLocationResponse { + /** + * Polymorphic Discriminator + */ + datacenterAddressType: "DatacenterAddressLocation"; + /** + * List of supported carriers for return shipment. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly supportedCarriersForReturnShipment?: string[]; + /** + * Azure Location where the Data Center serves primarily. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataCenterAzureLocation?: string; + /** + * Contact person name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly contactPersonName?: string; + /** + * Company name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly company?: string; + /** + * Street address line 1 + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly street1?: string; + /** + * Street address line 2 + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly street2?: string; + /** + * Street address line 3 + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly street3?: string; + /** + * City name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly city?: string; + /** + * name of the state + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: string; + /** + * Zip code + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly zip?: string; + /** + * name of the country + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly country?: string; + /** + * Phone number + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly phone?: string; + /** + * Phone extension + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly phoneExtension?: string; + /** + * Address type + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly addressType?: string; + /** + * Special instruction for shipping + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expectedDataSizeInTerabytes?: number; + readonly additionalShippingInformation?: string; +} + +/** + * Request body to get the datacenter address. + */ +export interface DatacenterAddressRequest { + /** + * Storage location. For locations check: + * https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + */ + storageLocation: string; + /** + * Sku Name for which the data center address requested. Possible values include: 'DataBox', + * 'DataBoxDisk', 'DataBoxHeavy', 'DataBoxCustomerDisk' + */ + skuName: SkuName; +} + +/** + * Copy log details for a storage account of a DataBox job + */ +export interface DataBoxAccountCopyLogDetails { + /** + * Polymorphic Discriminator + */ + copyLogDetailsType: "DataBox"; + /** + * Account name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly accountName?: string; + /** + * Link for copy logs. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly copyLogLink?: string; + /** + * Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly copyVerboseLogLink?: string; +} + +/** + * Copy Log Details for customer disk + */ +export interface DataBoxCustomerDiskCopyLogDetails { + /** + * Polymorphic Discriminator + */ + copyLogDetailsType: "DataBoxCustomerDisk"; + /** + * Disk Serial Number. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serialNumber?: string; + /** + * Link for copy error logs. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorLogLink?: string; + /** + * Link for copy verbose logs. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly verboseLogLink?: string; +} + +/** + * Copy Log Details for a disk + */ +export interface DataBoxDiskCopyLogDetails { + /** + * Polymorphic Discriminator + */ + copyLogDetailsType: "DataBoxDisk"; + /** + * Disk Serial Number. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly diskSerialNumber?: string; + /** + * Link for copy error logs. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorLogLink?: string; + /** + * Link for copy verbose logs. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly verboseLogLink?: string; +} + +/** + * DataBox Disk Copy Progress + */ +export interface DataBoxDiskCopyProgress { + /** + * The serial number of the disk + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serialNumber?: string; + /** + * Bytes copied during the copy of disk. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly bytesCopied?: number; + /** + * Indicates the percentage completed for the copy of the disk. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly percentComplete?: number; + /** + * The Status of the copy. Possible values include: 'NotStarted', 'InProgress', 'Completed', + * 'CompletedWithErrors', 'Failed', 'NotReturned', 'HardwareError', 'DeviceFormatted', + * 'DeviceMetadataModified', 'StorageAccountNotAccessible', 'UnsupportedData', + * 'DriveNotReceived', 'UnsupportedDrive', 'OtherServiceError', 'OtherUserError', + * 'DriveNotDetected', 'DriveCorrupted', 'MetadataFilesModifiedOrRemoved' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: CopyStatus; +} + +/** + * DataBox Disk Job Details. + */ +export interface DataBoxDiskJobDetails { + /** + * Polymorphic Discriminator + */ + jobDetailsType: "DataBoxDisk"; /** * List of stages that run in the job. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -857,7 +1348,7 @@ export interface DataBoxHeavyJobDetails { /** * Shipping address of the customer. */ - shippingAddress: ShippingAddress; + shippingAddress?: ShippingAddress; /** * Delivery package shipping details. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -869,14 +1360,188 @@ export interface DataBoxHeavyJobDetails { */ readonly returnPackage?: PackageShippingDetails; /** - * Destination account details. + * Details of the data to be imported into azure. + */ + dataImportDetails?: DataImportDetails[]; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: DataExportDetails[]; + /** + * Preferences for the order. + */ + preferences?: Preferences; + /** + * List of copy log details. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly copyLogDetails?: CopyLogDetailsUnion[]; + /** + * Shared access key to download the return shipment label + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reverseShipmentLabelSasKey?: string; + /** + * Shared access key to download the chain of custody logs + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly chainOfCustodySasKey?: string; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: KeyEncryptionKey; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Available actions on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly actions?: CustomerResolutionCode[]; + /** + * Last mitigation action performed on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastMitigationActionOnJob?: LastMitigationActionOnJob; + /** + * Datacenter address to ship to, for the given sku and storage location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly datacenterAddress?: DatacenterAddressResponseUnion; + /** + * DataCenter code. Possible values include: 'Invalid', 'BY2', 'BY1', 'ORK70', 'AM2', 'AMS20', + * 'BY21', 'BY24', 'MWH01', 'AMS06', 'SSE90', 'SYD03', 'SYD23', 'CBR20', 'YTO20', 'CWL20', + * 'LON24', 'BOM01', 'BL20', 'BL7', 'SEL20', 'TYO01', 'BN1', 'SN5', 'CYS04', 'TYO22', 'YTO21', + * 'YQB20', 'FRA22', 'MAA01', 'CPQ02', 'CPQ20', 'SIN20', 'HKG20', 'SG2', 'MEL23', 'SEL21', + * 'OSA20', 'SHA03', 'BJB', 'JNB22', 'JNB21', 'MNZ21', 'SN8', 'AUH20', 'ZRH20', 'PUS20', 'AdHoc', + * 'CH1', 'DSM05' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataCenterCode?: DataCenterCode; + /** + * 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. + */ + preferredDisks?: { [propertyName: string]: number }; + /** + * Copy progress per disk. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly copyProgress?: DataBoxDiskCopyProgress[]; + /** + * 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. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly disksAndSizeDetails?: { [propertyName: string]: number }; + /** + * User entered passkey for DataBox Disk job. + */ + passkey?: string; +} + +/** + * The secrets related to disk job. + */ +export interface DataBoxDiskJobSecrets { + /** + * Polymorphic Discriminator + */ + jobSecretsType: "DataBoxDisk"; + /** + * Dc Access Security Code for Customer Managed Shipping + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dcAccessSecurityCode?: DcAccessSecurityCode; + /** + * Error while fetching the secrets. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: CloudError; + /** + * Contains the list of secrets object for that device. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly diskSecrets?: DiskSecret[]; + /** + * PassKey for the disk Job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly passKey?: string; + /** + * Whether passkey was provided by user. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isPasskeyUserDefined?: boolean; +} + +/** + * Copy log details for a storage account for Databox heavy + */ +export interface DataBoxHeavyAccountCopyLogDetails { + /** + * Polymorphic Discriminator + */ + copyLogDetailsType: "DataBoxHeavy"; + /** + * Account name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly accountName?: string; + /** + * Link for copy logs. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly copyLogLink?: string[]; + /** + * Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to + * verbose. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly copyVerboseLogLink?: string[]; +} + +/** + * Databox Heavy Device Job Details + */ +export interface DataBoxHeavyJobDetails { + /** + * Polymorphic Discriminator + */ + jobDetailsType: "DataBoxHeavy"; + /** + * List of stages that run in the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly jobStages?: JobStages[]; + /** + * Contact details for notification and shipping. + */ + contactDetails: ContactDetails; + /** + * Shipping address of the customer. */ - destinationAccountDetails: DestinationAccountDetailsUnion[]; + shippingAddress?: ShippingAddress; /** - * Error details for failure. This is optional. + * Delivery package shipping details. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly errorDetails?: JobErrorDetails[]; + readonly deliveryPackage?: PackageShippingDetails; + /** + * Return package shipping details. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly returnPackage?: PackageShippingDetails; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: DataImportDetails[]; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: DataExportDetails[]; /** * Preferences for the order. */ @@ -896,13 +1561,51 @@ export interface DataBoxHeavyJobDetails { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly chainOfCustodySasKey?: string; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: KeyEncryptionKey; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Available actions on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly actions?: CustomerResolutionCode[]; + /** + * Last mitigation action performed on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastMitigationActionOnJob?: LastMitigationActionOnJob; + /** + * Datacenter address to ship to, for the given sku and storage location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly datacenterAddress?: DatacenterAddressResponseUnion; + /** + * DataCenter code. Possible values include: 'Invalid', 'BY2', 'BY1', 'ORK70', 'AM2', 'AMS20', + * 'BY21', 'BY24', 'MWH01', 'AMS06', 'SSE90', 'SYD03', 'SYD23', 'CBR20', 'YTO20', 'CWL20', + * 'LON24', 'BOM01', 'BL20', 'BL7', 'SEL20', 'TYO01', 'BN1', 'SN5', 'CYS04', 'TYO22', 'YTO21', + * 'YQB20', 'FRA22', 'MAA01', 'CPQ02', 'CPQ20', 'SIN20', 'HKG20', 'SG2', 'MEL23', 'SEL21', + * 'OSA20', 'SHA03', 'BJB', 'JNB22', 'JNB21', 'MNZ21', 'SN8', 'AUH20', 'ZRH20', 'PUS20', 'AdHoc', + * 'CH1', 'DSM05' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataCenterCode?: DataCenterCode; /** * Copy progress per account. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly copyProgress?: CopyProgress[]; /** - * Set Device password for unlocking Databox Heavy + * 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 : @#\-$%^!+=;:_()]+ */ devicePassword?: string; } @@ -948,8 +1651,14 @@ export interface DataBoxHeavyJobSecrets { jobSecretsType: "DataBoxHeavy"; /** * Dc Access Security Code for Customer Managed Shipping + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - dcAccessSecurityCode?: DcAccessSecurityCode; + readonly dcAccessSecurityCode?: DcAccessSecurityCode; + /** + * Error while fetching the secrets. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: CloudError; /** * Contains the list of secret objects for a databox heavy job. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -965,10 +1674,6 @@ export interface DataBoxJobDetails { * Polymorphic Discriminator */ jobDetailsType: "DataBox"; - /** - * The expected size of the data, which needs to be transferred in this job, in terabytes. - */ - expectedDataSizeInTerabytes?: number; /** * List of stages that run in the job. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -981,7 +1686,7 @@ export interface DataBoxJobDetails { /** * Shipping address of the customer. */ - shippingAddress: ShippingAddress; + shippingAddress?: ShippingAddress; /** * Delivery package shipping details. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -993,14 +1698,13 @@ export interface DataBoxJobDetails { */ readonly returnPackage?: PackageShippingDetails; /** - * Destination account details. + * Details of the data to be imported into azure. */ - destinationAccountDetails: DestinationAccountDetailsUnion[]; + dataImportDetails?: DataImportDetails[]; /** - * Error details for failure. This is optional. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Details of the data to be exported from azure. */ - readonly errorDetails?: JobErrorDetails[]; + dataExportDetails?: DataExportDetails[]; /** * Preferences for the order. */ @@ -1020,13 +1724,51 @@ export interface DataBoxJobDetails { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly chainOfCustodySasKey?: string; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: KeyEncryptionKey; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Available actions on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly actions?: CustomerResolutionCode[]; + /** + * Last mitigation action performed on the job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastMitigationActionOnJob?: LastMitigationActionOnJob; + /** + * Datacenter address to ship to, for the given sku and storage location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly datacenterAddress?: DatacenterAddressResponseUnion; + /** + * DataCenter code. Possible values include: 'Invalid', 'BY2', 'BY1', 'ORK70', 'AM2', 'AMS20', + * 'BY21', 'BY24', 'MWH01', 'AMS06', 'SSE90', 'SYD03', 'SYD23', 'CBR20', 'YTO20', 'CWL20', + * 'LON24', 'BOM01', 'BL20', 'BL7', 'SEL20', 'TYO01', 'BN1', 'SN5', 'CYS04', 'TYO22', 'YTO21', + * 'YQB20', 'FRA22', 'MAA01', 'CPQ02', 'CPQ20', 'SIN20', 'HKG20', 'SG2', 'MEL23', 'SEL21', + * 'OSA20', 'SHA03', 'BJB', 'JNB22', 'JNB21', 'MNZ21', 'SN8', 'AUH20', 'ZRH20', 'PUS20', 'AdHoc', + * 'CH1', 'DSM05' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataCenterCode?: DataCenterCode; /** * Copy progress per storage account. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly copyProgress?: CopyProgress[]; /** - * Set Device password for unlocking Databox + * 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 : @#\-$%^!+=;:_()]+ */ devicePassword?: string; } @@ -1072,8 +1814,14 @@ export interface DataboxJobSecrets { jobSecretsType: "DataBox"; /** * Dc Access Security Code for Customer Managed Shipping + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dcAccessSecurityCode?: DcAccessSecurityCode; + /** + * Error while fetching the secrets. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - dcAccessSecurityCode?: DcAccessSecurityCode; + readonly error?: CloudError; /** * Contains the list of secret objects for a job. */ @@ -1094,11 +1842,14 @@ export interface ScheduleAvailabilityRequest { */ skuName: "ScheduleAvailabilityRequest"; /** - * Location for data transfer. - * For locations check: + * Location for data transfer. For locations check: * https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 */ storageLocation: string; + /** + * Country in which storage location should be supported. + */ + country?: string; } /** @@ -1110,135 +1861,209 @@ export interface DataBoxScheduleAvailabilityRequest { */ skuName: "DataBox"; /** - * Location for data transfer. - * For locations check: + * Location for data transfer. For locations check: * https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 */ storageLocation: string; + /** + * Country in which storage location should be supported. + */ + country?: string; } /** - * Contains the possible cases for DestinationAccountDetails. + * Details of the filter files to be used for data transfer. */ -export type DestinationAccountDetailsUnion = DestinationAccountDetails | DestinationManagedDiskDetails | DestinationStorageAccountDetails; +export interface FilterFileDetails { + /** + * Type of the filter file. Possible values include: 'AzureBlob', 'AzureFile' + */ + filterFileType: FilterFileType; + /** + * Path of the file that contains the details of all items to transfer. + */ + filterFilePath: string; +} /** - * Details of the destination storage accounts. + * Details of the filtering the transfer of data. */ -export interface DestinationAccountDetails { +export interface TransferFilterDetails { /** - * Polymorphic Discriminator + * Type of the account of data. Possible values include: 'StorageAccount', 'ManagedDisk'. Default + * value: 'StorageAccount'. */ - dataDestinationType: "DestinationAccountDetails"; + dataAccountType: DataAccountType; /** - * Arm Id of the destination where the data has to be moved. + * Filter details to transfer blobs. */ - accountId?: string; + blobFilterDetails?: BlobFilterDetails; /** - * Share password to be shared by all shares in SA. + * Filter details to transfer Azure files. */ - sharePassword?: string; + azureFileFilterDetails?: AzureFileFilterDetails; + /** + * Details of the filter files to be used for data transfer. + */ + filterFileDetails?: FilterFileDetails[]; } /** - * Request to validate data destination details. + * Map of filter type and the details to filter. This field is required only if the + * TransferConfigurationType is given as TransferUsingFilter. */ -export interface DataDestinationDetailsValidationRequest { +export interface TransferConfigurationTransferFilterDetails { /** - * Polymorphic Discriminator + * Details of the filtering the transfer of data. */ - validationType: "ValidateDataDestinationDetails"; + include?: TransferFilterDetails; +} + +/** + * Details to transfer all data. + */ +export interface TransferAllDetails { /** - * Destination account details list. + * Type of the account of data. Possible values include: 'StorageAccount', 'ManagedDisk'. Default + * value: 'StorageAccount'. */ - destinationAccountDetails: DestinationAccountDetailsUnion[]; + dataAccountType: DataAccountType; /** - * Location of stamp or geo. + * To indicate if all Azure blobs have to be transferred */ - location: string; + transferAllBlobs?: boolean; + /** + * To indicate if all Azure Files have to be transferred + */ + transferAllFiles?: boolean; } /** - * Properties of data destination details validation response. + * Map of filter type and the details to transfer all data. This field is required only if the + * TransferConfigurationType is given as TransferAll */ -export interface DataDestinationDetailsValidationResponseProperties { +export interface TransferConfigurationTransferAllDetails { /** - * Polymorphic Discriminator + * Details to transfer all data. */ - validationType: "ValidateDataDestinationDetails"; + include?: TransferAllDetails; +} + +/** + * Configuration for defining the transfer of data. + */ +export interface TransferConfiguration { /** - * Error code and message of validation response. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Type of the configuration for transfer. Possible values include: 'TransferAll', + * 'TransferUsingFilter' */ - readonly error?: ErrorModel; + transferConfigurationType: TransferConfigurationType; /** - * Data destination details validation status. Possible values include: 'Valid', 'Invalid', - * 'Skipped' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Map of filter type and the details to filter. This field is required only if the + * TransferConfigurationType is given as TransferUsingFilter. */ - readonly status?: ValidationStatus; + transferFilterDetails?: TransferConfigurationTransferFilterDetails; + /** + * Map of filter type and the details to transfer all data. This field is required only if the + * TransferConfigurationType is given as TransferAll + */ + transferAllDetails?: TransferConfigurationTransferAllDetails; } /** - * Dc Access Security code for device. + * Details of the data to be used for exporting data from azure. */ -export interface DcAccessSecurityCode { +export interface DataExportDetails { /** - * Dc Access Code for dispatching from DC. + * Configuration for the data transfer. */ - forwardDcAccessCode?: string; + transferConfiguration: TransferConfiguration; /** - * Dc Access code for dropping off at DC. + * Level of the logs to be collected. Possible values include: 'Error', 'Verbose'. Default value: + * 'Error'. */ - reverseDcAccessCode?: string; + logCollectionLevel?: LogCollectionLevel; + /** + * Account details of the data to be transferred + */ + accountDetails: DataAccountDetailsUnion; } /** - * Details for the destination compute disks. + * Details of the data to be used for importing data to azure. */ -export interface DestinationManagedDiskDetails { +export interface DataImportDetails { + /** + * Account details of the data to be transferred + */ + accountDetails: DataAccountDetailsUnion; + /** + * Level of the logs to be collected. Possible values include: 'Error', 'Verbose'. Default value: + * 'Error'. + */ + logCollectionLevel?: LogCollectionLevel; +} + +/** + * Request to validate export and import data details. + */ +export interface DataTransferDetailsValidationRequest { /** * Polymorphic Discriminator */ - dataDestinationType: "ManagedDisk"; + validationType: "ValidateDataTransferDetails"; /** - * Arm Id of the destination where the data has to be moved. + * List of DataTransfer details to be used to export data from azure. */ - accountId?: string; + dataExportDetails?: DataExportDetails[]; /** - * Share password to be shared by all shares in SA. + * List of DataTransfer details to be used to import data to azure. */ - sharePassword?: string; + dataImportDetails?: DataImportDetails[]; /** - * Destination Resource Group Id where the Compute disks should be created. + * Device type. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy', + * 'DataBoxCustomerDisk' */ - resourceGroupId: string; + deviceType: SkuName; /** - * Arm Id of the storage account that can be used to copy the vhd for staging. + * Type of the transfer. Possible values include: 'ImportToAzure', 'ExportFromAzure' */ - stagingStorageAccountId: string; + transferType: TransferType; } /** - * Details for the destination storage account. + * Properties of data transfer details validation response. */ -export interface DestinationStorageAccountDetails { +export interface DataTransferDetailsValidationResponseProperties { /** * Polymorphic Discriminator */ - dataDestinationType: "StorageAccount"; + validationType: "ValidateDataTransferDetails"; /** - * Arm Id of the destination where the data has to be moved. + * Error code and message of validation response. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - accountId?: string; + readonly error?: CloudError; /** - * Share password to be shared by all shares in SA. + * Data transfer details validation status. Possible values include: 'Valid', 'Invalid', + * 'Skipped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - sharePassword?: string; + readonly status?: ValidationStatus; +} + +/** + * Dc access security code + */ +export interface DcAccessSecurityCode { /** - * Destination Storage Account Arm Id. + * Reverse Dc access security code. */ - storageAccountId: string; + reverseDCAccessCode?: string; + /** + * Forward Dc access security code. + */ + forwardDCAccessCode?: string; } /** @@ -1250,31 +2075,29 @@ export interface DiskScheduleAvailabilityRequest { */ skuName: "DataBoxDisk"; /** - * Location for data transfer. - * For locations check: + * Location for data transfer. For locations check: * https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 */ storageLocation: string; + /** + * Country in which storage location should be supported. + */ + country?: string; /** * The expected size of the data, which needs to be transferred in this job, in terabytes. */ - expectedDataSizeInTerabytes: number; + expectedDataSizeInTeraBytes: number; } /** - * Top level error for the job. + * Preferences related to the Encryption. */ -export interface ErrorModel { - /** - * Error code that can be used to programmatically identify the error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly code?: string; +export interface EncryptionPreferences { /** - * Describes the error in detail and provides debugging information. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Defines secondary layer of software-based encryption enablement. Possible values include: + * 'Enabled', 'Disabled'. Default value: 'Disabled'. */ - readonly message?: string; + doubleEncryption?: DoubleEncryption; } /** @@ -1286,47 +2109,48 @@ export interface HeavyScheduleAvailabilityRequest { */ skuName: "DataBoxHeavy"; /** - * Location for data transfer. - * For locations check: + * Location for data transfer. For locations check: * https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 */ storageLocation: string; + /** + * Country in which storage location should be supported. + */ + country?: string; } /** - * Additional delivery info. + * User assigned identity properties. */ -export interface JobDeliveryInfo { +export interface UserAssignedProperties { /** - * Scheduled date time. + * Arm resource id for user assigned identity to be used to fetch MSI token. */ - scheduledDateTime?: Date; + resourceId?: string; } /** - * Job Error Details for providing the information and recommended action. + * Managed identity properties. */ -export interface JobErrorDetails { +export interface IdentityProperties { /** - * Message for the error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Managed service identity type. */ - readonly errorMessage?: string; + type?: string; /** - * Code for the error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * User assigned identity properties. */ - readonly errorCode?: number; - /** - * Recommended action for the error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly recommendedAction?: string; + userAssigned?: UserAssignedProperties; +} + +/** + * Additional delivery info. + */ +export interface JobDeliveryInfo { /** - * Contains the non localized exception message - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Scheduled date time. */ - readonly exceptionMessage?: string; + scheduledDateTime?: Date; } /** @@ -1338,7 +2162,8 @@ export interface JobStages { * 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', 'DataCopy', 'Completed', * 'CompletedWithErrors', 'Cancelled', 'Failed_IssueReportedAtCustomer', * 'Failed_IssueDetectedAtAzureDC', 'Aborted', 'CompletedWithWarnings', - * 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC' + * 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC', 'Created', 'ShippedToAzureDC', + * 'AwaitingShipmentDetails', 'PreparingToShipFromAzureDC', 'ShippedToCustomer' * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly stageName?: StageName; @@ -1349,7 +2174,9 @@ export interface JobStages { readonly displayName?: string; /** * Status of the job stage. Possible values include: 'None', 'InProgress', 'Succeeded', 'Failed', - * 'Cancelled', 'Cancelling', 'SucceededWithErrors' + * 'Cancelled', 'Cancelling', 'SucceededWithErrors', 'WaitingForCustomerAction', + * 'SucceededWithWarnings', 'WaitingForCustomerActionForKek', + * 'WaitingForCustomerActionForCleanUp', 'CustomerActionPerformedForCleanUp' * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly stageStatus?: StageStatus; @@ -1363,17 +2190,17 @@ export interface JobStages { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly jobStageDetails?: any; - /** - * Error details for the stage. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly errorDetails?: JobErrorDetails[]; } /** - * Shipping details. + * package shipping details */ export interface PackageShippingDetails { + /** + * Url where shipment can be tracked. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly trackingUrl?: string; /** * Name of the carrier. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -1384,11 +2211,6 @@ export interface PackageShippingDetails { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly trackingId?: string; - /** - * Url where shipment can be tracked. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly trackingUrl?: string; } /** @@ -1407,13 +2229,96 @@ export interface TransportPreferences { */ export interface Preferences { /** - * Preferred Data Center Region. + * Preferred data center region. */ preferredDataCenterRegion?: string[]; /** * Preferences related to the shipment logistics of the sku. */ transportPreferences?: TransportPreferences; + /** + * Preferences related to the Encryption. + */ + encryptionPreferences?: EncryptionPreferences; +} + +/** + * Encryption key containing details about key to encrypt different keys. + */ +export interface KeyEncryptionKey { + /** + * Type of encryption key used for key encryption. Possible values include: 'MicrosoftManaged', + * 'CustomerManaged'. Default value: 'MicrosoftManaged'. + */ + kekType: KekType; + /** + * Managed identity properties used for key encryption. + */ + identityProperties?: IdentityProperties; + /** + * Key encryption key. It is required in case of Customer managed KekType. + */ + kekUrl?: string; + /** + * Kek vault resource id. It is required in case of Customer managed KekType. + */ + kekVaultResourceID?: string; +} + +/** + * Last Mitigation Action Performed On Job + */ +export interface LastMitigationActionOnJob { + /** + * Action performed date time + */ + actionDateTimeInUtc?: Date; + /** + * Action performed by customer, + * possibility is that mitigation might happen by customer or service or by ops + */ + isPerformedByCustomer?: boolean; + /** + * Resolution code provided by customer. Possible values include: 'None', 'MoveToCleanUpDevice', + * 'Resume' + */ + customerResolution?: CustomerResolutionCode; +} + +/** + * Provides details about resource creation and update time + */ +export interface SystemData { + /** + * A string identifier for the identity that created the resource + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly createdBy?: string; + /** + * The type of identity that created the resource: user, application, managedIdentity + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly createdByType?: string; + /** + * The timestamp of resource creation (UTC) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly createdAt?: Date; + /** + * A string identifier for the identity that last modified the resource + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModifiedBy?: string; + /** + * The type of identity that last modified the resource: user, application, managedIdentity + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModifiedByType?: string; + /** + * The timestamp of resource last modification (UTC) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModifiedAt?: Date; } /** @@ -1435,12 +2340,20 @@ export interface Resource extends BaseResource { * The sku type. */ sku: Sku; + /** + * Msi identity of the resource + */ + identity?: ResourceIdentity; } /** * Job Resource. */ export interface JobResource extends Resource { + /** + * Type of the data transfer. Possible values include: 'ImportToAzure', 'ExportFromAzure' + */ + transferType: TransferType; /** * Describes whether the job is cancellable or not. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -1456,12 +2369,18 @@ export interface JobResource extends Resource { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly isShippingAddressEditable?: boolean; + /** + * Is Prepare To Ship Enabled on this job + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isPrepareToShipEnabled?: boolean; /** * Name of the stage which is in progress. Possible values include: 'DeviceOrdered', * 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', 'DataCopy', 'Completed', * 'CompletedWithErrors', 'Cancelled', 'Failed_IssueReportedAtCustomer', * 'Failed_IssueDetectedAtAzureDC', 'Aborted', 'CompletedWithWarnings', - * 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC' + * 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC', 'Created', 'ShippedToAzureDC', + * 'AwaitingShipmentDetails', 'PreparingToShipFromAzureDC', 'ShippedToCustomer' * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly status?: StageName; @@ -1474,7 +2393,7 @@ export interface JobResource extends Resource { * Top level error for the job. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly error?: ErrorModel; + readonly error?: CloudError; /** * Details of a job run. This field will only be sent for expand details filter. */ @@ -1485,7 +2404,8 @@ export interface JobResource extends Resource { */ readonly cancellationReason?: string; /** - * Delivery type of Job. Possible values include: 'NonScheduled', 'Scheduled' + * Delivery type of Job. Possible values include: 'NonScheduled', 'Scheduled'. Default value: + * 'NonScheduled'. */ deliveryType?: JobDeliveryType; /** @@ -1512,6 +2432,11 @@ export interface JobResource extends Resource { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly systemData?: SystemData; } /** @@ -1526,6 +2451,54 @@ export interface UpdateJobDetails { * Shipping address of the customer. */ shippingAddress?: ShippingAddress; + /** + * Key encryption key for the job. + */ + keyEncryptionKey?: KeyEncryptionKey; + /** + * Return package details of job. + */ + returnToCustomerPackageDetails?: PackageCarrierDetails; +} + +/** + * Class defining User assigned identity details. + */ +export interface UserAssignedIdentity { + /** + * The principal id of user assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The client id of user assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly clientId?: string; +} + +/** + * Msi identity details of the resource + */ +export interface ResourceIdentity { + /** + * Identity type. Default value: 'None'. + */ + type?: string; + /** + * Service Principal Id backing the Msi + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * Home Tenant Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tenantId?: string; + /** + * User Assigned Identities + */ + userAssignedIdentities?: { [propertyName: string]: UserAssignedIdentity }; } /** @@ -1536,15 +2509,62 @@ export interface JobResourceUpdateParameter { * Details of a job to be updated. */ details?: UpdateJobDetails; - /** - * Destination account details. - */ - destinationAccountDetails?: DestinationAccountDetailsUnion[]; /** * The list of key value pairs that describe the resource. These tags can be used in viewing and * grouping this resource (across resource groups). */ tags?: { [propertyName: string]: string }; + /** + * Msi identity of the resource + */ + identity?: ResourceIdentity; +} + +/** + * Details of the managed disks. + */ +export interface ManagedDiskDetails { + /** + * Polymorphic Discriminator + */ + dataAccountType: "ManagedDisk"; + /** + * 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 : @#\-$%^!+=;:_()]+ + */ + sharePassword?: string; + /** + * Resource Group Id of the compute disks. + */ + resourceGroupId: string; + /** + * Resource Id of the storage account that can be used to copy the vhd for staging. + */ + stagingStorageAccountId: string; +} + +/** + * The request body to provide the delivery package details of job + */ +export interface MarkDevicesShippedRequest { + /** + * Delivery package details + */ + deliverToDcPackageDetails: PackageCarrierInfo; +} + +/** + * The Mitigate Job captured from request body for Mitigate API + */ +export interface MitigateJobRequest { + /** + * Resolution code for the job. Possible values include: 'None', 'MoveToCleanUpDevice', 'Resume' + */ + customerResolutionCode: CustomerResolutionCode; } /** @@ -1594,6 +2614,10 @@ export interface Operation { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly origin?: string; + /** + * Indicates whether the operation is a data action + */ + isDataAction?: boolean; } /** @@ -1605,12 +2629,12 @@ export interface PreferencesValidationRequest { */ validationType: "ValidatePreferences"; /** - * Preference requested with respect to transport type and data center + * Preference of transport and data center. */ preference?: Preferences; /** * Device type to be used for the job. Possible values include: 'DataBox', 'DataBoxDisk', - * 'DataBoxHeavy' + * 'DataBoxHeavy', 'DataBoxCustomerDisk' */ deviceType: SkuName; } @@ -1627,7 +2651,7 @@ export interface PreferencesValidationResponseProperties { * Error code and message of validation response. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly error?: ErrorModel; + readonly error?: CloudError; /** * Validation status of requested data center and transport. Possible values include: 'Valid', * 'Invalid', 'Skipped' @@ -1641,7 +2665,8 @@ export interface PreferencesValidationResponseProperties { */ export interface TransportAvailabilityRequest { /** - * Type of the device. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + * Type of the device. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy', + * 'DataBoxCustomerDisk' */ skuName?: SkuName; } @@ -1658,10 +2683,14 @@ export interface RegionConfigurationRequest { * Request body to get the transport availability for given sku. */ transportAvailabilityRequest?: TransportAvailabilityRequest; + /** + * Request body to get the datacenter address for given sku. + */ + datacenterAddressRequest?: DatacenterAddressRequest; } /** - * Schedule availability response for given sku in a region. + * Schedule availability for given sku in a region. */ export interface ScheduleAvailabilityResponse { /** @@ -1708,6 +2737,11 @@ export interface RegionConfigurationResponse { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly transportAvailabilityResponse?: TransportAvailabilityResponse; + /** + * Datacenter address for given sku in a region. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly datacenterAddressResponse?: DatacenterAddressResponseUnion; } /** @@ -1756,9 +2790,13 @@ export interface SkuAvailabilityValidationRequest { validationType: "ValidateSkuAvailability"; /** * Device type to be used for the job. Possible values include: 'DataBox', 'DataBoxDisk', - * 'DataBoxHeavy' + * 'DataBoxHeavy', 'DataBoxCustomerDisk' */ deviceType: SkuName; + /** + * Type of the transfer. Possible values include: 'ImportToAzure', 'ExportFromAzure' + */ + transferType: TransferType; /** * ISO country code. Country for hardware shipment. For codes check: * https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements @@ -1783,7 +2821,7 @@ export interface SkuAvailabilityValidationResponseProperties { * Error code and message of validation response. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly error?: ErrorModel; + readonly error?: CloudError; /** * Sku availability validation status. Possible values include: 'Valid', 'Invalid', 'Skipped' * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -1791,6 +2829,29 @@ export interface SkuAvailabilityValidationResponseProperties { readonly status?: ValidationStatus; } +/** + * Details for the storage account. + */ +export interface StorageAccountDetails { + /** + * Polymorphic Discriminator + */ + dataAccountType: "StorageAccount"; + /** + * 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 : @#\-$%^!+=;:_()]+ + */ + sharePassword?: string; + /** + * Storage Account Resource Id. + */ + storageAccountId: string; +} + /** * Request to validate subscription permission to create jobs. */ @@ -1813,7 +2874,7 @@ export interface SubscriptionIsAllowedToCreateJobValidationResponseProperties { * Error code and message of validation response. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly error?: ErrorModel; + readonly error?: CloudError; /** * Validation status of subscription permission to create job. Possible values include: 'Valid', * 'Invalid', 'Skipped' @@ -1852,7 +2913,7 @@ export interface ValidateAddress { shippingAddress: ShippingAddress; /** * Device type to be used for the job. Possible values include: 'DataBox', 'DataBoxDisk', - * 'DataBoxHeavy' + * 'DataBoxHeavy', 'DataBoxCustomerDisk' */ deviceType: SkuName; /** @@ -1861,39 +2922,6 @@ export interface ValidateAddress { transportPreferences?: TransportPreferences; } -/** - * Contains the possible cases for ValidationRequest. - */ -export type ValidationRequestUnion = ValidationRequest | CreateJobValidations; - -/** - * Input request for all pre job creation validation. - */ -export interface ValidationRequest { - /** - * Polymorphic Discriminator - */ - validationCategory: "ValidationRequest"; - /** - * List of request details contain validationType and its request as key and value respectively. - */ - individualRequestDetails: ValidationInputRequestUnion[]; -} - -/** - * It does all pre-job creation validations. - */ -export interface CreateJobValidations { - /** - * Polymorphic Discriminator - */ - validationCategory: "JobCreationValidation"; - /** - * List of request details contain validationType and its request as key and value respectively. - */ - individualRequestDetails: ValidationInputRequestUnion[]; -} - /** * Response of pre job creation validations. */ @@ -1967,15 +2995,21 @@ export interface JobsBeginUpdateOptionalParams extends msRest.RequestOptionsBase /** * Optional Parameters. */ -export interface ServiceRegionConfigurationOptionalParams extends msRest.RequestOptionsBase { +export interface JobsListNextOptionalParams extends msRest.RequestOptionsBase { /** - * Request body to get the availability for scheduling orders. + * $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs. */ - scheduleAvailabilityRequest?: ScheduleAvailabilityRequestUnion; + skipToken?: string; +} + +/** + * Optional Parameters. + */ +export interface JobsListByResourceGroupNextOptionalParams extends msRest.RequestOptionsBase { /** - * Request body to get the transport availability for given sku. + * $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs. */ - transportAvailabilityRequest?: TransportAvailabilityRequest; + skipToken?: string; } /** @@ -2034,12 +3068,12 @@ export interface AvailableSkusResult extends Array { } /** - * Defines values for DataDestinationType. + * Defines values for DataAccountType. * Possible values include: 'StorageAccount', 'ManagedDisk' * @readonly * @enum {string} */ -export type DataDestinationType = 'StorageAccount' | 'ManagedDisk'; +export type DataAccountType = 'StorageAccount' | 'ManagedDisk'; /** * Defines values for ShareDestinationFormatType. @@ -2074,13 +3108,21 @@ export type AddressValidationStatus = 'Valid' | 'Invalid' | 'Ambiguous'; */ export type AddressType = 'None' | 'Residential' | 'Commercial'; +/** + * Defines values for TransferType. + * Possible values include: 'ImportToAzure', 'ExportFromAzure' + * @readonly + * @enum {string} + */ +export type TransferType = 'ImportToAzure' | 'ExportFromAzure'; + /** * Defines values for SkuName. - * Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + * Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy', 'DataBoxCustomerDisk' * @readonly * @enum {string} */ -export type SkuName = 'DataBox' | 'DataBoxDisk' | 'DataBoxHeavy'; +export type SkuName = 'DataBox' | 'DataBoxDisk' | 'DataBoxHeavy' | 'DataBoxCustomerDisk'; /** * Defines values for SkuDisabledReason. @@ -2094,11 +3136,23 @@ export type SkuDisabledReason = 'None' | 'Country' | 'Region' | 'Feature' | 'Off /** * Defines values for NotificationStageName. * Possible values include: 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', - * 'DataCopy' + * 'DataCopy', 'Created', 'ShippedToCustomer' + * @readonly + * @enum {string} + */ +export type NotificationStageName = 'DevicePrepared' | 'Dispatched' | 'Delivered' | 'PickedUp' | 'AtAzureDC' | 'DataCopy' | 'Created' | 'ShippedToCustomer'; + +/** + * Defines values for CopyStatus. + * Possible values include: 'NotStarted', 'InProgress', 'Completed', 'CompletedWithErrors', + * 'Failed', 'NotReturned', 'HardwareError', 'DeviceFormatted', 'DeviceMetadataModified', + * 'StorageAccountNotAccessible', 'UnsupportedData', 'DriveNotReceived', 'UnsupportedDrive', + * 'OtherServiceError', 'OtherUserError', 'DriveNotDetected', 'DriveCorrupted', + * 'MetadataFilesModifiedOrRemoved' * @readonly * @enum {string} */ -export type NotificationStageName = 'DevicePrepared' | 'Dispatched' | 'Delivered' | 'PickedUp' | 'AtAzureDC' | 'DataCopy'; +export type CopyStatus = 'NotStarted' | 'InProgress' | 'Completed' | 'CompletedWithErrors' | 'Failed' | 'NotReturned' | 'HardwareError' | 'DeviceFormatted' | 'DeviceMetadataModified' | 'StorageAccountNotAccessible' | 'UnsupportedData' | 'DriveNotReceived' | 'UnsupportedDrive' | 'OtherServiceError' | 'OtherUserError' | 'DriveNotDetected' | 'DriveCorrupted' | 'MetadataFilesModifiedOrRemoved'; /** * Defines values for ValidationStatus. @@ -2109,34 +3163,59 @@ export type NotificationStageName = 'DevicePrepared' | 'Dispatched' | 'Delivered export type ValidationStatus = 'Valid' | 'Invalid' | 'Skipped'; /** - * Defines values for CopyStatus. - * Possible values include: 'NotStarted', 'InProgress', 'Completed', 'CompletedWithErrors', - * 'Failed', 'NotReturned', 'HardwareError', 'DeviceFormatted', 'DeviceMetadataModified', - * 'StorageAccountNotAccessible', 'UnsupportedData' + * Defines values for TransferConfigurationType. + * Possible values include: 'TransferAll', 'TransferUsingFilter' + * @readonly + * @enum {string} + */ +export type TransferConfigurationType = 'TransferAll' | 'TransferUsingFilter'; + +/** + * Defines values for FilterFileType. + * Possible values include: 'AzureBlob', 'AzureFile' + * @readonly + * @enum {string} + */ +export type FilterFileType = 'AzureBlob' | 'AzureFile'; + +/** + * Defines values for LogCollectionLevel. + * Possible values include: 'Error', 'Verbose' * @readonly * @enum {string} */ -export type CopyStatus = 'NotStarted' | 'InProgress' | 'Completed' | 'CompletedWithErrors' | 'Failed' | 'NotReturned' | 'HardwareError' | 'DeviceFormatted' | 'DeviceMetadataModified' | 'StorageAccountNotAccessible' | 'UnsupportedData'; +export type LogCollectionLevel = 'Error' | 'Verbose'; + +/** + * Defines values for DoubleEncryption. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type DoubleEncryption = 'Enabled' | 'Disabled'; /** * Defines values for StageName. * Possible values include: 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', * 'PickedUp', 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', 'Cancelled', * 'Failed_IssueReportedAtCustomer', 'Failed_IssueDetectedAtAzureDC', 'Aborted', - * 'CompletedWithWarnings', 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC' + * 'CompletedWithWarnings', 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC', 'Created', + * 'ShippedToAzureDC', 'AwaitingShipmentDetails', 'PreparingToShipFromAzureDC', 'ShippedToCustomer' * @readonly * @enum {string} */ -export type StageName = 'DeviceOrdered' | 'DevicePrepared' | 'Dispatched' | 'Delivered' | 'PickedUp' | 'AtAzureDC' | 'DataCopy' | 'Completed' | 'CompletedWithErrors' | 'Cancelled' | 'Failed_IssueReportedAtCustomer' | 'Failed_IssueDetectedAtAzureDC' | 'Aborted' | 'CompletedWithWarnings' | 'ReadyToDispatchFromAzureDC' | 'ReadyToReceiveAtAzureDC'; +export type StageName = 'DeviceOrdered' | 'DevicePrepared' | 'Dispatched' | 'Delivered' | 'PickedUp' | 'AtAzureDC' | 'DataCopy' | 'Completed' | 'CompletedWithErrors' | 'Cancelled' | 'Failed_IssueReportedAtCustomer' | 'Failed_IssueDetectedAtAzureDC' | 'Aborted' | 'CompletedWithWarnings' | 'ReadyToDispatchFromAzureDC' | 'ReadyToReceiveAtAzureDC' | 'Created' | 'ShippedToAzureDC' | 'AwaitingShipmentDetails' | 'PreparingToShipFromAzureDC' | 'ShippedToCustomer'; /** * Defines values for StageStatus. * Possible values include: 'None', 'InProgress', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling', - * 'SucceededWithErrors' + * 'SucceededWithErrors', 'WaitingForCustomerAction', 'SucceededWithWarnings', + * 'WaitingForCustomerActionForKek', 'WaitingForCustomerActionForCleanUp', + * 'CustomerActionPerformedForCleanUp' * @readonly * @enum {string} */ -export type StageStatus = 'None' | 'InProgress' | 'Succeeded' | 'Failed' | 'Cancelled' | 'Cancelling' | 'SucceededWithErrors'; +export type StageStatus = 'None' | 'InProgress' | 'Succeeded' | 'Failed' | 'Cancelled' | 'Cancelling' | 'SucceededWithErrors' | 'WaitingForCustomerAction' | 'SucceededWithWarnings' | 'WaitingForCustomerActionForKek' | 'WaitingForCustomerActionForCleanUp' | 'CustomerActionPerformedForCleanUp'; /** * Defines values for TransportShipmentTypes. @@ -2146,6 +3225,34 @@ export type StageStatus = 'None' | 'InProgress' | 'Succeeded' | 'Failed' | 'Canc */ export type TransportShipmentTypes = 'CustomerManaged' | 'MicrosoftManaged'; +/** + * Defines values for KekType. + * Possible values include: 'MicrosoftManaged', 'CustomerManaged' + * @readonly + * @enum {string} + */ +export type KekType = 'MicrosoftManaged' | 'CustomerManaged'; + +/** + * Defines values for CustomerResolutionCode. + * Possible values include: 'None', 'MoveToCleanUpDevice', 'Resume' + * @readonly + * @enum {string} + */ +export type CustomerResolutionCode = 'None' | 'MoveToCleanUpDevice' | 'Resume'; + +/** + * Defines values for DataCenterCode. + * Possible values include: 'Invalid', 'BY2', 'BY1', 'ORK70', 'AM2', 'AMS20', 'BY21', 'BY24', + * 'MWH01', 'AMS06', 'SSE90', 'SYD03', 'SYD23', 'CBR20', 'YTO20', 'CWL20', 'LON24', 'BOM01', + * 'BL20', 'BL7', 'SEL20', 'TYO01', 'BN1', 'SN5', 'CYS04', 'TYO22', 'YTO21', 'YQB20', 'FRA22', + * 'MAA01', 'CPQ02', 'CPQ20', 'SIN20', 'HKG20', 'SG2', 'MEL23', 'SEL21', 'OSA20', 'SHA03', 'BJB', + * 'JNB22', 'JNB21', 'MNZ21', 'SN8', 'AUH20', 'ZRH20', 'PUS20', 'AdHoc', 'CH1', 'DSM05' + * @readonly + * @enum {string} + */ +export type DataCenterCode = 'Invalid' | 'BY2' | 'BY1' | 'ORK70' | 'AM2' | 'AMS20' | 'BY21' | 'BY24' | 'MWH01' | 'AMS06' | 'SSE90' | 'SYD03' | 'SYD23' | 'CBR20' | 'YTO20' | 'CWL20' | 'LON24' | 'BOM01' | 'BL20' | 'BL7' | 'SEL20' | 'TYO01' | 'BN1' | 'SN5' | 'CYS04' | 'TYO22' | 'YTO21' | 'YQB20' | 'FRA22' | 'MAA01' | 'CPQ02' | 'CPQ20' | 'SIN20' | 'HKG20' | 'SG2' | 'MEL23' | 'SEL21' | 'OSA20' | 'SHA03' | 'BJB' | 'JNB22' | 'JNB21' | 'MNZ21' | 'SN8' | 'AUH20' | 'ZRH20' | 'PUS20' | 'AdHoc' | 'CH1' | 'DSM05'; + /** * Defines values for JobDeliveryType. * Possible values include: 'NonScheduled', 'Scheduled' @@ -2423,26 +3530,6 @@ export type JobsListByResourceGroupNextResponse = JobResourceList & { }; }; -/** - * Contains response data for the listAvailableSkus operation. - */ -export type ServiceListAvailableSkusResponse = AvailableSkusResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AvailableSkusResult; - }; -}; - /** * Contains response data for the listAvailableSkusByResourceGroup operation. */ @@ -2544,9 +3631,9 @@ export type ServiceRegionConfigurationResponse = RegionConfigurationResponse & { }; /** - * Contains response data for the listAvailableSkusNext operation. + * Contains response data for the regionConfigurationByResourceGroup operation. */ -export type ServiceListAvailableSkusNextResponse = AvailableSkusResult & { +export type ServiceRegionConfigurationByResourceGroupResponse = RegionConfigurationResponse & { /** * The underlying HTTP response. */ @@ -2559,7 +3646,7 @@ export type ServiceListAvailableSkusNextResponse = AvailableSkusResult & { /** * The response body as parsed JSON or XML */ - parsedBody: AvailableSkusResult; + parsedBody: RegionConfigurationResponse; }; }; diff --git a/sdk/databox/arm-databox/src/models/jobsMappers.ts b/sdk/databox/arm-databox/src/models/jobsMappers.ts index 5aa3a445167f..a7c6fcca3c39 100644 --- a/sdk/databox/arm-databox/src/models/jobsMappers.ts +++ b/sdk/databox/arm-databox/src/models/jobsMappers.ts @@ -1,6 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. @@ -9,14 +9,23 @@ export { discriminators, AccountCredentialDetails, + AdditionalErrorInfo, + ApiError, ApplianceNetworkConfiguration, + AzureFileFilterDetails, BaseResource, + BlobFilterDetails, CancellationReason, CloudError, ContactDetails, CopyLogDetails, CopyProgress, + CustomerDiskJobSecrets, + DataAccountDetails, DataBoxAccountCopyLogDetails, + DataBoxCustomerDiskCopyLogDetails, + DataBoxCustomerDiskCopyProgress, + DataBoxCustomerDiskJobDetails, DataBoxDiskCopyLogDetails, DataBoxDiskCopyProgress, DataBoxDiskJobDetails, @@ -28,31 +37,54 @@ export { DataBoxJobDetails, DataboxJobSecrets, DataBoxSecret, + DatacenterAddressInstructionResponse, + DatacenterAddressLocationResponse, + DatacenterAddressResponse, + DataExportDetails, + DataImportDetails, DcAccessSecurityCode, - DestinationAccountDetails, - DestinationManagedDiskDetails, - DestinationStorageAccountDetails, + Details, DiskSecret, - ErrorModel, + EncryptionPreferences, + ErrorDetail, + ExportDiskDetails, + FilterFileDetails, + IdentityProperties, + ImportDiskDetails, JobDeliveryInfo, JobDetails, - JobErrorDetails, JobResource, JobResourceList, JobResourceUpdateParameter, JobSecrets, JobStages, + KeyEncryptionKey, + LastMitigationActionOnJob, + ManagedDiskDetails, + MarkDevicesShippedRequest, NotificationPreference, + PackageCarrierDetails, + PackageCarrierInfo, PackageShippingDetails, Preferences, Resource, + ResourceIdentity, ShareCredentialDetails, ShipmentPickUpRequest, ShipmentPickUpResponse, ShippingAddress, Sku, + StorageAccountDetails, + SystemData, + TransferAllDetails, + TransferConfiguration, + TransferConfigurationTransferAllDetails, + TransferConfigurationTransferFilterDetails, + TransferFilterDetails, TransportPreferences, UnencryptedCredentials, UnencryptedCredentialsList, - UpdateJobDetails + UpdateJobDetails, + UserAssignedIdentity, + UserAssignedProperties } from "../models/mappers"; diff --git a/sdk/databox/arm-databox/src/models/mappers.ts b/sdk/databox/arm-databox/src/models/mappers.ts index b8820e4085a4..63a32d1234de 100644 --- a/sdk/databox/arm-databox/src/models/mappers.ts +++ b/sdk/databox/arm-databox/src/models/mappers.ts @@ -1,6 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. @@ -87,9 +87,9 @@ export const AccountCredentialDetails: msRest.CompositeMapper = { name: "String" } }, - dataDestinationType: { + dataAccountType: { readOnly: true, - serializedName: "dataDestinationType", + serializedName: "dataAccountType", type: { name: "Enum", allowedValues: [ @@ -122,6 +122,28 @@ export const AccountCredentialDetails: msRest.CompositeMapper = { } }; +export const AdditionalErrorInfo: msRest.CompositeMapper = { + serializedName: "AdditionalErrorInfo", + type: { + name: "Composite", + className: "AdditionalErrorInfo", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + info: { + serializedName: "info", + type: { + name: "Object" + } + } + } + } +}; + export const ShippingAddress: msRest.CompositeMapper = { serializedName: "ShippingAddress", type: { @@ -167,7 +189,6 @@ export const ShippingAddress: msRest.CompositeMapper = { } }, postalCode: { - required: true, serializedName: "postalCode", type: { name: "String" @@ -187,6 +208,7 @@ export const ShippingAddress: msRest.CompositeMapper = { }, addressType: { serializedName: "addressType", + defaultValue: 'None', type: { name: "Enum", allowedValues: [ @@ -211,7 +233,7 @@ export const AddressValidationOutput: msRest.CompositeMapper = { serializedName: "properties.error", type: { name: "Composite", - className: "ErrorModel" + className: "CloudError" } }, validationType: { @@ -250,6 +272,90 @@ export const AddressValidationOutput: msRest.CompositeMapper = { } }; +export const Details: msRest.CompositeMapper = { + serializedName: "Details", + type: { + name: "Composite", + className: "Details", + modelProperties: { + code: { + required: true, + serializedName: "code", + type: { + name: "String" + } + }, + message: { + required: true, + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const ErrorDetail: msRest.CompositeMapper = { + serializedName: "ErrorDetail", + type: { + name: "Composite", + className: "ErrorDetail", + modelProperties: { + code: { + required: true, + serializedName: "code", + type: { + name: "String" + } + }, + message: { + required: true, + serializedName: "message", + type: { + name: "String" + } + }, + details: { + serializedName: "details", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Details" + } + } + } + }, + target: { + serializedName: "target", + type: { + name: "String" + } + } + } + } +}; + +export const ApiError: msRest.CompositeMapper = { + serializedName: "ApiError", + type: { + name: "Composite", + className: "ApiError", + modelProperties: { + error: { + required: true, + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDetail" + } + } + } + } +}; + export const ApplianceNetworkConfiguration: msRest.CompositeMapper = { serializedName: "ApplianceNetworkConfiguration", type: { @@ -313,11 +419,13 @@ export const AvailableSkuRequest: msRest.CompositeMapper = { modelProperties: { transferType: { required: true, - isConstant: true, serializedName: "transferType", - defaultValue: 'ImportToAzure', type: { - name: "String" + name: "Enum", + allowedValues: [ + "ImportToAzure", + "ExportFromAzure" + ] } }, country: { @@ -344,7 +452,8 @@ export const AvailableSkuRequest: msRest.CompositeMapper = { allowedValues: [ "DataBox", "DataBoxDisk", - "DataBoxHeavy" + "DataBoxHeavy", + "DataBoxCustomerDisk" ] } } @@ -368,7 +477,8 @@ export const Sku: msRest.CompositeMapper = { allowedValues: [ "DataBox", "DataBoxDisk", - "DataBoxHeavy" + "DataBoxHeavy", + "DataBoxCustomerDisk" ] } }, @@ -388,15 +498,15 @@ export const Sku: msRest.CompositeMapper = { } }; -export const DestinationToServiceLocationMap: msRest.CompositeMapper = { - serializedName: "DestinationToServiceLocationMap", +export const DataLocationToServiceLocationMap: msRest.CompositeMapper = { + serializedName: "DataLocationToServiceLocationMap", type: { name: "Composite", - className: "DestinationToServiceLocationMap", + className: "DataLocationToServiceLocationMap", modelProperties: { - destinationLocation: { + dataLocation: { readOnly: true, - serializedName: "destinationLocation", + serializedName: "dataLocation", type: { name: "String" } @@ -455,6 +565,13 @@ export const SkuCost: msRest.CompositeMapper = { type: { name: "String" } + }, + multiplier: { + readOnly: true, + serializedName: "multiplier", + type: { + name: "Number" + } } } } @@ -481,15 +598,15 @@ export const SkuInformation: msRest.CompositeMapper = { name: "Boolean" } }, - destinationToServiceLocationMap: { + dataLocationToServiceLocationMap: { readOnly: true, - serializedName: "properties.destinationToServiceLocationMap", + serializedName: "properties.dataLocationToServiceLocationMap", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DestinationToServiceLocationMap" + className: "DataLocationToServiceLocationMap" } } } @@ -560,6 +677,92 @@ export const SkuInformation: msRest.CompositeMapper = { } }; +export const AzureFileFilterDetails: msRest.CompositeMapper = { + serializedName: "AzureFileFilterDetails", + type: { + name: "Composite", + className: "AzureFileFilterDetails", + modelProperties: { + filePrefixList: { + serializedName: "filePrefixList", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + filePathList: { + serializedName: "filePathList", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + fileShareList: { + serializedName: "fileShareList", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const BlobFilterDetails: msRest.CompositeMapper = { + serializedName: "BlobFilterDetails", + type: { + name: "Composite", + className: "BlobFilterDetails", + modelProperties: { + blobPrefixList: { + serializedName: "blobPrefixList", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + blobPathList: { + serializedName: "blobPathList", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + containerList: { + serializedName: "containerList", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const CancellationReason: msRest.CompositeMapper = { serializedName: "CancellationReason", type: { @@ -587,20 +790,13 @@ export const NotificationPreference: msRest.CompositeMapper = { required: true, serializedName: "stageName", type: { - name: "Enum", - allowedValues: [ - "DevicePrepared", - "Dispatched", - "Delivered", - "PickedUp", - "AtAzureDC", - "DataCopy" - ] + name: "String" } }, sendNotification: { required: true, serializedName: "sendNotification", + defaultValue: true, type: { name: "Boolean" } @@ -704,9 +900,20 @@ export const CopyProgress: msRest.CompositeMapper = { name: "String" } }, - dataDestinationType: { + transferType: { + readOnly: true, + serializedName: "transferType", + type: { + name: "Enum", + allowedValues: [ + "ImportToAzure", + "ExportFromAzure" + ] + } + }, + dataAccountType: { readOnly: true, - serializedName: "dataDestinationType", + serializedName: "dataAccountType", type: { name: "Enum", allowedValues: [ @@ -722,9 +929,9 @@ export const CopyProgress: msRest.CompositeMapper = { name: "String" } }, - bytesSentToCloud: { + bytesProcessed: { readOnly: true, - serializedName: "bytesSentToCloud", + serializedName: "bytesProcessed", type: { name: "Number" } @@ -777,25 +984,49 @@ export const CopyProgress: msRest.CompositeMapper = { type: { name: "Number" } + }, + directoriesErroredOut: { + readOnly: true, + serializedName: "directoriesErroredOut", + type: { + name: "Number" + } + }, + invalidDirectoriesProcessed: { + readOnly: true, + serializedName: "invalidDirectoriesProcessed", + type: { + name: "Number" + } + }, + isEnumerationInProgress: { + readOnly: true, + serializedName: "isEnumerationInProgress", + type: { + name: "Boolean" + } } } } }; -export const ValidationInputRequest: msRest.CompositeMapper = { - serializedName: "ValidationInputRequest", +export const DataBoxCustomerDiskCopyProgress: msRest.CompositeMapper = { + serializedName: "DataBoxCustomerDiskCopyProgress", type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "validationType", - clientName: "validationType" - }, - uberParent: "ValidationInputRequest", - className: "ValidationInputRequest", + className: "DataBoxCustomerDiskCopyProgress", modelProperties: { - validationType: { - required: true, - serializedName: "validationType", + ...CopyProgress.type.modelProperties, + serialNumber: { + readOnly: true, + serializedName: "serialNumber", + type: { + name: "String" + } + }, + copyStatus: { + readOnly: true, + serializedName: "copyStatus", type: { name: "String" } @@ -804,38 +1035,109 @@ export const ValidationInputRequest: msRest.CompositeMapper = { } }; -export const CreateOrderLimitForSubscriptionValidationRequest: msRest.CompositeMapper = { - serializedName: "ValidateCreateOrderLimit", +export const ValidationRequest: msRest.CompositeMapper = { + serializedName: "ValidationRequest", type: { name: "Composite", - polymorphicDiscriminator: ValidationInputRequest.type.polymorphicDiscriminator, - uberParent: "ValidationInputRequest", - className: "CreateOrderLimitForSubscriptionValidationRequest", + polymorphicDiscriminator: { + serializedName: "validationCategory", + clientName: "validationCategory" + }, + uberParent: "ValidationRequest", + className: "ValidationRequest", modelProperties: { - ...ValidationInputRequest.type.modelProperties, - deviceType: { + individualRequestDetails: { required: true, - serializedName: "deviceType", + serializedName: "individualRequestDetails", type: { - name: "Enum", - allowedValues: [ - "DataBox", - "DataBoxDisk", - "DataBoxHeavy" - ] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ValidationInputRequest" + } + } + } + }, + validationCategory: { + required: true, + serializedName: "validationCategory", + type: { + name: "String" } } } } }; -export const ValidationInputResponse: msRest.CompositeMapper = { - serializedName: "ValidationInputResponse", +export const CreateJobValidations: msRest.CompositeMapper = { + serializedName: "JobCreationValidation", type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "validationType", - clientName: "validationType" + polymorphicDiscriminator: ValidationRequest.type.polymorphicDiscriminator, + uberParent: "ValidationRequest", + className: "CreateJobValidations", + modelProperties: { + ...ValidationRequest.type.modelProperties + } + } +}; + +export const ValidationInputRequest: msRest.CompositeMapper = { + serializedName: "ValidationInputRequest", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "validationType", + clientName: "validationType" + }, + uberParent: "ValidationInputRequest", + className: "ValidationInputRequest", + modelProperties: { + validationType: { + required: true, + serializedName: "validationType", + type: { + name: "String" + } + } + } + } +}; + +export const CreateOrderLimitForSubscriptionValidationRequest: msRest.CompositeMapper = { + serializedName: "ValidateCreateOrderLimit", + type: { + name: "Composite", + polymorphicDiscriminator: ValidationInputRequest.type.polymorphicDiscriminator, + uberParent: "ValidationInputRequest", + className: "CreateOrderLimitForSubscriptionValidationRequest", + modelProperties: { + ...ValidationInputRequest.type.modelProperties, + deviceType: { + required: true, + serializedName: "deviceType", + type: { + name: "Enum", + allowedValues: [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ] + } + } + } + } +}; + +export const ValidationInputResponse: msRest.CompositeMapper = { + serializedName: "ValidationInputResponse", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "validationType", + clientName: "validationType" }, uberParent: "ValidationInputResponse", className: "ValidationInputResponse", @@ -845,7 +1147,7 @@ export const ValidationInputResponse: msRest.CompositeMapper = { serializedName: "error", type: { name: "Composite", - className: "ErrorModel" + className: "CloudError" } }, validationType: { @@ -884,25 +1186,36 @@ export const CreateOrderLimitForSubscriptionValidationResponseProperties: msRest } }; -export const DataBoxAccountCopyLogDetails: msRest.CompositeMapper = { - serializedName: "DataBox", +export const ImportDiskDetails: msRest.CompositeMapper = { + serializedName: "ImportDiskDetails", type: { name: "Composite", - polymorphicDiscriminator: CopyLogDetails.type.polymorphicDiscriminator, - uberParent: "CopyLogDetails", - className: "DataBoxAccountCopyLogDetails", + className: "ImportDiskDetails", modelProperties: { - ...CopyLogDetails.type.modelProperties, - accountName: { - readOnly: true, - serializedName: "accountName", + manifestFile: { + required: true, + serializedName: "manifestFile", type: { name: "String" } }, - copyLogLink: { + manifestHash: { + required: true, + serializedName: "manifestHash", + type: { + name: "String" + } + }, + bitLockerKey: { + required: true, + serializedName: "bitLockerKey", + type: { + name: "String" + } + }, + backupManifestCloudPath: { readOnly: true, - serializedName: "copyLogLink", + serializedName: "backupManifestCloudPath", type: { name: "String" } @@ -911,32 +1224,29 @@ export const DataBoxAccountCopyLogDetails: msRest.CompositeMapper = { } }; -export const DataBoxDiskCopyLogDetails: msRest.CompositeMapper = { - serializedName: "DataBoxDisk", +export const ExportDiskDetails: msRest.CompositeMapper = { + serializedName: "ExportDiskDetails", type: { name: "Composite", - polymorphicDiscriminator: CopyLogDetails.type.polymorphicDiscriminator, - uberParent: "CopyLogDetails", - className: "DataBoxDiskCopyLogDetails", + className: "ExportDiskDetails", modelProperties: { - ...CopyLogDetails.type.modelProperties, - diskSerialNumber: { + manifestFile: { readOnly: true, - serializedName: "diskSerialNumber", + serializedName: "manifestFile", type: { name: "String" } }, - errorLogLink: { + manifestHash: { readOnly: true, - serializedName: "errorLogLink", + serializedName: "manifestHash", type: { name: "String" } }, - verboseLogLink: { + backupManifestCloudPath: { readOnly: true, - serializedName: "verboseLogLink", + serializedName: "backupManifestCloudPath", type: { name: "String" } @@ -945,51 +1255,50 @@ export const DataBoxDiskCopyLogDetails: msRest.CompositeMapper = { } }; -export const DataBoxDiskCopyProgress: msRest.CompositeMapper = { - serializedName: "DataBoxDiskCopyProgress", +export const PackageCarrierInfo: msRest.CompositeMapper = { + serializedName: "PackageCarrierInfo", type: { name: "Composite", - className: "DataBoxDiskCopyProgress", + className: "PackageCarrierInfo", modelProperties: { - serialNumber: { - readOnly: true, - serializedName: "serialNumber", + carrierName: { + serializedName: "carrierName", type: { name: "String" } }, - bytesCopied: { - readOnly: true, - serializedName: "bytesCopied", + trackingId: { + serializedName: "trackingId", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const PackageCarrierDetails: msRest.CompositeMapper = { + serializedName: "PackageCarrierDetails", + type: { + name: "Composite", + className: "PackageCarrierDetails", + modelProperties: { + carrierAccountNumber: { + serializedName: "carrierAccountNumber", + type: { + name: "String" } }, - percentComplete: { - readOnly: true, - serializedName: "percentComplete", + carrierName: { + serializedName: "carrierName", type: { - name: "Number" + name: "String" } }, - status: { - readOnly: true, - serializedName: "status", + trackingId: { + serializedName: "trackingId", type: { - name: "Enum", - allowedValues: [ - "NotStarted", - "InProgress", - "Completed", - "CompletedWithErrors", - "Failed", - "NotReturned", - "HardwareError", - "DeviceFormatted", - "DeviceMetadataModified", - "StorageAccountNotAccessible", - "UnsupportedData" - ] + name: "String" } } } @@ -1007,12 +1316,6 @@ export const JobDetails: msRest.CompositeMapper = { uberParent: "JobDetails", className: "JobDetails", modelProperties: { - expectedDataSizeInTerabytes: { - serializedName: "expectedDataSizeInTerabytes", - type: { - name: "Number" - } - }, jobStages: { readOnly: true, serializedName: "jobStages", @@ -1035,7 +1338,6 @@ export const JobDetails: msRest.CompositeMapper = { } }, shippingAddress: { - required: true, serializedName: "shippingAddress", type: { name: "Composite", @@ -1058,28 +1360,26 @@ export const JobDetails: msRest.CompositeMapper = { className: "PackageShippingDetails" } }, - destinationAccountDetails: { - required: true, - serializedName: "destinationAccountDetails", + dataImportDetails: { + serializedName: "dataImportDetails", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DestinationAccountDetails" + className: "DataImportDetails" } } } }, - errorDetails: { - readOnly: true, - serializedName: "errorDetails", + dataExportDetails: { + serializedName: "dataExportDetails", type: { name: "Sequence", element: { type: { name: "Composite", - className: "JobErrorDetails" + className: "DataExportDetails" } } } @@ -1118,6 +1418,59 @@ export const JobDetails: msRest.CompositeMapper = { name: "String" } }, + keyEncryptionKey: { + serializedName: "keyEncryptionKey", + type: { + name: "Composite", + className: "KeyEncryptionKey" + } + }, + expectedDataSizeInTeraBytes: { + serializedName: "expectedDataSizeInTeraBytes", + type: { + name: "Number" + } + }, + actions: { + readOnly: true, + serializedName: "actions", + type: { + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: [ + "None", + "MoveToCleanUpDevice", + "Resume" + ] + } + } + } + }, + lastMitigationActionOnJob: { + readOnly: true, + serializedName: "lastMitigationActionOnJob", + type: { + name: "Composite", + className: "LastMitigationActionOnJob" + } + }, + datacenterAddress: { + readOnly: true, + serializedName: "datacenterAddress", + type: { + name: "Composite", + className: "DatacenterAddressResponse" + } + }, + dataCenterCode: { + readOnly: true, + serializedName: "dataCenterCode", + type: { + name: "String" + } + }, jobDetailsType: { required: true, serializedName: "jobDetailsType", @@ -1129,22 +1482,36 @@ export const JobDetails: msRest.CompositeMapper = { } }; -export const DataBoxDiskJobDetails: msRest.CompositeMapper = { - serializedName: "DataBoxDisk", +export const DataBoxCustomerDiskJobDetails: msRest.CompositeMapper = { + serializedName: "DataBoxCustomerDisk", type: { name: "Composite", polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, uberParent: "JobDetails", - className: "DataBoxDiskJobDetails", + className: "DataBoxCustomerDiskJobDetails", modelProperties: { ...JobDetails.type.modelProperties, - preferredDisks: { - serializedName: "preferredDisks", + importDiskDetailsCollection: { + serializedName: "importDiskDetailsCollection", type: { name: "Dictionary", value: { type: { - name: "Number" + name: "Composite", + className: "ImportDiskDetails" + } + } + } + }, + exportDiskDetailsCollection: { + readOnly: true, + serializedName: "exportDiskDetailsCollection", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "ExportDiskDetails" } } } @@ -1157,27 +1524,32 @@ export const DataBoxDiskJobDetails: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "DataBoxDiskCopyProgress" + className: "DataBoxCustomerDiskCopyProgress" } } } }, - disksAndSizeDetails: { + deliverToDcPackageDetails: { readOnly: true, - serializedName: "disksAndSizeDetails", + serializedName: "deliverToDcPackageDetails", type: { - name: "Dictionary", - value: { - type: { - name: "Number" - } - } + name: "Composite", + className: "PackageCarrierInfo" } }, - passkey: { - serializedName: "passkey", + returnToCustomerPackageDetails: { + required: true, + serializedName: "returnToCustomerPackageDetails", type: { - name: "String" + name: "Composite", + className: "PackageCarrierDetails" + } + }, + enableManifestBackup: { + serializedName: "enableManifestBackup", + defaultValue: false, + type: { + name: "Boolean" } } } @@ -1220,12 +1592,21 @@ export const JobSecrets: msRest.CompositeMapper = { className: "JobSecrets", modelProperties: { dcAccessSecurityCode: { + readOnly: true, serializedName: "dcAccessSecurityCode", type: { name: "Composite", className: "DcAccessSecurityCode" } }, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "CloudError" + } + }, jobSecretsType: { required: true, serializedName: "jobSecretsType", @@ -1237,13 +1618,13 @@ export const JobSecrets: msRest.CompositeMapper = { } }; -export const DataBoxDiskJobSecrets: msRest.CompositeMapper = { - serializedName: "DataBoxDisk", +export const CustomerDiskJobSecrets: msRest.CompositeMapper = { + serializedName: "DataBoxCustomerDisk", type: { name: "Composite", polymorphicDiscriminator: JobSecrets.type.polymorphicDiscriminator, uberParent: "JobSecrets", - className: "DataBoxDiskJobSecrets", + className: "CustomerDiskJobSecrets", modelProperties: { ...JobSecrets.type.modelProperties, diskSecrets: { @@ -1259,43 +1640,506 @@ export const DataBoxDiskJobSecrets: msRest.CompositeMapper = { } } }, - passKey: { + carrierAccountNumber: { readOnly: true, - serializedName: "passKey", + serializedName: "carrierAccountNumber", type: { name: "String" } - }, - isPasskeyUserDefined: { - readOnly: true, - serializedName: "isPasskeyUserDefined", - type: { - name: "Boolean" - } } } } }; -export const DataBoxHeavyAccountCopyLogDetails: msRest.CompositeMapper = { - serializedName: "DataBoxHeavy", +export const DataAccountDetails: msRest.CompositeMapper = { + serializedName: "DataAccountDetails", type: { name: "Composite", - polymorphicDiscriminator: CopyLogDetails.type.polymorphicDiscriminator, - uberParent: "CopyLogDetails", - className: "DataBoxHeavyAccountCopyLogDetails", + polymorphicDiscriminator: { + serializedName: "dataAccountType", + clientName: "dataAccountType" + }, + uberParent: "DataAccountDetails", + className: "DataAccountDetails", modelProperties: { - ...CopyLogDetails.type.modelProperties, - accountName: { - readOnly: true, - serializedName: "accountName", + sharePassword: { + serializedName: "sharePassword", type: { name: "String" } }, - copyLogLink: { - readOnly: true, - serializedName: "copyLogLink", + dataAccountType: { + required: true, + serializedName: "dataAccountType", + type: { + name: "String" + } + } + } + } +}; + +export const DatacenterAddressResponse: msRest.CompositeMapper = { + serializedName: "DatacenterAddressResponse", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "datacenterAddressType", + clientName: "datacenterAddressType" + }, + uberParent: "DatacenterAddressResponse", + className: "DatacenterAddressResponse", + modelProperties: { + supportedCarriersForReturnShipment: { + readOnly: true, + serializedName: "supportedCarriersForReturnShipment", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + dataCenterAzureLocation: { + readOnly: true, + serializedName: "dataCenterAzureLocation", + type: { + name: "String" + } + }, + datacenterAddressType: { + required: true, + serializedName: "datacenterAddressType", + type: { + name: "String" + } + } + } + } +}; + +export const DatacenterAddressInstructionResponse: msRest.CompositeMapper = { + serializedName: "DatacenterAddressInstruction", + type: { + name: "Composite", + polymorphicDiscriminator: DatacenterAddressResponse.type.polymorphicDiscriminator, + uberParent: "DatacenterAddressResponse", + className: "DatacenterAddressInstructionResponse", + modelProperties: { + ...DatacenterAddressResponse.type.modelProperties, + communicationInstruction: { + readOnly: true, + serializedName: "communicationInstruction", + type: { + name: "String" + } + } + } + } +}; + +export const DatacenterAddressLocationResponse: msRest.CompositeMapper = { + serializedName: "DatacenterAddressLocation", + type: { + name: "Composite", + polymorphicDiscriminator: DatacenterAddressResponse.type.polymorphicDiscriminator, + uberParent: "DatacenterAddressResponse", + className: "DatacenterAddressLocationResponse", + modelProperties: { + ...DatacenterAddressResponse.type.modelProperties, + contactPersonName: { + readOnly: true, + serializedName: "contactPersonName", + type: { + name: "String" + } + }, + company: { + readOnly: true, + serializedName: "company", + type: { + name: "String" + } + }, + street1: { + readOnly: true, + serializedName: "street1", + type: { + name: "String" + } + }, + street2: { + readOnly: true, + serializedName: "street2", + type: { + name: "String" + } + }, + street3: { + readOnly: true, + serializedName: "street3", + type: { + name: "String" + } + }, + city: { + readOnly: true, + serializedName: "city", + type: { + name: "String" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + zip: { + readOnly: true, + serializedName: "zip", + type: { + name: "String" + } + }, + country: { + readOnly: true, + serializedName: "country", + type: { + name: "String" + } + }, + phone: { + readOnly: true, + serializedName: "phone", + type: { + name: "String" + } + }, + phoneExtension: { + readOnly: true, + serializedName: "phoneExtension", + type: { + name: "String" + } + }, + addressType: { + readOnly: true, + serializedName: "addressType", + type: { + name: "String" + } + }, + additionalShippingInformation: { + readOnly: true, + serializedName: "additionalShippingInformation", + type: { + name: "String" + } + } + } + } +}; + +export const DatacenterAddressRequest: msRest.CompositeMapper = { + serializedName: "DatacenterAddressRequest", + type: { + name: "Composite", + className: "DatacenterAddressRequest", + modelProperties: { + storageLocation: { + required: true, + serializedName: "storageLocation", + type: { + name: "String" + } + }, + skuName: { + required: true, + serializedName: "skuName", + type: { + name: "Enum", + allowedValues: [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ] + } + } + } + } +}; + +export const DataBoxAccountCopyLogDetails: msRest.CompositeMapper = { + serializedName: "DataBox", + type: { + name: "Composite", + polymorphicDiscriminator: CopyLogDetails.type.polymorphicDiscriminator, + uberParent: "CopyLogDetails", + className: "DataBoxAccountCopyLogDetails", + modelProperties: { + ...CopyLogDetails.type.modelProperties, + accountName: { + readOnly: true, + serializedName: "accountName", + type: { + name: "String" + } + }, + copyLogLink: { + readOnly: true, + serializedName: "copyLogLink", + type: { + name: "String" + } + }, + copyVerboseLogLink: { + readOnly: true, + serializedName: "copyVerboseLogLink", + type: { + name: "String" + } + } + } + } +}; + +export const DataBoxCustomerDiskCopyLogDetails: msRest.CompositeMapper = { + serializedName: "DataBoxCustomerDisk", + type: { + name: "Composite", + polymorphicDiscriminator: CopyLogDetails.type.polymorphicDiscriminator, + uberParent: "CopyLogDetails", + className: "DataBoxCustomerDiskCopyLogDetails", + modelProperties: { + ...CopyLogDetails.type.modelProperties, + serialNumber: { + readOnly: true, + serializedName: "serialNumber", + type: { + name: "String" + } + }, + errorLogLink: { + readOnly: true, + serializedName: "errorLogLink", + type: { + name: "String" + } + }, + verboseLogLink: { + readOnly: true, + serializedName: "verboseLogLink", + type: { + name: "String" + } + } + } + } +}; + +export const DataBoxDiskCopyLogDetails: msRest.CompositeMapper = { + serializedName: "DataBoxDisk", + type: { + name: "Composite", + polymorphicDiscriminator: CopyLogDetails.type.polymorphicDiscriminator, + uberParent: "CopyLogDetails", + className: "DataBoxDiskCopyLogDetails", + modelProperties: { + ...CopyLogDetails.type.modelProperties, + diskSerialNumber: { + readOnly: true, + serializedName: "diskSerialNumber", + type: { + name: "String" + } + }, + errorLogLink: { + readOnly: true, + serializedName: "errorLogLink", + type: { + name: "String" + } + }, + verboseLogLink: { + readOnly: true, + serializedName: "verboseLogLink", + type: { + name: "String" + } + } + } + } +}; + +export const DataBoxDiskCopyProgress: msRest.CompositeMapper = { + serializedName: "DataBoxDiskCopyProgress", + type: { + name: "Composite", + className: "DataBoxDiskCopyProgress", + modelProperties: { + serialNumber: { + readOnly: true, + serializedName: "serialNumber", + type: { + name: "String" + } + }, + bytesCopied: { + readOnly: true, + serializedName: "bytesCopied", + type: { + name: "Number" + } + }, + percentComplete: { + readOnly: true, + serializedName: "percentComplete", + type: { + name: "Number" + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const DataBoxDiskJobDetails: msRest.CompositeMapper = { + serializedName: "DataBoxDisk", + type: { + name: "Composite", + polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, + uberParent: "JobDetails", + className: "DataBoxDiskJobDetails", + modelProperties: { + ...JobDetails.type.modelProperties, + preferredDisks: { + serializedName: "preferredDisks", + type: { + name: "Dictionary", + value: { + type: { + name: "Number" + } + } + } + }, + copyProgress: { + readOnly: true, + serializedName: "copyProgress", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataBoxDiskCopyProgress" + } + } + } + }, + disksAndSizeDetails: { + readOnly: true, + serializedName: "disksAndSizeDetails", + type: { + name: "Dictionary", + value: { + type: { + name: "Number" + } + } + } + }, + passkey: { + serializedName: "passkey", + type: { + name: "String" + } + } + } + } +}; + +export const DataBoxDiskJobSecrets: msRest.CompositeMapper = { + serializedName: "DataBoxDisk", + type: { + name: "Composite", + polymorphicDiscriminator: JobSecrets.type.polymorphicDiscriminator, + uberParent: "JobSecrets", + className: "DataBoxDiskJobSecrets", + modelProperties: { + ...JobSecrets.type.modelProperties, + diskSecrets: { + readOnly: true, + serializedName: "diskSecrets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskSecret" + } + } + } + }, + passKey: { + readOnly: true, + serializedName: "passKey", + type: { + name: "String" + } + }, + isPasskeyUserDefined: { + readOnly: true, + serializedName: "isPasskeyUserDefined", + type: { + name: "Boolean" + } + } + } + } +}; + +export const DataBoxHeavyAccountCopyLogDetails: msRest.CompositeMapper = { + serializedName: "DataBoxHeavy", + type: { + name: "Composite", + polymorphicDiscriminator: CopyLogDetails.type.polymorphicDiscriminator, + uberParent: "CopyLogDetails", + className: "DataBoxHeavyAccountCopyLogDetails", + modelProperties: { + ...CopyLogDetails.type.modelProperties, + accountName: { + readOnly: true, + serializedName: "accountName", + type: { + name: "String" + } + }, + copyLogLink: { + readOnly: true, + serializedName: "copyLogLink", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + copyVerboseLogLink: { + readOnly: true, + serializedName: "copyVerboseLogLink", type: { name: "Sequence", element: { @@ -1556,6 +2400,12 @@ export const ScheduleAvailabilityRequest: msRest.CompositeMapper = { name: "String" } }, + country: { + serializedName: "country", + type: { + name: "String" + } + }, skuName: { required: true, serializedName: "skuName", @@ -1580,80 +2430,319 @@ export const DataBoxScheduleAvailabilityRequest: msRest.CompositeMapper = { } }; -export const DestinationAccountDetails: msRest.CompositeMapper = { - serializedName: "DestinationAccountDetails", +export const FilterFileDetails: msRest.CompositeMapper = { + serializedName: "FilterFileDetails", type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "dataDestinationType", - clientName: "dataDestinationType" - }, - uberParent: "DestinationAccountDetails", - className: "DestinationAccountDetails", + className: "FilterFileDetails", modelProperties: { - accountId: { - serializedName: "accountId", + filterFileType: { + required: true, + serializedName: "filterFileType", + type: { + name: "Enum", + allowedValues: [ + "AzureBlob", + "AzureFile" + ] + } + }, + filterFilePath: { + required: true, + serializedName: "filterFilePath", type: { name: "String" } + } + } + } +}; + +export const TransferFilterDetails: msRest.CompositeMapper = { + serializedName: "TransferFilterDetails", + type: { + name: "Composite", + className: "TransferFilterDetails", + modelProperties: { + dataAccountType: { + required: true, + serializedName: "dataAccountType", + defaultValue: 'StorageAccount', + type: { + name: "Enum", + allowedValues: [ + "StorageAccount", + "ManagedDisk" + ] + } }, - sharePassword: { - serializedName: "sharePassword", + blobFilterDetails: { + serializedName: "blobFilterDetails", + type: { + name: "Composite", + className: "BlobFilterDetails" + } + }, + azureFileFilterDetails: { + serializedName: "azureFileFilterDetails", + type: { + name: "Composite", + className: "AzureFileFilterDetails" + } + }, + filterFileDetails: { + serializedName: "filterFileDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FilterFileDetails" + } + } + } + } + } + } +}; + +export const TransferConfigurationTransferFilterDetails: msRest.CompositeMapper = { + serializedName: "TransferConfiguration_transferFilterDetails", + type: { + name: "Composite", + className: "TransferConfigurationTransferFilterDetails", + modelProperties: { + include: { + serializedName: "include", + type: { + name: "Composite", + className: "TransferFilterDetails" + } + } + } + } +}; + +export const TransferAllDetails: msRest.CompositeMapper = { + serializedName: "TransferAllDetails", + type: { + name: "Composite", + className: "TransferAllDetails", + modelProperties: { + dataAccountType: { + required: true, + serializedName: "dataAccountType", + defaultValue: 'StorageAccount', + type: { + name: "Enum", + allowedValues: [ + "StorageAccount", + "ManagedDisk" + ] + } + }, + transferAllBlobs: { + serializedName: "transferAllBlobs", + type: { + name: "Boolean" + } + }, + transferAllFiles: { + serializedName: "transferAllFiles", + type: { + name: "Boolean" + } + } + } + } +}; + +export const TransferConfigurationTransferAllDetails: msRest.CompositeMapper = { + serializedName: "TransferConfiguration_transferAllDetails", + type: { + name: "Composite", + className: "TransferConfigurationTransferAllDetails", + modelProperties: { + include: { + serializedName: "include", + type: { + name: "Composite", + className: "TransferAllDetails" + } + } + } + } +}; + +export const TransferConfiguration: msRest.CompositeMapper = { + serializedName: "TransferConfiguration", + type: { + name: "Composite", + className: "TransferConfiguration", + modelProperties: { + transferConfigurationType: { + required: true, + serializedName: "transferConfigurationType", + type: { + name: "Enum", + allowedValues: [ + "TransferAll", + "TransferUsingFilter" + ] + } + }, + transferFilterDetails: { + serializedName: "transferFilterDetails", + type: { + name: "Composite", + className: "TransferConfigurationTransferFilterDetails" + } + }, + transferAllDetails: { + serializedName: "transferAllDetails", + type: { + name: "Composite", + className: "TransferConfigurationTransferAllDetails" + } + } + } + } +}; + +export const DataExportDetails: msRest.CompositeMapper = { + serializedName: "DataExportDetails", + type: { + name: "Composite", + className: "DataExportDetails", + modelProperties: { + transferConfiguration: { + required: true, + serializedName: "transferConfiguration", + type: { + name: "Composite", + className: "TransferConfiguration" + } + }, + logCollectionLevel: { + serializedName: "logCollectionLevel", + defaultValue: 'Error', + type: { + name: "Enum", + allowedValues: [ + "Error", + "Verbose" + ] + } + }, + accountDetails: { + required: true, + serializedName: "accountDetails", + type: { + name: "Composite", + className: "DataAccountDetails" + } + } + } + } +}; + +export const DataImportDetails: msRest.CompositeMapper = { + serializedName: "DataImportDetails", + type: { + name: "Composite", + className: "DataImportDetails", + modelProperties: { + accountDetails: { + required: true, + serializedName: "accountDetails", type: { - name: "String" + name: "Composite", + className: "DataAccountDetails" } }, - dataDestinationType: { - required: true, - serializedName: "dataDestinationType", + logCollectionLevel: { + serializedName: "logCollectionLevel", + defaultValue: 'Error', type: { - name: "String" + name: "Enum", + allowedValues: [ + "Error", + "Verbose" + ] } } } } }; -export const DataDestinationDetailsValidationRequest: msRest.CompositeMapper = { - serializedName: "ValidateDataDestinationDetails", +export const DataTransferDetailsValidationRequest: msRest.CompositeMapper = { + serializedName: "ValidateDataTransferDetails", type: { name: "Composite", polymorphicDiscriminator: ValidationInputRequest.type.polymorphicDiscriminator, uberParent: "ValidationInputRequest", - className: "DataDestinationDetailsValidationRequest", + className: "DataTransferDetailsValidationRequest", modelProperties: { ...ValidationInputRequest.type.modelProperties, - destinationAccountDetails: { - required: true, - serializedName: "destinationAccountDetails", + dataExportDetails: { + serializedName: "dataExportDetails", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DestinationAccountDetails" + className: "DataExportDetails" } } } }, - location: { + dataImportDetails: { + serializedName: "dataImportDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataImportDetails" + } + } + } + }, + deviceType: { required: true, - serializedName: "location", + serializedName: "deviceType", type: { - name: "String" + name: "Enum", + allowedValues: [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ] + } + }, + transferType: { + required: true, + serializedName: "transferType", + type: { + name: "Enum", + allowedValues: [ + "ImportToAzure", + "ExportFromAzure" + ] } } } } }; -export const DataDestinationDetailsValidationResponseProperties: msRest.CompositeMapper = { - serializedName: "ValidateDataDestinationDetails", +export const DataTransferDetailsValidationResponseProperties: msRest.CompositeMapper = { + serializedName: "ValidateDataTransferDetails", type: { name: "Composite", polymorphicDiscriminator: ValidationInputResponse.type.polymorphicDiscriminator, uberParent: "ValidationInputResponse", - className: "DataDestinationDetailsValidationResponseProperties", + className: "DataTransferDetailsValidationResponseProperties", modelProperties: { ...ValidationInputResponse.type.modelProperties, status: { @@ -1678,61 +2767,14 @@ export const DcAccessSecurityCode: msRest.CompositeMapper = { name: "Composite", className: "DcAccessSecurityCode", modelProperties: { - forwardDcAccessCode: { - serializedName: "forwardDcAccessCode", - type: { - name: "String" - } - }, - reverseDcAccessCode: { - serializedName: "reverseDcAccessCode", - type: { - name: "String" - } - } - } - } -}; - -export const DestinationManagedDiskDetails: msRest.CompositeMapper = { - serializedName: "ManagedDisk", - type: { - name: "Composite", - polymorphicDiscriminator: DestinationAccountDetails.type.polymorphicDiscriminator, - uberParent: "DestinationAccountDetails", - className: "DestinationManagedDiskDetails", - modelProperties: { - ...DestinationAccountDetails.type.modelProperties, - resourceGroupId: { - required: true, - serializedName: "resourceGroupId", + reverseDCAccessCode: { + serializedName: "reverseDCAccessCode", type: { name: "String" } }, - stagingStorageAccountId: { - required: true, - serializedName: "stagingStorageAccountId", - type: { - name: "String" - } - } - } - } -}; - -export const DestinationStorageAccountDetails: msRest.CompositeMapper = { - serializedName: "StorageAccount", - type: { - name: "Composite", - polymorphicDiscriminator: DestinationAccountDetails.type.polymorphicDiscriminator, - uberParent: "DestinationAccountDetails", - className: "DestinationStorageAccountDetails", - modelProperties: { - ...DestinationAccountDetails.type.modelProperties, - storageAccountId: { - required: true, - serializedName: "storageAccountId", + forwardDCAccessCode: { + serializedName: "forwardDCAccessCode", type: { name: "String" } @@ -1750,9 +2792,9 @@ export const DiskScheduleAvailabilityRequest: msRest.CompositeMapper = { className: "DiskScheduleAvailabilityRequest", modelProperties: { ...ScheduleAvailabilityRequest.type.modelProperties, - expectedDataSizeInTerabytes: { + expectedDataSizeInTeraBytes: { required: true, - serializedName: "expectedDataSizeInTerabytes", + serializedName: "expectedDataSizeInTeraBytes", type: { name: "Number" } @@ -1761,24 +2803,21 @@ export const DiskScheduleAvailabilityRequest: msRest.CompositeMapper = { } }; -export const ErrorModel: msRest.CompositeMapper = { - serializedName: "Error", +export const EncryptionPreferences: msRest.CompositeMapper = { + serializedName: "EncryptionPreferences", type: { name: "Composite", - className: "ErrorModel", + className: "EncryptionPreferences", modelProperties: { - code: { - readOnly: true, - serializedName: "code", - type: { - name: "String" - } - }, - message: { - readOnly: true, - serializedName: "message", + doubleEncryption: { + serializedName: "doubleEncryption", + defaultValue: 'Disabled', type: { - name: "String" + name: "Enum", + allowedValues: [ + "Enabled", + "Disabled" + ] } } } @@ -1798,54 +2837,55 @@ export const HeavyScheduleAvailabilityRequest: msRest.CompositeMapper = { } }; -export const JobDeliveryInfo: msRest.CompositeMapper = { - serializedName: "JobDeliveryInfo", +export const UserAssignedProperties: msRest.CompositeMapper = { + serializedName: "UserAssignedProperties", type: { name: "Composite", - className: "JobDeliveryInfo", + className: "UserAssignedProperties", modelProperties: { - scheduledDateTime: { - serializedName: "scheduledDateTime", + resourceId: { + serializedName: "resourceId", type: { - name: "DateTime" + name: "String" } } } } }; -export const JobErrorDetails: msRest.CompositeMapper = { - serializedName: "JobErrorDetails", +export const IdentityProperties: msRest.CompositeMapper = { + serializedName: "IdentityProperties", type: { name: "Composite", - className: "JobErrorDetails", + className: "IdentityProperties", modelProperties: { - errorMessage: { - readOnly: true, - serializedName: "errorMessage", + type: { + serializedName: "type", type: { name: "String" } }, - errorCode: { - readOnly: true, - serializedName: "errorCode", - type: { - name: "Number" - } - }, - recommendedAction: { - readOnly: true, - serializedName: "recommendedAction", + userAssigned: { + serializedName: "userAssigned", type: { - name: "String" + name: "Composite", + className: "UserAssignedProperties" } - }, - exceptionMessage: { - readOnly: true, - serializedName: "exceptionMessage", + } + } + } +}; + +export const JobDeliveryInfo: msRest.CompositeMapper = { + serializedName: "JobDeliveryInfo", + type: { + name: "Composite", + className: "JobDeliveryInfo", + modelProperties: { + scheduledDateTime: { + serializedName: "scheduledDateTime", type: { - name: "String" + name: "DateTime" } } } @@ -1862,25 +2902,7 @@ export const JobStages: msRest.CompositeMapper = { readOnly: true, serializedName: "stageName", type: { - name: "Enum", - allowedValues: [ - "DeviceOrdered", - "DevicePrepared", - "Dispatched", - "Delivered", - "PickedUp", - "AtAzureDC", - "DataCopy", - "Completed", - "CompletedWithErrors", - "Cancelled", - "Failed_IssueReportedAtCustomer", - "Failed_IssueDetectedAtAzureDC", - "Aborted", - "CompletedWithWarnings", - "ReadyToDispatchFromAzureDC", - "ReadyToReceiveAtAzureDC" - ] + name: "String" } }, displayName: { @@ -1902,7 +2924,12 @@ export const JobStages: msRest.CompositeMapper = { "Failed", "Cancelled", "Cancelling", - "SucceededWithErrors" + "SucceededWithErrors", + "WaitingForCustomerAction", + "SucceededWithWarnings", + "WaitingForCustomerActionForKek", + "WaitingForCustomerActionForCleanUp", + "CustomerActionPerformedForCleanUp" ] } }, @@ -1919,19 +2946,6 @@ export const JobStages: msRest.CompositeMapper = { type: { name: "Object" } - }, - errorDetails: { - readOnly: true, - serializedName: "errorDetails", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "JobErrorDetails" - } - } - } } } } @@ -1943,23 +2957,23 @@ export const PackageShippingDetails: msRest.CompositeMapper = { name: "Composite", className: "PackageShippingDetails", modelProperties: { - carrierName: { + trackingUrl: { readOnly: true, - serializedName: "carrierName", + serializedName: "trackingUrl", type: { name: "String" } }, - trackingId: { + carrierName: { readOnly: true, - serializedName: "trackingId", + serializedName: "carrierName", type: { name: "String" } }, - trackingUrl: { + trackingId: { readOnly: true, - serializedName: "trackingUrl", + serializedName: "trackingId", type: { name: "String" } @@ -1984,33 +2998,166 @@ export const TransportPreferences: msRest.CompositeMapper = { "MicrosoftManaged" ] } - } - } - } -}; - -export const Preferences: msRest.CompositeMapper = { - serializedName: "Preferences", - type: { - name: "Composite", - className: "Preferences", - modelProperties: { - preferredDataCenterRegion: { - serializedName: "preferredDataCenterRegion", + } + } + } +}; + +export const Preferences: msRest.CompositeMapper = { + serializedName: "Preferences", + type: { + name: "Composite", + className: "Preferences", + modelProperties: { + preferredDataCenterRegion: { + serializedName: "preferredDataCenterRegion", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + transportPreferences: { + serializedName: "transportPreferences", + type: { + name: "Composite", + className: "TransportPreferences" + } + }, + encryptionPreferences: { + serializedName: "encryptionPreferences", + type: { + name: "Composite", + className: "EncryptionPreferences" + } + } + } + } +}; + +export const KeyEncryptionKey: msRest.CompositeMapper = { + serializedName: "KeyEncryptionKey", + type: { + name: "Composite", + className: "KeyEncryptionKey", + modelProperties: { + kekType: { + required: true, + serializedName: "kekType", + defaultValue: 'MicrosoftManaged', + type: { + name: "Enum", + allowedValues: [ + "MicrosoftManaged", + "CustomerManaged" + ] + } + }, + identityProperties: { + serializedName: "identityProperties", + type: { + name: "Composite", + className: "IdentityProperties" + } + }, + kekUrl: { + serializedName: "kekUrl", + type: { + name: "String" + } + }, + kekVaultResourceID: { + serializedName: "kekVaultResourceID", + type: { + name: "String" + } + } + } + } +}; + +export const LastMitigationActionOnJob: msRest.CompositeMapper = { + serializedName: "LastMitigationActionOnJob", + type: { + name: "Composite", + className: "LastMitigationActionOnJob", + modelProperties: { + actionDateTimeInUtc: { + serializedName: "actionDateTimeInUtc", + type: { + name: "DateTime" + } + }, + isPerformedByCustomer: { + serializedName: "isPerformedByCustomer", + type: { + name: "Boolean" + } + }, + customerResolution: { + serializedName: "customerResolution", + type: { + name: "Enum", + allowedValues: [ + "None", + "MoveToCleanUpDevice", + "Resume" + ] + } + } + } + } +}; + +export const SystemData: msRest.CompositeMapper = { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + modelProperties: { + createdBy: { + readOnly: true, + serializedName: "createdBy", + type: { + name: "String" + } + }, + createdByType: { + readOnly: true, + serializedName: "createdByType", + type: { + name: "String" + } + }, + createdAt: { + readOnly: true, + serializedName: "createdAt", + type: { + name: "DateTime" + } + }, + lastModifiedBy: { + readOnly: true, + serializedName: "lastModifiedBy", + type: { + name: "String" + } + }, + lastModifiedByType: { + readOnly: true, + serializedName: "lastModifiedByType", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - transportPreferences: { - serializedName: "transportPreferences", + lastModifiedAt: { + readOnly: true, + serializedName: "lastModifiedAt", type: { - name: "Composite", - className: "TransportPreferences" + name: "DateTime" } } } @@ -2048,6 +3195,13 @@ export const Resource: msRest.CompositeMapper = { name: "Composite", className: "Sku" } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "ResourceIdentity" + } } } } @@ -2060,6 +3214,17 @@ export const JobResource: msRest.CompositeMapper = { className: "JobResource", modelProperties: { ...Resource.type.modelProperties, + transferType: { + required: true, + serializedName: "properties.transferType", + type: { + name: "Enum", + allowedValues: [ + "ImportToAzure", + "ExportFromAzure" + ] + } + }, isCancellable: { readOnly: true, serializedName: "properties.isCancellable", @@ -2081,29 +3246,18 @@ export const JobResource: msRest.CompositeMapper = { name: "Boolean" } }, + isPrepareToShipEnabled: { + readOnly: true, + serializedName: "properties.isPrepareToShipEnabled", + type: { + name: "Boolean" + } + }, status: { readOnly: true, serializedName: "properties.status", type: { - name: "Enum", - allowedValues: [ - "DeviceOrdered", - "DevicePrepared", - "Dispatched", - "Delivered", - "PickedUp", - "AtAzureDC", - "DataCopy", - "Completed", - "CompletedWithErrors", - "Cancelled", - "Failed_IssueReportedAtCustomer", - "Failed_IssueDetectedAtAzureDC", - "Aborted", - "CompletedWithWarnings", - "ReadyToDispatchFromAzureDC", - "ReadyToReceiveAtAzureDC" - ] + name: "String" } }, startTime: { @@ -2118,7 +3272,7 @@ export const JobResource: msRest.CompositeMapper = { serializedName: "properties.error", type: { name: "Composite", - className: "ErrorModel" + className: "CloudError" } }, details: { @@ -2137,6 +3291,7 @@ export const JobResource: msRest.CompositeMapper = { }, deliveryType: { serializedName: "properties.deliveryType", + defaultValue: 'NonScheduled', type: { name: "Enum", allowedValues: [ @@ -2179,6 +3334,14 @@ export const JobResource: msRest.CompositeMapper = { type: { name: "String" } + }, + systemData: { + readOnly: true, + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } } } } @@ -2203,35 +3366,104 @@ export const UpdateJobDetails: msRest.CompositeMapper = { name: "Composite", className: "ShippingAddress" } + }, + keyEncryptionKey: { + serializedName: "keyEncryptionKey", + type: { + name: "Composite", + className: "KeyEncryptionKey" + } + }, + returnToCustomerPackageDetails: { + serializedName: "returnToCustomerPackageDetails", + type: { + name: "Composite", + className: "PackageCarrierDetails" + } } } } }; -export const JobResourceUpdateParameter: msRest.CompositeMapper = { - serializedName: "JobResourceUpdateParameter", +export const UserAssignedIdentity: msRest.CompositeMapper = { + serializedName: "UserAssignedIdentity", type: { name: "Composite", - className: "JobResourceUpdateParameter", + className: "UserAssignedIdentity", modelProperties: { - details: { - serializedName: "properties.details", + principalId: { + readOnly: true, + serializedName: "principalId", type: { - name: "Composite", - className: "UpdateJobDetails" + name: "String" } }, - destinationAccountDetails: { - serializedName: "properties.destinationAccountDetails", + clientId: { + readOnly: true, + serializedName: "clientId", type: { - name: "Sequence", - element: { + name: "String" + } + } + } + } +}; + +export const ResourceIdentity: msRest.CompositeMapper = { + serializedName: "ResourceIdentity", + type: { + name: "Composite", + className: "ResourceIdentity", + modelProperties: { + type: { + serializedName: "type", + defaultValue: 'None', + type: { + name: "String" + } + }, + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + tenantId: { + readOnly: true, + serializedName: "tenantId", + type: { + name: "String" + } + }, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + type: { + name: "Dictionary", + value: { type: { name: "Composite", - className: "DestinationAccountDetails" + className: "UserAssignedIdentity" } } } + } + } + } +}; + +export const JobResourceUpdateParameter: msRest.CompositeMapper = { + serializedName: "JobResourceUpdateParameter", + type: { + name: "Composite", + className: "JobResourceUpdateParameter", + modelProperties: { + details: { + serializedName: "properties.details", + type: { + name: "Composite", + className: "UpdateJobDetails" + } }, tags: { serializedName: "tags", @@ -2243,6 +3475,80 @@ export const JobResourceUpdateParameter: msRest.CompositeMapper = { } } } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "ResourceIdentity" + } + } + } + } +}; + +export const ManagedDiskDetails: msRest.CompositeMapper = { + serializedName: "ManagedDisk", + type: { + name: "Composite", + polymorphicDiscriminator: DataAccountDetails.type.polymorphicDiscriminator, + uberParent: "DataAccountDetails", + className: "ManagedDiskDetails", + modelProperties: { + ...DataAccountDetails.type.modelProperties, + resourceGroupId: { + required: true, + serializedName: "resourceGroupId", + type: { + name: "String" + } + }, + stagingStorageAccountId: { + required: true, + serializedName: "stagingStorageAccountId", + type: { + name: "String" + } + } + } + } +}; + +export const MarkDevicesShippedRequest: msRest.CompositeMapper = { + serializedName: "MarkDevicesShippedRequest", + type: { + name: "Composite", + className: "MarkDevicesShippedRequest", + modelProperties: { + deliverToDcPackageDetails: { + required: true, + serializedName: "deliverToDcPackageDetails", + type: { + name: "Composite", + className: "PackageCarrierInfo" + } + } + } + } +}; + +export const MitigateJobRequest: msRest.CompositeMapper = { + serializedName: "MitigateJobRequest", + type: { + name: "Composite", + className: "MitigateJobRequest", + modelProperties: { + customerResolutionCode: { + required: true, + serializedName: "customerResolutionCode", + type: { + name: "Enum", + allowedValues: [ + "None", + "MoveToCleanUpDevice", + "Resume" + ] + } } } } @@ -2316,6 +3622,12 @@ export const Operation: msRest.CompositeMapper = { type: { name: "String" } + }, + isDataAction: { + serializedName: "isDataAction", + type: { + name: "Boolean" + } } } } @@ -2345,7 +3657,8 @@ export const PreferencesValidationRequest: msRest.CompositeMapper = { allowedValues: [ "DataBox", "DataBoxDisk", - "DataBoxHeavy" + "DataBoxHeavy", + "DataBoxCustomerDisk" ] } } @@ -2391,7 +3704,8 @@ export const TransportAvailabilityRequest: msRest.CompositeMapper = { allowedValues: [ "DataBox", "DataBoxDisk", - "DataBoxHeavy" + "DataBoxHeavy", + "DataBoxCustomerDisk" ] } } @@ -2418,6 +3732,13 @@ export const RegionConfigurationRequest: msRest.CompositeMapper = { name: "Composite", className: "TransportAvailabilityRequest" } + }, + datacenterAddressRequest: { + serializedName: "datacenterAddressRequest", + type: { + name: "Composite", + className: "DatacenterAddressRequest" + } } } } @@ -2510,6 +3831,14 @@ export const RegionConfigurationResponse: msRest.CompositeMapper = { name: "Composite", className: "TransportAvailabilityResponse" } + }, + datacenterAddressResponse: { + readOnly: true, + serializedName: "datacenterAddressResponse", + type: { + name: "Composite", + className: "DatacenterAddressResponse" + } } } } @@ -2587,17 +3916,20 @@ export const SkuAvailabilityValidationRequest: msRest.CompositeMapper = { allowedValues: [ "DataBox", "DataBoxDisk", - "DataBoxHeavy" + "DataBoxHeavy", + "DataBoxCustomerDisk" ] } }, transferType: { required: true, - isConstant: true, serializedName: "transferType", - defaultValue: 'ImportToAzure', type: { - name: "String" + name: "Enum", + allowedValues: [ + "ImportToAzure", + "ExportFromAzure" + ] } }, country: { @@ -2643,6 +3975,26 @@ export const SkuAvailabilityValidationResponseProperties: msRest.CompositeMapper } }; +export const StorageAccountDetails: msRest.CompositeMapper = { + serializedName: "StorageAccount", + type: { + name: "Composite", + polymorphicDiscriminator: DataAccountDetails.type.polymorphicDiscriminator, + uberParent: "DataAccountDetails", + className: "StorageAccountDetails", + modelProperties: { + ...DataAccountDetails.type.modelProperties, + storageAccountId: { + required: true, + serializedName: "storageAccountId", + type: { + name: "String" + } + } + } + } +}; + export const SubscriptionIsAllowedToCreateJobValidationRequest: msRest.CompositeMapper = { serializedName: "ValidateSubscriptionIsAllowedToCreateJob", type: { @@ -2731,7 +4083,8 @@ export const ValidateAddress: msRest.CompositeMapper = { allowedValues: [ "DataBox", "DataBoxDisk", - "DataBoxHeavy" + "DataBoxHeavy", + "DataBoxCustomerDisk" ] } }, @@ -2746,54 +4099,6 @@ export const ValidateAddress: msRest.CompositeMapper = { } }; -export const ValidationRequest: msRest.CompositeMapper = { - serializedName: "ValidationRequest", - type: { - name: "Composite", - polymorphicDiscriminator: { - serializedName: "validationCategory", - clientName: "validationCategory" - }, - uberParent: "ValidationRequest", - className: "ValidationRequest", - modelProperties: { - individualRequestDetails: { - required: true, - serializedName: "individualRequestDetails", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ValidationInputRequest" - } - } - } - }, - validationCategory: { - required: true, - serializedName: "validationCategory", - type: { - name: "String" - } - } - } - } -}; - -export const CreateJobValidations: msRest.CompositeMapper = { - serializedName: "JobCreationValidation", - type: { - name: "Composite", - polymorphicDiscriminator: ValidationRequest.type.polymorphicDiscriminator, - uberParent: "ValidationRequest", - className: "CreateJobValidations", - modelProperties: { - ...ValidationRequest.type.modelProperties - } - } -}; - export const ValidationResponse: msRest.CompositeMapper = { serializedName: "ValidationResponse", type: { @@ -2939,9 +4244,17 @@ export const AvailableSkusResult: msRest.CompositeMapper = { export const discriminators = { 'CopyLogDetails' : CopyLogDetails, + 'ValidationRequest.JobCreationValidation' : CreateJobValidations, 'ValidationInputRequest.ValidateCreateOrderLimit' : CreateOrderLimitForSubscriptionValidationRequest, 'ValidationInputResponse.ValidateCreateOrderLimit' : CreateOrderLimitForSubscriptionValidationResponseProperties, + 'JobDetails.DataBoxCustomerDisk' : DataBoxCustomerDiskJobDetails, + 'JobSecrets.DataBoxCustomerDisk' : CustomerDiskJobSecrets, + 'DataAccountDetails' : DataAccountDetails, + 'DatacenterAddressResponse.DatacenterAddressInstruction' : DatacenterAddressInstructionResponse, + 'DatacenterAddressResponse.DatacenterAddressLocation' : DatacenterAddressLocationResponse, + 'DatacenterAddressResponse' : DatacenterAddressResponse, 'CopyLogDetails.DataBox' : DataBoxAccountCopyLogDetails, + 'CopyLogDetails.DataBoxCustomerDisk' : DataBoxCustomerDiskCopyLogDetails, 'CopyLogDetails.DataBoxDisk' : DataBoxDiskCopyLogDetails, 'JobDetails.DataBoxDisk' : DataBoxDiskJobDetails, 'JobSecrets.DataBoxDisk' : DataBoxDiskJobSecrets, @@ -2951,26 +4264,24 @@ export const discriminators = { 'JobDetails.DataBox' : DataBoxJobDetails, 'JobSecrets.DataBox' : DataboxJobSecrets, 'ScheduleAvailabilityRequest.DataBox' : DataBoxScheduleAvailabilityRequest, - 'DestinationAccountDetails' : DestinationAccountDetails, - 'ValidationInputRequest.ValidateDataDestinationDetails' : DataDestinationDetailsValidationRequest, - 'ValidationInputResponse.ValidateDataDestinationDetails' : DataDestinationDetailsValidationResponseProperties, - 'DestinationAccountDetails.ManagedDisk' : DestinationManagedDiskDetails, - 'DestinationAccountDetails.StorageAccount' : DestinationStorageAccountDetails, + 'ValidationInputRequest.ValidateDataTransferDetails' : DataTransferDetailsValidationRequest, + 'ValidationInputResponse.ValidateDataTransferDetails' : DataTransferDetailsValidationResponseProperties, 'ScheduleAvailabilityRequest.DataBoxDisk' : DiskScheduleAvailabilityRequest, 'ScheduleAvailabilityRequest.DataBoxHeavy' : HeavyScheduleAvailabilityRequest, 'JobDetails' : JobDetails, 'JobSecrets' : JobSecrets, + 'DataAccountDetails.ManagedDisk' : ManagedDiskDetails, 'ValidationInputRequest.ValidatePreferences' : PreferencesValidationRequest, 'ValidationInputResponse.ValidatePreferences' : PreferencesValidationResponseProperties, 'ScheduleAvailabilityRequest' : ScheduleAvailabilityRequest, 'ValidationInputRequest.ValidateSkuAvailability' : SkuAvailabilityValidationRequest, 'ValidationInputResponse.ValidateSkuAvailability' : SkuAvailabilityValidationResponseProperties, + 'DataAccountDetails.StorageAccount' : StorageAccountDetails, 'ValidationInputRequest.ValidateSubscriptionIsAllowedToCreateJob' : SubscriptionIsAllowedToCreateJobValidationRequest, 'ValidationInputResponse.ValidateSubscriptionIsAllowedToCreateJob' : SubscriptionIsAllowedToCreateJobValidationResponseProperties, 'ValidationInputRequest.ValidateAddress' : ValidateAddress, 'ValidationInputRequest' : ValidationInputRequest, 'ValidationInputResponse' : ValidationInputResponse, - 'ValidationRequest' : ValidationRequest, - 'ValidationRequest.JobCreationValidation' : CreateJobValidations + 'ValidationRequest' : ValidationRequest }; diff --git a/sdk/databox/arm-databox/src/models/operationsMappers.ts b/sdk/databox/arm-databox/src/models/operationsMappers.ts index 786d9130f59f..92301bd37dbf 100644 --- a/sdk/databox/arm-databox/src/models/operationsMappers.ts +++ b/sdk/databox/arm-databox/src/models/operationsMappers.ts @@ -1,6 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. @@ -8,7 +8,9 @@ export { discriminators, - CloudError, + ApiError, + Details, + ErrorDetail, Operation, OperationDisplay, OperationList diff --git a/sdk/databox/arm-databox/src/models/parameters.ts b/sdk/databox/arm-databox/src/models/parameters.ts index fd0c31593682..4844dd3f84e6 100644 --- a/sdk/databox/arm-databox/src/models/parameters.ts +++ b/sdk/databox/arm-databox/src/models/parameters.ts @@ -1,7 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is diff --git a/sdk/databox/arm-databox/src/models/serviceMappers.ts b/sdk/databox/arm-databox/src/models/serviceMappers.ts index 42db69bd2f00..94193cbc9e52 100644 --- a/sdk/databox/arm-databox/src/models/serviceMappers.ts +++ b/sdk/databox/arm-databox/src/models/serviceMappers.ts @@ -1,6 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. @@ -8,23 +8,35 @@ export { discriminators, + AdditionalErrorInfo, AddressValidationOutput, + ApiError, AvailableSkuRequest, AvailableSkusResult, + AzureFileFilterDetails, + BlobFilterDetails, CloudError, CreateJobValidations, CreateOrderLimitForSubscriptionValidationRequest, CreateOrderLimitForSubscriptionValidationResponseProperties, + DataAccountDetails, DataBoxScheduleAvailabilityRequest, - DataDestinationDetailsValidationRequest, - DataDestinationDetailsValidationResponseProperties, - DestinationAccountDetails, - DestinationManagedDiskDetails, - DestinationStorageAccountDetails, - DestinationToServiceLocationMap, + DatacenterAddressInstructionResponse, + DatacenterAddressLocationResponse, + DatacenterAddressRequest, + DatacenterAddressResponse, + DataExportDetails, + DataImportDetails, + DataLocationToServiceLocationMap, + DataTransferDetailsValidationRequest, + DataTransferDetailsValidationResponseProperties, + Details, DiskScheduleAvailabilityRequest, - ErrorModel, + EncryptionPreferences, + ErrorDetail, + FilterFileDetails, HeavyScheduleAvailabilityRequest, + ManagedDiskDetails, Preferences, PreferencesValidationRequest, PreferencesValidationResponseProperties, @@ -39,8 +51,14 @@ export { SkuCapacity, SkuCost, SkuInformation, + StorageAccountDetails, SubscriptionIsAllowedToCreateJobValidationRequest, SubscriptionIsAllowedToCreateJobValidationResponseProperties, + TransferAllDetails, + TransferConfiguration, + TransferConfigurationTransferAllDetails, + TransferConfigurationTransferFilterDetails, + TransferFilterDetails, TransportAvailabilityDetails, TransportAvailabilityRequest, TransportAvailabilityResponse, diff --git a/sdk/databox/arm-databox/src/operations/index.ts b/sdk/databox/arm-databox/src/operations/index.ts index 795e0da39869..36e4cd427ff8 100644 --- a/sdk/databox/arm-databox/src/operations/index.ts +++ b/sdk/databox/arm-databox/src/operations/index.ts @@ -1,7 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is diff --git a/sdk/databox/arm-databox/src/operations/jobs.ts b/sdk/databox/arm-databox/src/operations/jobs.ts index e54ed30dd8b2..8e8c5a769717 100644 --- a/sdk/databox/arm-databox/src/operations/jobs.ts +++ b/sdk/databox/arm-databox/src/operations/jobs.ts @@ -1,7 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is @@ -51,6 +50,45 @@ export class Jobs { callback) as Promise; } + /** + * Request to mark devices for a given job as shipped + * @param jobName The name of the job Resource within the specified resource group. job names must + * be between 3 and 24 characters in length and use any alphanumeric and underscore only + * @param resourceGroupName The Resource Group Name + * @param deliverToDcPackageDetails Delivery package details + * @param [options] The optional parameters + * @returns Promise + */ + markDevicesShipped(jobName: string, resourceGroupName: string, deliverToDcPackageDetails: Models.PackageCarrierInfo, options?: msRest.RequestOptionsBase): Promise; + /** + * @param jobName The name of the job Resource within the specified resource group. job names must + * be between 3 and 24 characters in length and use any alphanumeric and underscore only + * @param resourceGroupName The Resource Group Name + * @param deliverToDcPackageDetails Delivery package details + * @param callback The callback + */ + markDevicesShipped(jobName: string, resourceGroupName: string, deliverToDcPackageDetails: Models.PackageCarrierInfo, callback: msRest.ServiceCallback): void; + /** + * @param jobName The name of the job Resource within the specified resource group. job names must + * be between 3 and 24 characters in length and use any alphanumeric and underscore only + * @param resourceGroupName The Resource Group Name + * @param deliverToDcPackageDetails Delivery package details + * @param options The optional parameters + * @param callback The callback + */ + markDevicesShipped(jobName: string, resourceGroupName: string, deliverToDcPackageDetails: Models.PackageCarrierInfo, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + markDevicesShipped(jobName: string, resourceGroupName: string, deliverToDcPackageDetails: Models.PackageCarrierInfo, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + jobName, + resourceGroupName, + deliverToDcPackageDetails, + options + }, + markDevicesShippedOperationSpec, + callback); + } + /** * Lists all the jobs available under the given resource group. * @param resourceGroupName The Resource Group Name @@ -337,7 +375,7 @@ export class Jobs { * @param [options] The optional parameters * @returns Promise */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + listNext(nextPageLink: string, options?: Models.JobsListNextOptionalParams): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param callback The callback @@ -348,8 +386,8 @@ export class Jobs { * @param options The optional parameters * @param callback The callback */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listNext(nextPageLink: string, options: Models.JobsListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: Models.JobsListNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, @@ -365,7 +403,7 @@ export class Jobs { * @param [options] The optional parameters * @returns Promise */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + listByResourceGroupNext(nextPageLink: string, options?: Models.JobsListByResourceGroupNextOptionalParams): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param callback The callback @@ -376,8 +414,8 @@ export class Jobs { * @param options The optional parameters * @param callback The callback */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listByResourceGroupNext(nextPageLink: string, options: Models.JobsListByResourceGroupNextOptionalParams, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: Models.JobsListByResourceGroupNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, @@ -408,7 +446,39 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.JobResourceList }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const markDevicesShippedOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/markDevicesShipped", + urlParameters: [ + Parameters.jobName, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + deliverToDcPackageDetails: "deliverToDcPackageDetails" + }, + mapper: { + ...Mappers.MarkDevicesShippedRequest, + required: true + } + }, + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ApiError } }, serializer @@ -433,7 +503,7 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.JobResourceList }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -459,7 +529,7 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.JobResource }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -491,7 +561,7 @@ const bookShipmentPickUpOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ShipmentPickUpResponse }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -523,7 +593,7 @@ const cancelOperationSpec: msRest.OperationSpec = { responses: { 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -548,7 +618,7 @@ const listCredentialsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.UnencryptedCredentialsList }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -581,7 +651,7 @@ const beginCreateOperationSpec: msRest.OperationSpec = { }, 202: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -602,10 +672,11 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { Parameters.acceptLanguage ], responses: { + 200: {}, 202: {}, 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -639,7 +710,7 @@ const beginUpdateOperationSpec: msRest.OperationSpec = { }, 202: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -652,6 +723,10 @@ const listNextOperationSpec: msRest.OperationSpec = { urlParameters: [ Parameters.nextPageLink ], + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken + ], headerParameters: [ Parameters.acceptLanguage ], @@ -660,7 +735,7 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.JobResourceList }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -673,6 +748,10 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { urlParameters: [ Parameters.nextPageLink ], + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken + ], headerParameters: [ Parameters.acceptLanguage ], @@ -681,7 +760,7 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.JobResourceList }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer diff --git a/sdk/databox/arm-databox/src/operations/operations.ts b/sdk/databox/arm-databox/src/operations/operations.ts index 800bafca8a60..82b2b601181e 100644 --- a/sdk/databox/arm-databox/src/operations/operations.ts +++ b/sdk/databox/arm-databox/src/operations/operations.ts @@ -1,7 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is @@ -95,7 +94,7 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.OperationList }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -108,6 +107,9 @@ const listNextOperationSpec: msRest.OperationSpec = { urlParameters: [ Parameters.nextPageLink ], + queryParameters: [ + Parameters.apiVersion + ], headerParameters: [ Parameters.acceptLanguage ], @@ -116,7 +118,7 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.OperationList }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer diff --git a/sdk/databox/arm-databox/src/operations/service.ts b/sdk/databox/arm-databox/src/operations/service.ts index 8ccece21381d..eabad1a91e14 100644 --- a/sdk/databox/arm-databox/src/operations/service.ts +++ b/sdk/databox/arm-databox/src/operations/service.ts @@ -1,7 +1,6 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is @@ -26,38 +25,6 @@ export class Service { this.client = client; } - /** - * This method provides the list of available skus for the given subscription and location. - * @param location The location of the resource - * @param availableSkuRequest Filters for showing the available skus. - * @param [options] The optional parameters - * @returns Promise - */ - listAvailableSkus(location: string, availableSkuRequest: Models.AvailableSkuRequest, options?: msRest.RequestOptionsBase): Promise; - /** - * @param location The location of the resource - * @param availableSkuRequest Filters for showing the available skus. - * @param callback The callback - */ - listAvailableSkus(location: string, availableSkuRequest: Models.AvailableSkuRequest, callback: msRest.ServiceCallback): void; - /** - * @param location The location of the resource - * @param availableSkuRequest Filters for showing the available skus. - * @param options The optional parameters - * @param callback The callback - */ - listAvailableSkus(location: string, availableSkuRequest: Models.AvailableSkuRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAvailableSkus(location: string, availableSkuRequest: Models.AvailableSkuRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - location, - availableSkuRequest, - options - }, - listAvailableSkusOperationSpec, - callback) as Promise; - } - /** * This method provides the list of available skus for the given subscription, resource group and * location. @@ -96,7 +63,7 @@ export class Service { } /** - * [DEPRECATED NOTICE: This operation will soon be removed] This method validates the customer + * [DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer * shipping address and provide alternate addresses if any. * @param location The location of the resource * @param validateAddress Shipping address of the customer. @@ -200,27 +167,31 @@ export class Service { } /** - * This API provides configuration details specific to given region/location. + * This API provides configuration details specific to given region/location at Subscription level. * @param location The location of the resource + * @param regionConfigurationRequest Request body to get the configuration for the region. * @param [options] The optional parameters * @returns Promise */ - regionConfiguration(location: string, options?: Models.ServiceRegionConfigurationOptionalParams): Promise; + regionConfiguration(location: string, regionConfigurationRequest: Models.RegionConfigurationRequest, options?: msRest.RequestOptionsBase): Promise; /** * @param location The location of the resource + * @param regionConfigurationRequest Request body to get the configuration for the region. * @param callback The callback */ - regionConfiguration(location: string, callback: msRest.ServiceCallback): void; + regionConfiguration(location: string, regionConfigurationRequest: Models.RegionConfigurationRequest, callback: msRest.ServiceCallback): void; /** * @param location The location of the resource + * @param regionConfigurationRequest Request body to get the configuration for the region. * @param options The optional parameters * @param callback The callback */ - regionConfiguration(location: string, options: Models.ServiceRegionConfigurationOptionalParams, callback: msRest.ServiceCallback): void; - regionConfiguration(location: string, options?: Models.ServiceRegionConfigurationOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + regionConfiguration(location: string, regionConfigurationRequest: Models.RegionConfigurationRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + regionConfiguration(location: string, regionConfigurationRequest: Models.RegionConfigurationRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { location, + regionConfigurationRequest, options }, regionConfigurationOperationSpec, @@ -228,31 +199,43 @@ export class Service { } /** - * This method provides the list of available skus for the given subscription and location. - * @param nextPageLink The NextLink from the previous successful call to List operation. + * This API provides configuration details specific to given region/location at Resource group + * level. + * @param resourceGroupName The Resource Group Name + * @param location The location of the resource + * @param regionConfigurationRequest Request body to get the configuration for the region at + * resource group level. * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - listAvailableSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + regionConfigurationByResourceGroup(resourceGroupName: string, location: string, regionConfigurationRequest: Models.RegionConfigurationRequest, options?: msRest.RequestOptionsBase): Promise; /** - * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param resourceGroupName The Resource Group Name + * @param location The location of the resource + * @param regionConfigurationRequest Request body to get the configuration for the region at + * resource group level. * @param callback The callback */ - listAvailableSkusNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + regionConfigurationByResourceGroup(resourceGroupName: string, location: string, regionConfigurationRequest: Models.RegionConfigurationRequest, callback: msRest.ServiceCallback): void; /** - * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param resourceGroupName The Resource Group Name + * @param location The location of the resource + * @param regionConfigurationRequest Request body to get the configuration for the region at + * resource group level. * @param options The optional parameters * @param callback The callback */ - listAvailableSkusNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAvailableSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + regionConfigurationByResourceGroup(resourceGroupName: string, location: string, regionConfigurationRequest: Models.RegionConfigurationRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + regionConfigurationByResourceGroup(resourceGroupName: string, location: string, regionConfigurationRequest: Models.RegionConfigurationRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + location, + regionConfigurationRequest, options }, - listAvailableSkusNextOperationSpec, - callback) as Promise; + regionConfigurationByResourceGroupOperationSpec, + callback) as Promise; } /** @@ -287,37 +270,6 @@ export class Service { // Operation Specifications const serializer = new msRest.Serializer(Mappers); -const listAvailableSkusOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus", - urlParameters: [ - Parameters.subscriptionId, - Parameters.location - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "availableSkuRequest", - mapper: { - ...Mappers.AvailableSkuRequest, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.AvailableSkusResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - const listAvailableSkusByResourceGroupOperationSpec: msRest.OperationSpec = { httpMethod: "POST", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus", @@ -344,7 +296,7 @@ const listAvailableSkusByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.AvailableSkusResult }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -375,7 +327,7 @@ const validateAddressMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.AddressValidationOutput }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -407,7 +359,7 @@ const validateInputsByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ValidationResponse }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -438,7 +390,7 @@ const validateInputsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ValidationResponse }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -458,16 +410,7 @@ const regionConfigurationOperationSpec: msRest.OperationSpec = { Parameters.acceptLanguage ], requestBody: { - parameterPath: { - scheduleAvailabilityRequest: [ - "options", - "scheduleAvailabilityRequest" - ], - transportAvailabilityRequest: [ - "options", - "transportAvailabilityRequest" - ] - }, + parameterPath: "regionConfigurationRequest", mapper: { ...Mappers.RegionConfigurationRequest, required: true @@ -478,28 +421,39 @@ const regionConfigurationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.RegionConfigurationResponse }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer }; -const listAvailableSkusNextOperationSpec: msRest.OperationSpec = { +const regionConfigurationByResourceGroupOperationSpec: msRest.OperationSpec = { httpMethod: "POST", - baseUrl: "https://management.azure.com", - path: "{nextLink}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration", urlParameters: [ - Parameters.nextPageLink + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.location + ], + queryParameters: [ + Parameters.apiVersion ], headerParameters: [ Parameters.acceptLanguage ], + requestBody: { + parameterPath: "regionConfigurationRequest", + mapper: { + ...Mappers.RegionConfigurationRequest, + required: true + } + }, responses: { 200: { - bodyMapper: Mappers.AvailableSkusResult + bodyMapper: Mappers.RegionConfigurationResponse }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer @@ -512,6 +466,9 @@ const listAvailableSkusByResourceGroupNextOperationSpec: msRest.OperationSpec = urlParameters: [ Parameters.nextPageLink ], + queryParameters: [ + Parameters.apiVersion + ], headerParameters: [ Parameters.acceptLanguage ], @@ -520,7 +477,7 @@ const listAvailableSkusByResourceGroupNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.AvailableSkusResult }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ApiError } }, serializer