From 6054e19b235b29fb48de83a05b429741165aee4b Mon Sep 17 00:00:00 2001 From: Xing Wu Date: Wed, 14 Oct 2020 12:41:50 -0700 Subject: [PATCH 1/8] Upgrade arm-batch to match latest swagger spec. --- sdk/batch/arm-batch/LICENSE.txt | 2 +- sdk/batch/arm-batch/README.md | 14 +- sdk/batch/arm-batch/package.json | 25 +- sdk/batch/arm-batch/rollup.config.js | 22 +- .../arm-batch/src/batchManagementClient.ts | 4 + .../src/batchManagementClientContext.ts | 4 +- .../models/applicationOperationsMappers.ts | 69 +- .../applicationPackageOperationsMappers.ts | 69 +- .../models/batchAccountOperationsMappers.ts | 91 +- .../models/certificateOperationsMappers.ts | 97 +- sdk/batch/arm-batch/src/models/index.ts | 2871 ++++++++++------- .../arm-batch/src/models/locationMappers.ts | 11 +- sdk/batch/arm-batch/src/models/mappers.ts | 1206 +++++-- .../arm-batch/src/models/operationsMappers.ts | 11 +- sdk/batch/arm-batch/src/models/parameters.ts | 71 +- .../src/models/poolOperationsMappers.ts | 99 +- ...vateEndpointConnectionOperationsMappers.ts | 73 + .../privateLinkResourceOperationsMappers.ts | 72 + .../src/operations/applicationOperations.ts | 105 +- .../applicationPackageOperations.ts | 266 +- .../src/operations/batchAccountOperations.ts | 20 +- .../src/operations/certificateOperations.ts | 27 +- sdk/batch/arm-batch/src/operations/index.ts | 2 + .../src/operations/poolOperations.ts | 32 +- .../privateEndpointConnectionOperations.ts | 285 ++ .../privateLinkResourceOperations.ts | 202 ++ sdk/batch/arm-batch/tsconfig.json | 2 +- 27 files changed, 3962 insertions(+), 1790 deletions(-) create mode 100644 sdk/batch/arm-batch/src/models/privateEndpointConnectionOperationsMappers.ts create mode 100644 sdk/batch/arm-batch/src/models/privateLinkResourceOperationsMappers.ts create mode 100644 sdk/batch/arm-batch/src/operations/privateEndpointConnectionOperations.ts create mode 100644 sdk/batch/arm-batch/src/operations/privateLinkResourceOperations.ts diff --git a/sdk/batch/arm-batch/LICENSE.txt b/sdk/batch/arm-batch/LICENSE.txt index a70e8cf66038..ea8fb1516028 100644 --- a/sdk/batch/arm-batch/LICENSE.txt +++ b/sdk/batch/arm-batch/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2020 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/batch/arm-batch/README.md b/sdk/batch/arm-batch/README.md index 290c100c9267..9347522bf353 100644 --- a/sdk/batch/arm-batch/README.md +++ b/sdk/batch/arm-batch/README.md @@ -9,7 +9,7 @@ This package contains an isomorphic SDK for BatchManagementClient. ### How to Install -``` +```bash npm install @azure/arm-batch ``` @@ -19,13 +19,14 @@ npm install @azure/arm-batch ##### Install @azure/ms-rest-nodeauth -``` -npm install @azure/ms-rest-nodeauth +- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`. +```bash +npm install @azure/ms-rest-nodeauth@"^3.0.0" ``` ##### Sample code -```ts +```typescript import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; @@ -49,7 +50,7 @@ msRestNodeAuth.interactiveLogin().then((creds) => { ##### Install @azure/ms-rest-browserauth -``` +```bash npm install @azure/ms-rest-browserauth ``` @@ -99,5 +100,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fbatch%2Farm-batch%2FREADME.png) +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/README.png) diff --git a/sdk/batch/arm-batch/package.json b/sdk/batch/arm-batch/package.json index 7429dddfb759..8df0206edbfe 100644 --- a/sdk/batch/arm-batch/package.json +++ b/sdk/batch/arm-batch/package.json @@ -4,9 +4,9 @@ "description": "BatchManagementClient Library with typescript type definitions for node.js and browser.", "version": "4.0.0", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", - "tslib": "^1.9.3" + "@azure/ms-rest-azure-js": "^2.0.1", + "@azure/ms-rest-js": "^2.0.4", + "tslib": "^1.10.0" }, "keywords": [ "node", @@ -20,18 +20,19 @@ "module": "./esm/batchManagementClient.js", "types": "./esm/batchManagementClient.d.ts", "devDependencies": { - "typescript": "^3.1.1", - "rollup": "^0.66.2", - "rollup-plugin-node-resolve": "^3.4.0", - "uglify-js": "^3.4.9" + "typescript": "^3.5.3", + "rollup": "^1.18.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "uglify-js": "^3.6.0" }, - "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/batch/arm-batch", + "homepage": "https://github.com/Azure/azure-sdk-for-js", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", @@ -43,6 +44,7 @@ "esm/**/*.d.ts", "esm/**/*.d.ts.map", "src/**/*.ts", + "README.md", "rollup.config.js", "tsconfig.json" ], @@ -51,6 +53,5 @@ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-batch.js.map'\" -o ./dist/arm-batch.min.js ./dist/arm-batch.js", "prepack": "npm install && npm run build" }, - "sideEffects": false, - "autoPublish": true + "sideEffects": false } diff --git a/sdk/batch/arm-batch/rollup.config.js b/sdk/batch/arm-batch/rollup.config.js index 75e829947f0f..8d1bc25e71ac 100644 --- a/sdk/batch/arm-batch/rollup.config.js +++ b/sdk/batch/arm-batch/rollup.config.js @@ -1,10 +1,16 @@ +import rollup from "rollup"; import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + /** - * @type {import('rollup').RollupFileOptions} + * @type {rollup.RollupFileOptions} */ const config = { - input: './esm/batchManagementClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + input: "./esm/batchManagementClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-batch.js", format: "umd", @@ -16,16 +22,16 @@ const config = { }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, plugins: [ - nodeResolve({ module: true }) + nodeResolve({ mainFields: ['module', 'main'] }), + sourcemaps() ] }; + export default config; diff --git a/sdk/batch/arm-batch/src/batchManagementClient.ts b/sdk/batch/arm-batch/src/batchManagementClient.ts index b921e4ae2937..e5c88e5186c8 100644 --- a/sdk/batch/arm-batch/src/batchManagementClient.ts +++ b/sdk/batch/arm-batch/src/batchManagementClient.ts @@ -23,6 +23,8 @@ class BatchManagementClient extends BatchManagementClientContext { location: operations.Location; operations: operations.Operations; certificate: operations.CertificateOperations; + privateLinkResource: operations.PrivateLinkResourceOperations; + privateEndpointConnection: operations.PrivateEndpointConnectionOperations; pool: operations.PoolOperations; /** @@ -40,6 +42,8 @@ class BatchManagementClient extends BatchManagementClientContext { this.location = new operations.Location(this); this.operations = new operations.Operations(this); this.certificate = new operations.CertificateOperations(this); + this.privateLinkResource = new operations.PrivateLinkResourceOperations(this); + this.privateEndpointConnection = new operations.PrivateEndpointConnectionOperations(this); this.pool = new operations.PoolOperations(this); } } diff --git a/sdk/batch/arm-batch/src/batchManagementClientContext.ts b/sdk/batch/arm-batch/src/batchManagementClientContext.ts index 0116fb7ba18f..c1ca39bae298 100644 --- a/sdk/batch/arm-batch/src/batchManagementClientContext.ts +++ b/sdk/batch/arm-batch/src/batchManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-batch"; -const packageVersion = "0.1.0"; +const packageVersion = "4.0.0"; export class BatchManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; @@ -45,7 +45,7 @@ export class BatchManagementClientContext extends msRestAzure.AzureServiceClient super(credentials, options); - this.apiVersion = '2017-09-01'; + this.apiVersion = '2020-09-01'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; diff --git a/sdk/batch/arm-batch/src/models/applicationOperationsMappers.ts b/sdk/batch/arm-batch/src/models/applicationOperationsMappers.ts index 97048ac844f6..5a3c50ebbc1b 100644 --- a/sdk/batch/arm-batch/src/models/applicationOperationsMappers.ts +++ b/sdk/batch/arm-batch/src/models/applicationOperationsMappers.ts @@ -1,19 +1,72 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - ApplicationCreateParameters, Application, ApplicationPackage, + ApplicationPackageReference, + AutoScaleRun, + AutoScaleRunError, + AutoScaleSettings, + AutoStorageBaseProperties, + AutoStorageProperties, + AutoUserSpecification, + AzureBlobFileSystemConfiguration, + AzureFileShareConfiguration, + BaseResource, + BatchAccount, + BatchAccountIdentity, + Certificate, + CertificateCreateOrUpdateParameters, + CertificateReference, + CIFSMountConfiguration, CloudError, - ApplicationUpdateParameters, - ListApplicationsResult + CloudServiceConfiguration, + ContainerConfiguration, + ContainerRegistry, + DataDisk, + DeleteCertificateError, + DeploymentConfiguration, + DiskEncryptionConfiguration, + EncryptionProperties, + EnvironmentSetting, + FixedScaleSettings, + ImageReference, + InboundNatPool, + KeyVaultProperties, + KeyVaultReference, + LinuxUserConfiguration, + ListApplicationsResult, + MetadataItem, + MountConfiguration, + NetworkConfiguration, + NetworkSecurityGroupRule, + NFSMountConfiguration, + Pool, + PoolEndpointConfiguration, + PrivateEndpoint, + PrivateEndpointConnection, + PrivateLinkResource, + PrivateLinkServiceConnectionState, + ProxyResource, + PublicIPAddressConfiguration, + ResizeError, + ResizeOperationStatus, + Resource, + ResourceFile, + ScaleSettings, + StartTask, + TaskContainerSettings, + TaskSchedulingPolicy, + UserAccount, + UserIdentity, + VirtualMachineConfiguration, + VirtualMachineFamilyCoreQuota, + WindowsConfiguration, + WindowsUserConfiguration } from "../models/mappers"; - diff --git a/sdk/batch/arm-batch/src/models/applicationPackageOperationsMappers.ts b/sdk/batch/arm-batch/src/models/applicationPackageOperationsMappers.ts index eae5abb1fca9..a498cd5da71f 100644 --- a/sdk/batch/arm-batch/src/models/applicationPackageOperationsMappers.ts +++ b/sdk/batch/arm-batch/src/models/applicationPackageOperationsMappers.ts @@ -1,16 +1,73 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { ActivateApplicationPackageParameters, + Application, + ApplicationPackage, + ApplicationPackageReference, + AutoScaleRun, + AutoScaleRunError, + AutoScaleSettings, + AutoStorageBaseProperties, + AutoStorageProperties, + AutoUserSpecification, + AzureBlobFileSystemConfiguration, + AzureFileShareConfiguration, + BaseResource, + BatchAccount, + BatchAccountIdentity, + Certificate, + CertificateCreateOrUpdateParameters, + CertificateReference, + CIFSMountConfiguration, CloudError, - ApplicationPackage + CloudServiceConfiguration, + ContainerConfiguration, + ContainerRegistry, + DataDisk, + DeleteCertificateError, + DeploymentConfiguration, + DiskEncryptionConfiguration, + EncryptionProperties, + EnvironmentSetting, + FixedScaleSettings, + ImageReference, + InboundNatPool, + KeyVaultProperties, + KeyVaultReference, + LinuxUserConfiguration, + ListApplicationPackagesResult, + MetadataItem, + MountConfiguration, + NetworkConfiguration, + NetworkSecurityGroupRule, + NFSMountConfiguration, + Pool, + PoolEndpointConfiguration, + PrivateEndpoint, + PrivateEndpointConnection, + PrivateLinkResource, + PrivateLinkServiceConnectionState, + ProxyResource, + PublicIPAddressConfiguration, + ResizeError, + ResizeOperationStatus, + Resource, + ResourceFile, + ScaleSettings, + StartTask, + TaskContainerSettings, + TaskSchedulingPolicy, + UserAccount, + UserIdentity, + VirtualMachineConfiguration, + VirtualMachineFamilyCoreQuota, + WindowsConfiguration, + WindowsUserConfiguration } from "../models/mappers"; - diff --git a/sdk/batch/arm-batch/src/models/batchAccountOperationsMappers.ts b/sdk/batch/arm-batch/src/models/batchAccountOperationsMappers.ts index b864b899da67..4488249bd7f1 100644 --- a/sdk/batch/arm-batch/src/models/batchAccountOperationsMappers.ts +++ b/sdk/batch/arm-batch/src/models/batchAccountOperationsMappers.ts @@ -1,61 +1,78 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - BatchAccountCreateParameters, + Application, + ApplicationPackage, + ApplicationPackageReference, + AutoScaleRun, + AutoScaleRunError, + AutoScaleSettings, AutoStorageBaseProperties, - KeyVaultReference, - BatchAccount, - Resource, - BaseResource, AutoStorageProperties, + AutoUserSpecification, + AzureBlobFileSystemConfiguration, + AzureFileShareConfiguration, + BaseResource, + BatchAccount, BatchAccountCreateHeaders, - CloudError, - BatchAccountUpdateParameters, + BatchAccountCreateParameters, BatchAccountDeleteHeaders, + BatchAccountIdentity, + BatchAccountKeys, BatchAccountListResult, BatchAccountRegenerateKeyParameters, - BatchAccountKeys, - ProxyResource, + BatchAccountUpdateParameters, Certificate, - DeleteCertificateError, CertificateCreateOrUpdateParameters, - Pool, - DeploymentConfiguration, + CertificateReference, + CIFSMountConfiguration, + CloudError, CloudServiceConfiguration, - VirtualMachineConfiguration, - ImageReference, - OSDisk, - WindowsConfiguration, + ContainerConfiguration, + ContainerRegistry, DataDisk, - ScaleSettings, + DeleteCertificateError, + DeploymentConfiguration, + DiskEncryptionConfiguration, + EncryptionProperties, + EnvironmentSetting, FixedScaleSettings, - AutoScaleSettings, - AutoScaleRun, - AutoScaleRunError, - NetworkConfiguration, - PoolEndpointConfiguration, + ImageReference, InboundNatPool, - NetworkSecurityGroupRule, - TaskSchedulingPolicy, - UserAccount, + KeyVaultProperties, + KeyVaultReference, LinuxUserConfiguration, MetadataItem, - StartTask, + MountConfiguration, + NetworkConfiguration, + NetworkSecurityGroupRule, + NFSMountConfiguration, + Pool, + PoolEndpointConfiguration, + PrivateEndpoint, + PrivateEndpointConnection, + PrivateLinkResource, + PrivateLinkServiceConnectionState, + ProxyResource, + PublicIPAddressConfiguration, + ResizeError, + ResizeOperationStatus, + Resource, ResourceFile, - EnvironmentSetting, + ScaleSettings, + StartTask, + TaskContainerSettings, + TaskSchedulingPolicy, + UserAccount, UserIdentity, - AutoUserSpecification, - CertificateReference, - ApplicationPackageReference, - ResizeOperationStatus, - ResizeError + VirtualMachineConfiguration, + VirtualMachineFamilyCoreQuota, + WindowsConfiguration, + WindowsUserConfiguration } from "../models/mappers"; - diff --git a/sdk/batch/arm-batch/src/models/certificateOperationsMappers.ts b/sdk/batch/arm-batch/src/models/certificateOperationsMappers.ts index d6bdab0a770e..65fd32d7dd8f 100644 --- a/sdk/batch/arm-batch/src/models/certificateOperationsMappers.ts +++ b/sdk/batch/arm-batch/src/models/certificateOperationsMappers.ts @@ -1,60 +1,77 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - ListCertificatesResult, - Certificate, - ProxyResource, + Application, + ApplicationPackage, + ApplicationPackageReference, + AutoScaleRun, + AutoScaleRunError, + AutoScaleSettings, + AutoStorageBaseProperties, + AutoStorageProperties, + AutoUserSpecification, + AzureBlobFileSystemConfiguration, + AzureFileShareConfiguration, BaseResource, - DeleteCertificateError, - CloudError, - CertificateCreateOrUpdateParameters, + BatchAccount, + BatchAccountIdentity, + Certificate, + CertificateCancelDeletionHeaders, CertificateCreateHeaders, - CertificateUpdateHeaders, + CertificateCreateOrUpdateParameters, CertificateDeleteHeaders, CertificateGetHeaders, - CertificateCancelDeletionHeaders, - Resource, - Pool, - DeploymentConfiguration, + CertificateReference, + CertificateUpdateHeaders, + CIFSMountConfiguration, + CloudError, CloudServiceConfiguration, - VirtualMachineConfiguration, - ImageReference, - OSDisk, - WindowsConfiguration, + ContainerConfiguration, + ContainerRegistry, DataDisk, - ScaleSettings, + DeleteCertificateError, + DeploymentConfiguration, + DiskEncryptionConfiguration, + EncryptionProperties, + EnvironmentSetting, FixedScaleSettings, - AutoScaleSettings, - AutoScaleRun, - AutoScaleRunError, - NetworkConfiguration, - PoolEndpointConfiguration, + ImageReference, InboundNatPool, - NetworkSecurityGroupRule, - TaskSchedulingPolicy, - UserAccount, + KeyVaultProperties, + KeyVaultReference, LinuxUserConfiguration, + ListCertificatesResult, MetadataItem, - StartTask, + MountConfiguration, + NetworkConfiguration, + NetworkSecurityGroupRule, + NFSMountConfiguration, + Pool, + PoolEndpointConfiguration, + PrivateEndpoint, + PrivateEndpointConnection, + PrivateLinkResource, + PrivateLinkServiceConnectionState, + ProxyResource, + PublicIPAddressConfiguration, + ResizeError, + ResizeOperationStatus, + Resource, ResourceFile, - EnvironmentSetting, + ScaleSettings, + StartTask, + TaskContainerSettings, + TaskSchedulingPolicy, + UserAccount, UserIdentity, - AutoUserSpecification, - CertificateReference, - ApplicationPackageReference, - ResizeOperationStatus, - ResizeError, - BatchAccount, - KeyVaultReference, - AutoStorageProperties, - AutoStorageBaseProperties + VirtualMachineConfiguration, + VirtualMachineFamilyCoreQuota, + WindowsConfiguration, + WindowsUserConfiguration } from "../models/mappers"; - diff --git a/sdk/batch/arm-batch/src/models/index.ts b/sdk/batch/arm-batch/src/models/index.ts index ca1259a449ac..6db72910d857 100644 --- a/sdk/batch/arm-batch/src/models/index.ts +++ b/sdk/batch/arm-batch/src/models/index.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; @@ -13,2007 +11,2089 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; - /** - * @interface - * An interface representing AutoStorageBaseProperties. * The properties related to the auto-storage account. - * */ export interface AutoStorageBaseProperties { /** - * @member {string} storageAccountId The resource ID of the storage account - * to be used for auto-storage account. + * The resource ID of the storage account to be used for auto-storage account. */ storageAccountId: string; } /** - * @interface - * An interface representing KeyVaultReference. + * KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault. + */ +export interface KeyVaultProperties { + /** + * Full path to the versioned secret. Example + * https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable + * the following prerequisites must be met: + * + * The Batch Account has a System Assigned identity + * The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions + * The KeyVault has soft-delete and purge protection enabled + */ + keyIdentifier?: string; +} + +/** + * Configures how customer data is encrypted inside the Batch account. By default, accounts are + * encrypted using a Microsoft managed key. For additional control, a customer-managed key can be + * used instead. + */ +export interface EncryptionProperties { + /** + * Type of the key source. Possible values include: 'Microsoft.Batch', 'Microsoft.KeyVault' + */ + keySource?: KeySource; + /** + * Additional details when using Microsoft.KeyVault + */ + keyVaultProperties?: KeyVaultProperties; +} + +/** * Identifies the Azure key vault associated with a Batch account. - * */ export interface KeyVaultReference { /** - * @member {string} id The resource ID of the Azure key vault associated with - * the Batch account. + * The resource ID of the Azure key vault associated with the Batch account. */ id: string; /** - * @member {string} url The URL of the Azure key vault associated with the - * Batch account. + * The URL of the Azure key vault associated with the Batch account. */ url: string; } /** - * @interface - * An interface representing BatchAccountCreateParameters. + * The identity of the Batch account, if configured. This is only used when the user specifies + * 'Microsoft.KeyVault' as their Batch account encryption configuration. + */ +export interface BatchAccountIdentity { + /** + * The principal id of the Batch account. This property will only be provided for a system + * assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The tenant id associated with the Batch account. This property will only be provided for a + * system assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tenantId?: string; + /** + * The type of identity used for the Batch account. Possible values include: 'SystemAssigned', + * 'None' + */ + type: ResourceIdentityType; +} + +/** * Parameters supplied to the Create operation. - * */ export interface BatchAccountCreateParameters { /** - * @member {string} location The region in which to create the account. + * The region in which to create the account. */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] The user-specified - * tags associated with the account. + * The user-specified tags associated with the account. */ tags?: { [propertyName: string]: string }; /** - * @member {AutoStorageBaseProperties} [autoStorage] The properties related - * to the auto-storage account. + * The properties related to the auto-storage account. */ autoStorage?: AutoStorageBaseProperties; /** - * @member {PoolAllocationMode} [poolAllocationMode] The allocation mode to - * use for creating pools in the Batch account. The pool allocation mode also - * affects how clients may authenticate to the Batch Service API. If the mode - * is BatchService, clients may authenticate using access keys or Azure - * Active Directory. If the mode is UserSubscription, clients must use Azure - * Active Directory. The default is BatchService. Possible values include: - * 'BatchService', 'UserSubscription' + * The allocation mode to use for creating pools in the Batch account. The pool allocation mode + * also affects how clients may authenticate to the Batch Service API. If the mode is + * BatchService, clients may authenticate using access keys or Azure Active Directory. If the + * mode is UserSubscription, clients must use Azure Active Directory. The default is + * BatchService. Possible values include: 'BatchService', 'UserSubscription' */ poolAllocationMode?: PoolAllocationMode; /** - * @member {KeyVaultReference} [keyVaultReference] A reference to the Azure - * key vault associated with the Batch account. + * A reference to the Azure key vault associated with the Batch account. */ keyVaultReference?: KeyVaultReference; + /** + * The network access type for accessing Azure Batch account. If not specified, the default value + * is 'enabled'. Possible values include: 'Enabled', 'Disabled'. Default value: 'Enabled'. + */ + publicNetworkAccess?: PublicNetworkAccessType; + /** + * The encryption configuration for the Batch account. Configures how customer data is encrypted + * inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. + * For additional control, a customer-managed key can be used instead. + */ + encryption?: EncryptionProperties; + /** + * The identity of the Batch account. + */ + identity?: BatchAccountIdentity; } /** - * @interface - * An interface representing AutoStorageProperties. - * Contains information about the auto-storage account associated with a Batch - * account. - * - * @extends AutoStorageBaseProperties + * Contains information about the auto-storage account associated with a Batch account. */ export interface AutoStorageProperties extends AutoStorageBaseProperties { /** - * @member {Date} lastKeySync The UTC time at which storage keys were last - * synchronized with the Batch account. + * The UTC time at which storage keys were last synchronized with the Batch account. */ lastKeySync: Date; } /** - * @interface - * An interface representing Resource. + * A VM Family and its associated core quota for the Batch account. + */ +export interface VirtualMachineFamilyCoreQuota { + /** + * The Virtual Machine family name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The core quota for the VM family for the Batch account. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly coreQuota?: number; +} + +/** + * The private endpoint of the private endpoint connection. + */ +export interface PrivateEndpoint { + /** + * The ARM resource identifier of the private endpoint. This is of the form + * /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/privateEndpoints/{privateEndpoint}. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * The private link service connection state of the private endpoint connection + */ +export interface PrivateLinkServiceConnectionState { + /** + * The status for the private endpoint connection of Batch account. Possible values include: + * 'Approved', 'Pending', 'Rejected', 'Disconnected' + */ + status: PrivateLinkServiceConnectionStatus; + /** + * Description of the private Connection state. + */ + description?: string; + /** + * Action required on the private connection state. **NOTE: This property will not be serialized. + * It can only be populated by the server.** + */ + readonly actionRequired?: string; +} + +/** + * A definition of an Azure resource. + */ +export interface ProxyResource extends BaseResource { + /** + * The ID of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The name of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * The ETag of the resource, used for concurrency statements. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; +} + +/** + * Contains information about a private link resource. + */ +export interface PrivateEndpointConnection extends ProxyResource { + /** + * The provisioning state of the private endpoint connection. Possible values include: + * 'Succeeded', 'Updating', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: PrivateEndpointConnectionProvisioningState; + /** + * The ARM resource identifier of the private endpoint. + */ + privateEndpoint?: PrivateEndpoint; + /** + * The private link service connection state of the private endpoint connection. + */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; +} + +/** * A definition of an Azure resource. - * - * @extends BaseResource */ export interface Resource extends BaseResource { /** - * @member {string} [id] The ID of the resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The ID of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] The name of the resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The name of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [type] The type of the resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The type of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [location] The location of the resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The location of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly location?: string; /** - * @member {{ [propertyName: string]: string }} [tags] The tags of the - * resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The tags of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing BatchAccount. * Contains information about an Azure Batch account. - * - * @extends Resource */ export interface BatchAccount extends Resource { /** - * @member {string} [accountEndpoint] The account endpoint used to interact - * with the Batch service. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The account endpoint used to interact with the Batch service. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly accountEndpoint?: string; /** - * @member {ProvisioningState} [provisioningState] The provisioned state of - * the resource. Possible values include: 'Invalid', 'Creating', 'Deleting', - * 'Succeeded', 'Failed', 'Cancelled' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The provisioned state of the resource. Possible values include: 'Invalid', 'Creating', + * 'Deleting', 'Succeeded', 'Failed', 'Cancelled' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: ProvisioningState; /** - * @member {PoolAllocationMode} [poolAllocationMode] The allocation mode to - * use for creating pools in the Batch account. Possible values include: + * The allocation mode to use for creating pools in the Batch account. Possible values include: * 'BatchService', 'UserSubscription' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly poolAllocationMode?: PoolAllocationMode; /** - * @member {KeyVaultReference} [keyVaultReference] A reference to the Azure - * key vault associated with the Batch account. **NOTE: This property will - * not be serialized. It can only be populated by the server.** + * A reference to the Azure key vault associated with the Batch account. **NOTE: This property + * will not be serialized. It can only be populated by the server.** */ readonly keyVaultReference?: KeyVaultReference; /** - * @member {AutoStorageProperties} [autoStorage] The properties and status of - * any auto-storage account associated with the Batch account. **NOTE: This - * property will not be serialized. It can only be populated by the server.** + * The network interface type for accessing Azure Batch service and Batch account operations. If + * not specified, the default value is 'enabled'. Possible values include: 'Enabled', 'Disabled' + * **NOTE: This property will not be serialized. It can only be populated by the server.**. + * Default value: 'Enabled'. + */ + readonly publicNetworkAccess?: PublicNetworkAccessType; + /** + * List of private endpoint connections associated with the Batch account + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + /** + * The properties and status of any auto-storage account associated with the Batch account. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly autoStorage?: AutoStorageProperties; /** - * @member {number} [dedicatedCoreQuota] The dedicated core quota for this - * Batch account. **NOTE: This property will not be serialized. It can only - * be populated by the server.** + * The encryption configuration for the Batch account. Configures how customer data is encrypted + * inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. + * For additional control, a customer-managed key can be used instead. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly encryption?: EncryptionProperties; + /** + * The dedicated core quota for the Batch account. For accounts with PoolAllocationMode set to + * UserSubscription, quota is managed on the subscription so this value is not returned. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly dedicatedCoreQuota?: number; /** - * @member {number} [lowPriorityCoreQuota] The low-priority core quota for - * this Batch account. **NOTE: This property will not be serialized. It can - * only be populated by the server.** + * The low-priority core quota for the Batch account. For accounts with PoolAllocationMode set to + * UserSubscription, quota is managed on the subscription so this value is not returned. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly lowPriorityCoreQuota?: number; /** - * @member {number} [poolQuota] The pool quota for this Batch account. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * A list of the dedicated core quota per Virtual Machine family for the Batch account. For + * accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription + * so this value is not returned. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dedicatedCoreQuotaPerVMFamily?: VirtualMachineFamilyCoreQuota[]; + /** + * A value indicating whether the core quota for the Batch Account is enforced per Virtual + * Machine family or not. Batch is transitioning its core quota system for dedicated cores to be + * enforced per Virtual Machine family. During this transitional phase, the dedicated core quota + * per Virtual Machine family may not yet be enforced. If this flag is false, dedicated core + * quota is enforced via the old dedicatedCoreQuota property on the account and does not consider + * Virtual Machine family. If this flag is true, dedicated core quota is enforced via the + * dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not + * apply. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dedicatedCoreQuotaPerVMFamilyEnforced?: boolean; + /** + * The pool quota for the Batch account. **NOTE: This property will not be serialized. It can + * only be populated by the server.** */ readonly poolQuota?: number; /** - * @member {number} [activeJobAndJobScheduleQuota] The active job and job - * schedule quota for this Batch account. **NOTE: This property will not be + * The active job and job schedule quota for the Batch account. **NOTE: This property will not be * serialized. It can only be populated by the server.** */ readonly activeJobAndJobScheduleQuota?: number; + /** + * The identity of the Batch account. + */ + identity?: BatchAccountIdentity; } /** - * @interface - * An interface representing BatchAccountUpdateParameters. * Parameters for updating an Azure Batch account. - * */ export interface BatchAccountUpdateParameters { /** - * @member {{ [propertyName: string]: string }} [tags] The user-specified - * tags associated with the account. + * The user-specified tags associated with the account. */ tags?: { [propertyName: string]: string }; /** - * @member {AutoStorageBaseProperties} [autoStorage] The properties related - * to the auto-storage account. + * The properties related to the auto-storage account. */ autoStorage?: AutoStorageBaseProperties; + /** + * The encryption configuration for the Batch account. Configures how customer data is encrypted + * inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. + * For additional control, a customer-managed key can be used instead. + */ + encryption?: EncryptionProperties; + /** + * The identity of the Batch account. + */ + identity?: BatchAccountIdentity; } /** - * @interface - * An interface representing BatchAccountRegenerateKeyParameters. * Parameters supplied to the RegenerateKey operation. - * */ export interface BatchAccountRegenerateKeyParameters { /** - * @member {AccountKeyType} keyName The type of account key to regenerate. - * Possible values include: 'Primary', 'Secondary' + * The type of account key to regenerate. Possible values include: 'Primary', 'Secondary' */ keyName: AccountKeyType; } /** - * @interface - * An interface representing BatchAccountKeys. * A set of Azure Batch account keys. - * */ export interface BatchAccountKeys { /** - * @member {string} [accountName] The Batch account name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The Batch account name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly accountName?: string; /** - * @member {string} [primary] The primary key associated with the account. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The primary key associated with the account. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly primary?: string; /** - * @member {string} [secondary] The secondary key associated with the - * account. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The secondary key associated with the account. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly secondary?: string; } /** - * @interface - * An interface representing ActivateApplicationPackageParameters. * Parameters for an activating an application package. - * */ export interface ActivateApplicationPackageParameters { /** - * @member {string} format The format of the application package binary file. + * The format of the application package binary file. */ format: string; } /** - * @interface - * An interface representing ApplicationCreateParameters. - * Parameters for adding an Application. - * + * Contains information about an application in a Batch account. */ -export interface ApplicationCreateParameters { +export interface Application extends ProxyResource { + /** + * The display name for the application. + */ + displayName?: string; /** - * @member {boolean} [allowUpdates] A value indicating whether packages - * within the application may be overwritten using the same version string. + * A value indicating whether packages within the application may be overwritten using the same + * version string. */ allowUpdates?: boolean; /** - * @member {string} [displayName] The display name for the application. + * The package to use if a client requests the application but does not specify a version. This + * property can only be set to the name of an existing package. */ - displayName?: string; + defaultVersion?: string; } /** - * @interface - * An interface representing ApplicationPackage. - * An application package which represents a particular version of an - * application. - * + * An application package which represents a particular version of an application. */ -export interface ApplicationPackage { - /** - * @member {string} [id] The ID of the application. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly id?: string; +export interface ApplicationPackage extends ProxyResource { /** - * @member {string} [version] The version of the application package. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly version?: string; - /** - * @member {PackageState} [state] The current state of the application - * package. Possible values include: 'Pending', 'Active', 'Unmapped' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current state of the application package. Possible values include: 'Pending', 'Active' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly state?: PackageState; /** - * @member {string} [format] The format of the application package, if the - * package is active. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The format of the application package, if the package is active. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly format?: string; /** - * @member {string} [storageUrl] The URL for the application package in Azure - * Storage. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The URL for the application package in Azure Storage. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly storageUrl?: string; /** - * @member {Date} [storageUrlExpiry] The UTC time at which the Azure Storage - * URL will expire. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The UTC time at which the Azure Storage URL will expire. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly storageUrlExpiry?: Date; /** - * @member {Date} [lastActivationTime] The time at which the package was last - * activated, if the package is active. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The time at which the package was last activated, if the package is active. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly lastActivationTime?: Date; } /** - * @interface - * An interface representing Application. - * Contains information about an application in a Batch account. - * - */ -export interface Application { - /** - * @member {string} [id] A string that uniquely identifies the application - * within the account. - */ - id?: string; - /** - * @member {string} [displayName] The display name for the application. - */ - displayName?: string; - /** - * @member {ApplicationPackage[]} [packages] The list of packages under this - * application. - */ - packages?: ApplicationPackage[]; - /** - * @member {boolean} [allowUpdates] A value indicating whether packages - * within the application may be overwritten using the same version string. - */ - allowUpdates?: boolean; - /** - * @member {string} [defaultVersion] The package to use if a client requests - * the application but does not specify a version. - */ - defaultVersion?: string; -} - -/** - * @interface - * An interface representing ApplicationUpdateParameters. - * Parameters for an update application request. - * - */ -export interface ApplicationUpdateParameters { - /** - * @member {boolean} [allowUpdates] A value indicating whether packages - * within the application may be overwritten using the same version string. - */ - allowUpdates?: boolean; - /** - * @member {string} [defaultVersion] The package to use if a client requests - * the application but does not specify a version. - */ - defaultVersion?: string; - /** - * @member {string} [displayName] The display name for the application. - */ - displayName?: string; -} - -/** - * @interface - * An interface representing BatchLocationQuota. * Quotas associated with a Batch region for a particular subscription. - * */ export interface BatchLocationQuota { /** - * @member {number} [accountQuota] The number of Batch accounts that may be - * created under the subscription in the specified region. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The number of Batch accounts that may be created under the subscription in the specified + * region. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly accountQuota?: number; } /** - * @interface - * An interface representing ProxyResource. - * A definition of an Azure resource. - * - * @extends BaseResource - */ -export interface ProxyResource extends BaseResource { - /** - * @member {string} [id] The ID of the resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly id?: string; - /** - * @member {string} [name] The name of the resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly name?: string; - /** - * @member {string} [type] The type of the resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly type?: string; - /** - * @member {string} [etag] The ETag of the resource, used for concurrency - * statements. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly etag?: string; -} - -/** - * @interface * An interface representing CertificateBaseProperties. */ export interface CertificateBaseProperties { /** - * @member {string} [thumbprintAlgorithm] The algorithm of the certificate - * thumbprint. This must match the first portion of the certificate name. - * Currently required to be 'SHA1'. + * The algorithm of the certificate thumbprint. This must match the first portion of the + * certificate name. Currently required to be 'SHA1'. */ thumbprintAlgorithm?: string; /** - * @member {string} [thumbprint] The thumbprint of the certificate. This must - * match the thumbprint from the name. + * The thumbprint of the certificate. This must match the thumbprint from the name. */ thumbprint?: string; /** - * @member {CertificateFormat} [format] The format of the certificate - - * either Pfx or Cer. If omitted, the default is Pfx. Possible values - * include: 'Pfx', 'Cer' + * The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx. Possible + * values include: 'Pfx', 'Cer' */ format?: CertificateFormat; } /** - * @interface - * An interface representing DeleteCertificateError. * An error response from the Batch service. - * */ export interface DeleteCertificateError { /** - * @member {string} code An identifier for the error. Codes are invariant and - * are intended to be consumed programmatically. + * An identifier for the error. Codes are invariant and are intended to be consumed + * programmatically. */ code: string; /** - * @member {string} message A message describing the error, intended to be - * suitable for display in a user interface. + * A message describing the error, intended to be suitable for display in a user interface. */ message: string; /** - * @member {string} [target] The target of the particular error. For example, - * the name of the property in error. + * The target of the particular error. For example, the name of the property in error. */ target?: string; /** - * @member {DeleteCertificateError[]} [details] A list of additional details - * about the error. + * A list of additional details about the error. */ details?: DeleteCertificateError[]; } /** - * @interface - * An interface representing Certificate. * Contains information about a certificate. - * - * @extends ProxyResource */ export interface Certificate extends ProxyResource { /** - * @member {string} [thumbprintAlgorithm] The algorithm of the certificate - * thumbprint. This must match the first portion of the certificate name. - * Currently required to be 'SHA1'. + * The algorithm of the certificate thumbprint. This must match the first portion of the + * certificate name. Currently required to be 'SHA1'. */ thumbprintAlgorithm?: string; /** - * @member {string} [thumbprint] The thumbprint of the certificate. This must - * match the thumbprint from the name. + * The thumbprint of the certificate. This must match the thumbprint from the name. */ thumbprint?: string; /** - * @member {CertificateFormat} [format] The format of the certificate - - * either Pfx or Cer. If omitted, the default is Pfx. Possible values - * include: 'Pfx', 'Cer' + * The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx. Possible + * values include: 'Pfx', 'Cer' */ format?: CertificateFormat; /** - * @member {CertificateProvisioningState} [provisioningState] The provisioned - * state of the resource. Values are: - * - * Succeeded - The certificate is available for use in pools. - * Deleting - The user has requested that the certificate be deleted, but the - * delete operation has not yet completed. You may not reference the - * certificate when creating or updating pools. - * Failed - The user requested that the certificate be deleted, but there are - * pools that still have references to the certificate, or it is still - * installed on one or more compute nodes. (The latter can occur if the - * certificate has been removed from the pool, but the node has not yet - * restarted. Nodes refresh their certificates only when they restart.) You - * may use the cancel certificate delete operation to cancel the delete, or - * the delete certificate operation to retry the delete. Possible values - * include: 'Succeeded', 'Deleting', 'Failed' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The provisioned state of the resource. Possible values include: 'Succeeded', 'Deleting', + * 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: CertificateProvisioningState; /** - * @member {Date} [provisioningStateTransitionTime] The time at which the - * certificate entered its current state. **NOTE: This property will not be + * The time at which the certificate entered its current state. **NOTE: This property will not be * serialized. It can only be populated by the server.** */ readonly provisioningStateTransitionTime?: Date; /** - * @member {CertificateProvisioningState} [previousProvisioningState] The - * previous provisioned state of the resource. Possible values include: - * 'Succeeded', 'Deleting', 'Failed' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The previous provisioned state of the resource. Possible values include: 'Succeeded', + * 'Deleting', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly previousProvisioningState?: CertificateProvisioningState; /** - * @member {Date} [previousProvisioningStateTransitionTime] The time at which - * the certificate entered its previous state. **NOTE: This property will not + * The time at which the certificate entered its previous state. **NOTE: This property will not * be serialized. It can only be populated by the server.** */ readonly previousProvisioningStateTransitionTime?: Date; /** - * @member {string} [publicData] The public key of the certificate. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The public key of the certificate. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly publicData?: string; /** - * @member {DeleteCertificateError} [deleteCertificateError] The error which - * occurred while deleting the certificate. This is only returned when the + * The error which occurred while deleting the certificate. This is only returned when the * certificate provisioningState is 'Failed'. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly deleteCertificateError?: DeleteCertificateError; } /** - * @interface - * An interface representing CertificateCreateOrUpdateParameters. * Contains information about a certificate. - * - * @extends ProxyResource */ export interface CertificateCreateOrUpdateParameters extends ProxyResource { /** - * @member {string} [thumbprintAlgorithm] The algorithm of the certificate - * thumbprint. This must match the first portion of the certificate name. - * Currently required to be 'SHA1'. + * The algorithm of the certificate thumbprint. This must match the first portion of the + * certificate name. Currently required to be 'SHA1'. */ thumbprintAlgorithm?: string; /** - * @member {string} [thumbprint] The thumbprint of the certificate. This must - * match the thumbprint from the name. + * The thumbprint of the certificate. This must match the thumbprint from the name. */ thumbprint?: string; /** - * @member {CertificateFormat} [format] The format of the certificate - - * either Pfx or Cer. If omitted, the default is Pfx. Possible values - * include: 'Pfx', 'Cer' + * The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx. Possible + * values include: 'Pfx', 'Cer' */ format?: CertificateFormat; /** - * @member {string} data The base64-encoded contents of the certificate. The - * maximum size is 10KB. + * The base64-encoded contents of the certificate. The maximum size is 10KB. */ data: string; /** - * @member {string} [password] The password to access the certificate's - * private key. This is required if the certificate format is pfx and must be - * omitted if the certificate format is cer. + * The password to access the certificate's private key. This must not be specified if the + * certificate format is Cer. */ password?: string; } /** - * @interface + * Contains information about a private link resource. + */ +export interface PrivateLinkResource extends ProxyResource { + /** + * The group id of the private link resource. The group id is used to establish the private link + * connection. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly groupId?: string; + /** + * The list of required members that are used to establish the private link connection. **NOTE: + * This property will not be serialized. It can only be populated by the server.** + */ + readonly requiredMembers?: string[]; + /** + * The list of required zone names for the private DNS resource name. **NOTE: This property will + * not be serialized. It can only be populated by the server.** + */ + readonly requiredZoneNames?: string[]; +} + +/** * An interface representing CloudServiceConfiguration. - * @summary The configuration for nodes in a pool based on the Azure Cloud - * Services platform. - * + * @summary The configuration for nodes in a pool based on the Azure Cloud Services platform. */ export interface CloudServiceConfiguration { /** - * @member {string} osFamily The Azure Guest OS family to be installed on the - * virtual machines in the pool. Possible values are: 2 - OS Family 2, - * equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to - * Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 - * R2. 5 - OS Family 5, equivalent to Windows Server 2016. For more - * information, see Azure Guest OS Releases + * The Azure Guest OS family to be installed on the virtual machines in the pool. Possible values + * are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to + * Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, + * equivalent to Windows Server 2016. 6 - OS Family 6, equivalent to Windows Server 2019. For + * more information, see Azure Guest OS Releases * (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). */ osFamily: string; /** - * @member {string} [targetOSVersion] The Azure Guest OS version to be - * installed on the virtual machines in the pool. The default value is * - * which specifies the latest operating system version for the specified OS - * family. - */ - targetOSVersion?: string; - /** - * @member {string} [currentOSVersion] The Azure Guest OS Version currently - * installed on the virtual machines in the pool. This may differ from - * targetOSVersion if the pool state is Upgrading. In this case some virtual - * machines may be on the targetOSVersion and some may be on the - * currentOSVersion during the upgrade process. Once all virtual machines - * have upgraded, currentOSVersion is updated to be the same as - * targetOSVersion. + * The Azure Guest OS version to be installed on the virtual machines in the pool. The default + * value is * which specifies the latest operating system version for the specified OS family. */ - currentOSVersion?: string; + osVersion?: string; } /** - * @interface * An interface representing ImageReference. - * @summary A reference to an Azure Virtual Machines Marketplace image or the - * Azure Image resource of a custom Virtual Machine. To get the list of all - * imageReferences verified by Azure Batch, see the 'List supported node agent - * SKUs' operation. - * + * @summary A reference to an Azure Virtual Machines Marketplace image or the Azure Image resource + * of a custom Virtual Machine. To get the list of all imageReferences verified by Azure Batch, see + * the 'List supported node agent SKUs' operation. */ export interface ImageReference { /** - * @member {string} [publisher] The publisher of the Azure Virtual Machines - * Marketplace image. For example, Canonical or MicrosoftWindowsServer. + * The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or + * MicrosoftWindowsServer. */ publisher?: string; /** - * @member {string} [offer] The offer type of the Azure Virtual Machines - * Marketplace image. For example, UbuntuServer or WindowsServer. + * The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or + * WindowsServer. */ offer?: string; /** - * @member {string} [sku] The SKU of the Azure Virtual Machines Marketplace - * image. For example, 14.04.0-LTS or 2012-R2-Datacenter. + * The SKU of the Azure Virtual Machines Marketplace image. For example, 18.04-LTS or + * 2019-Datacenter. */ sku?: string; /** - * @member {string} [version] The version of the Azure Virtual Machines - * Marketplace image. A value of 'latest' can be specified to select the - * latest version of an image. If omitted, the default is 'latest'. + * The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be + * specified to select the latest version of an image. If omitted, the default is 'latest'. */ version?: string; /** - * @member {string} [id] The ARM resource identifier of the virtual machine - * image. Computes nodes of the pool will be created using this custom image. - * This is of the form - * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}. - * This property is mutually exclusive with other properties. The virtual - * machine image must be in the same region and subscription as the Azure - * Batch account. For information about the firewall settings for Batch node - * agent to communicate with Batch service see - * https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration - * . + * The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will + * be created using this Image Id. This is of the form + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionId}. + * This property is mutually exclusive with other properties. The Shared Image Gallery image must + * have replicas in the same region as the Azure Batch account. For information about the + * firewall settings for the Batch node agent to communicate with the Batch service see + * https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */ id?: string; } /** - * @interface - * An interface representing OSDisk. - * @summary Settings for the operating system disk of the virtual machine. - * - */ -export interface OSDisk { - /** - * @member {CachingType} [caching] The type of caching to be enabled for the - * data disks. none - The caching mode for the disk is not enabled. readOnly - * - The caching mode for the disk is read only. readWrite - The caching mode - * for the disk is read and write. Default value is none. Possible values - * include: 'None', 'ReadOnly', 'ReadWrite' - */ - caching?: CachingType; -} - -/** - * @interface * An interface representing WindowsConfiguration. * @summary Windows operating system settings to apply to the virtual machine. - * */ export interface WindowsConfiguration { /** - * @member {boolean} [enableAutomaticUpdates] Whether automatic updates are - * enabled on the virtual machine. If omitted, the default value is true. + * Whether automatic updates are enabled on the virtual machine. If omitted, the default value is + * true. */ enableAutomaticUpdates?: boolean; } /** - * @interface - * An interface representing DataDisk. - * Data Disk settings which will be used by the data disks associated to - * Compute Nodes in the pool. - * + * Settings which will be used by the data disks associated to Compute Nodes in the Pool. When + * using attached data disks, you need to mount and format the disks from within a VM to use them. */ export interface DataDisk { /** - * @member {number} lun The logical unit number. The lun is used to uniquely - * identify each data disk. If attaching multiple disks, each should have a - * distinct lun. + * The logical unit number. The lun is used to uniquely identify each data disk. If attaching + * multiple disks, each should have a distinct lun. The value must be between 0 and 63, + * inclusive. */ lun: number; /** - * @member {CachingType} [caching] The type of caching to be enabled for the - * data disks. Values are: + * The type of caching to be enabled for the data disks. Values are: * * none - The caching mode for the disk is not enabled. * readOnly - The caching mode for the disk is read only. * readWrite - The caching mode for the disk is read and write. * - * The default value for caching is none. For information about the caching - * options see: + * The default value for caching is none. For information about the caching options see: * https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. * Possible values include: 'None', 'ReadOnly', 'ReadWrite' */ caching?: CachingType; /** - * @member {number} diskSizeGB The initial disk size in GB when creating new - * data disk. + * The initial disk size in GB when creating new data disk. */ diskSizeGB: number; /** - * @member {StorageAccountType} [storageAccountType] The storage account type - * to be used for the data disk. If omitted, the default is "Standard_LRS". - * Values are: + * The storage account type to be used for the data disk. If omitted, the default is + * "Standard_LRS". Values are: * - * Standard_LRS - The data disk should use standard locally redundant - * storage. - * Premium_LRS - The data disk should use premium locally redundant storage. - * Possible values include: 'Standard_LRS', 'Premium_LRS' + * Standard_LRS - The data disk should use standard locally redundant storage. + * Premium_LRS - The data disk should use premium locally redundant storage. Possible values + * include: 'Standard_LRS', 'Premium_LRS' */ storageAccountType?: StorageAccountType; } /** - * @interface + * An interface representing ContainerRegistry. + * @summary A private container registry. + */ +export interface ContainerRegistry { + /** + * The registry URL. If omitted, the default is "docker.io". + */ + registryServer?: string; + /** + * The user name to log into the registry server. + */ + userName: string; + /** + * The password to log into the registry server. + */ + password: string; +} + +/** + * An interface representing ContainerConfiguration. + * @summary The configuration for container-enabled pools. + */ +export interface ContainerConfiguration { + /** + * The collection of container image names. This is the full image reference, as would be + * specified to "docker pull". An image will be sourced from the default Docker registry unless + * the image is fully qualified with an alternative registry. + */ + containerImageNames?: string[]; + /** + * Additional private registries from which containers can be pulled. If any images must be + * downloaded from a private registry which requires credentials, then those credentials must be + * provided here. + */ + containerRegistries?: ContainerRegistry[]; +} + +/** + * The disk encryption configuration applied on compute nodes in the pool. Disk encryption + * configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image + * Gallery Image. + */ +export interface DiskEncryptionConfiguration { + /** + * The list of disk targets Batch Service will encrypt on the compute node. On Linux pool, only + * "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified. + */ + targets?: DiskEncryptionTarget[]; +} + +/** * An interface representing VirtualMachineConfiguration. - * @summary The configuration for compute nodes in a pool based on the Azure - * Virtual Machines infrastructure. - * + * @summary The configuration for compute nodes in a pool based on the Azure Virtual Machines + * infrastructure. */ export interface VirtualMachineConfiguration { /** - * @member {ImageReference} imageReference A reference to the Azure Virtual - * Machines Marketplace Image or the custom Virtual Machine Image to use. + * A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine + * Image to use. */ imageReference: ImageReference; /** - * @member {OSDisk} [osDisk] Settings for the operating system disk of the - * Virtual Machine. - */ - osDisk?: OSDisk; - /** - * @member {string} nodeAgentSkuId The SKU of the Batch node agent to be - * provisioned on compute nodes in the pool. The Batch node agent is a - * program that runs on each node in the pool, and provides the - * command-and-control interface between the node and the Batch service. - * There are different implementations of the node agent, known as SKUs, for - * different operating systems. You must specify a node agent SKU which - * matches the selected image reference. To get the list of supported node - * agent SKUs along with their list of verified image references, see the - * 'List supported node agent SKUs' operation. + * The SKU of the Batch node agent to be provisioned on compute nodes in the pool. The Batch node + * agent is a program that runs on each node in the pool, and provides the command-and-control + * interface between the node and the Batch service. There are different implementations of the + * node agent, known as SKUs, for different operating systems. You must specify a node agent SKU + * which matches the selected image reference. To get the list of supported node agent SKUs along + * with their list of verified image references, see the 'List supported node agent SKUs' + * operation. */ nodeAgentSkuId: string; /** - * @member {WindowsConfiguration} [windowsConfiguration] Windows operating - * system settings on the virtual machine. This property must not be - * specified if the imageReference specifies a Linux OS image. + * Windows operating system settings on the virtual machine. This property must not be specified + * if the imageReference specifies a Linux OS image. */ windowsConfiguration?: WindowsConfiguration; /** - * @member {DataDisk[]} [dataDisks] The configuration for data disks attached - * to the compute nodes in the pool. This property must be specified if the - * compute nodes in the pool need to have empty data disks attached to them. + * The configuration for data disks attached to the compute nodes in the pool. This property must + * be specified if the compute nodes in the pool need to have empty data disks attached to them. */ dataDisks?: DataDisk[]; /** - * @member {string} [licenseType] The type of on-premises license to be used - * when deploying the operating system. This only applies to images that - * contain the Windows operating system, and should only be used when you - * hold valid on-premises licenses for the nodes which will be deployed. If - * omitted, no on-premises licensing discount is applied. Values are: + * The type of on-premises license to be used when deploying the operating system. This only + * applies to images that contain the Windows operating system, and should only be used when you + * hold valid on-premises licenses for the nodes which will be deployed. If omitted, no + * on-premises licensing discount is applied. Values are: * * Windows_Server - The on-premises license is for Windows Server. * Windows_Client - The on-premises license is for Windows Client. */ licenseType?: string; + /** + * The container configuration for the pool. If specified, setup is performed on each node in the + * pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this + * pool must specify the containerSettings property, and all other tasks may specify it. + */ + containerConfiguration?: ContainerConfiguration; + /** + * The disk encryption configuration for the pool. If specified, encryption is performed on each + * node in the pool during node provisioning. + */ + diskEncryptionConfiguration?: DiskEncryptionConfiguration; } /** - * @interface * An interface representing DeploymentConfiguration. * @summary Deployment configuration properties. - * */ export interface DeploymentConfiguration { /** - * @member {CloudServiceConfiguration} [cloudServiceConfiguration] The cloud - * service configuration for the pool. This property and - * virtualMachineConfiguration are mutually exclusive and one of the - * properties must be specified. This property cannot be specified if the - * Batch account was created with its poolAllocationMode property set to + * The cloud service configuration for the pool. This property and virtualMachineConfiguration + * are mutually exclusive and one of the properties must be specified. This property cannot be + * specified if the Batch account was created with its poolAllocationMode property set to * 'UserSubscription'. */ cloudServiceConfiguration?: CloudServiceConfiguration; /** - * @member {VirtualMachineConfiguration} [virtualMachineConfiguration] The - * virtual machine configuration for the pool. This property and - * cloudServiceConfiguration are mutually exclusive and one of the properties - * must be specified. + * The virtual machine configuration for the pool. This property and cloudServiceConfiguration + * are mutually exclusive and one of the properties must be specified. */ virtualMachineConfiguration?: VirtualMachineConfiguration; } /** - * @interface * An interface representing FixedScaleSettings. * @summary Fixed scale settings for the pool. - * */ export interface FixedScaleSettings { /** - * @member {string} [resizeTimeout] The timeout for allocation of compute - * nodes to the pool. The default value is 15 minutes. Timeout values use ISO - * 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 - * minutes. If you specify a value less than 5 minutes, the Batch service - * rejects the request with an error; if you are calling the REST API - * directly, the HTTP status code is 400 (Bad Request). + * The timeout for allocation of compute nodes to the pool. The default value is 15 minutes. + * Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value + * is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the + * request with an error; if you are calling the REST API directly, the HTTP status code is 400 + * (Bad Request). */ resizeTimeout?: string; /** - * @member {number} [targetDedicatedNodes] The desired number of dedicated - * compute nodes in the pool. At least one of targetDedicatedNodes, - * targetLowPriority nodes must be set. + * The desired number of dedicated compute nodes in the pool. At least one of + * targetDedicatedNodes, targetLowPriorityNodes must be set. */ targetDedicatedNodes?: number; /** - * @member {number} [targetLowPriorityNodes] The desired number of - * low-priority compute nodes in the pool. At least one of - * targetDedicatedNodes, targetLowPriority nodes must be set. + * The desired number of low-priority compute nodes in the pool. At least one of + * targetDedicatedNodes, targetLowPriorityNodes must be set. */ targetLowPriorityNodes?: number; /** - * @member {ComputeNodeDeallocationOption} [nodeDeallocationOption] - * Determines what to do with a node and its running task(s) if the pool size - * is decreasing. If omitted, the default value is Requeue. Possible values - * include: 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' + * Determines what to do with a node and its running task(s) if the pool size is decreasing. If + * omitted, the default value is Requeue. Possible values include: 'Requeue', 'Terminate', + * 'TaskCompletion', 'RetainedData' */ nodeDeallocationOption?: ComputeNodeDeallocationOption; } /** - * @interface * An interface representing AutoScaleSettings. * @summary AutoScale settings for the pool. - * */ export interface AutoScaleSettings { /** - * @member {string} formula A formula for the desired number of compute nodes - * in the pool. + * A formula for the desired number of compute nodes in the pool. */ formula: string; /** - * @member {string} [evaluationInterval] The time interval at which to - * automatically adjust the pool size according to the autoscale formula. If - * omitted, the default value is 15 minutes (PT15M). + * The time interval at which to automatically adjust the pool size according to the autoscale + * formula. If omitted, the default value is 15 minutes (PT15M). */ evaluationInterval?: string; } /** - * @interface - * An interface representing ScaleSettings. + * Defines the desired size of the pool. This can either be 'fixedScale' where the requested + * targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically + * reevaluated. If this property is not specified, the pool will have a fixed scale with 0 + * targetDedicatedNodes. * @summary Scale settings for the pool - * - * Defines the desired size of the pool. This can either be 'fixedScale' where - * the requested targetDedicatedNodes is specified, or 'autoScale' which - * defines a formula which is periodically reevaluated. If this property is not - * specified, the pool will have a fixed scale with 0 targetDedicatedNodes. - * */ export interface ScaleSettings { /** - * @member {FixedScaleSettings} [fixedScale] Fixed scale settings for the - * pool. This property and autoScale are mutually exclusive and one of the - * properties must be specified. + * Fixed scale settings for the pool. This property and autoScale are mutually exclusive and one + * of the properties must be specified. */ fixedScale?: FixedScaleSettings; /** - * @member {AutoScaleSettings} [autoScale] AutoScale settings for the pool. - * This property and fixedScale are mutually exclusive and one of the - * properties must be specified. + * AutoScale settings for the pool. This property and fixedScale are mutually exclusive and one + * of the properties must be specified. */ autoScale?: AutoScaleSettings; } /** - * @interface * An interface representing AutoScaleRunError. * @summary An error that occurred when autoscaling a pool. - * */ export interface AutoScaleRunError { /** - * @member {string} code An identifier for the error. Codes are invariant and - * are intended to be consumed programmatically. + * An identifier for the error. Codes are invariant and are intended to be consumed + * programmatically. */ code: string; /** - * @member {string} message A message describing the error, intended to be - * suitable for display in a user interface. + * A message describing the error, intended to be suitable for display in a user interface. */ message: string; /** - * @member {AutoScaleRunError[]} [details] Additional details about the - * error. + * Additional details about the error. */ details?: AutoScaleRunError[]; } /** - * @interface * An interface representing AutoScaleRun. - * @summary The results and errors from an execution of a pool autoscale - * formula. - * + * @summary The results and errors from an execution of a pool autoscale formula. */ export interface AutoScaleRun { /** - * @member {Date} evaluationTime The time at which the autoscale formula was - * last evaluated. + * The time at which the autoscale formula was last evaluated. */ evaluationTime: Date; /** - * @member {string} [results] The final values of all variables used in the - * evaluation of the autoscale formula. Each variable value is returned in - * the form $variable=value, and variables are separated by semicolons. + * The final values of all variables used in the evaluation of the autoscale formula. Each + * variable value is returned in the form $variable=value, and variables are separated by + * semicolons. */ results?: string; /** - * @member {AutoScaleRunError} [error] Details of the error encountered - * evaluating the autoscale formula on the pool, if the evaluation was - * unsuccessful. + * Details of the error encountered evaluating the autoscale formula on the pool, if the + * evaluation was unsuccessful. */ error?: AutoScaleRunError; } /** - * @interface * An interface representing NetworkSecurityGroupRule. * @summary A network security group rule to apply to an inbound endpoint. - * */ export interface NetworkSecurityGroupRule { /** - * @member {number} priority The priority for this rule. Priorities within a - * pool must be unique and are evaluated in order of priority. The lower the - * number the higher the priority. For example, rules could be specified with - * order numbers of 150, 250, and 350. The rule with the order number of 150 - * takes precedence over the rule that has an order of 250. Allowed - * priorities are 150 to 3500. If any reserved or duplicate values are - * provided the request fails with HTTP status code 400. + * The priority for this rule. Priorities within a pool must be unique and are evaluated in order + * of priority. The lower the number the higher the priority. For example, rules could be + * specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes + * precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any + * reserved or duplicate values are provided the request fails with HTTP status code 400. */ priority: number; /** - * @member {NetworkSecurityGroupRuleAccess} access The action that should be - * taken for a specified IP address, subnet range or tag. Possible values - * include: 'Allow', 'Deny' + * The action that should be taken for a specified IP address, subnet range or tag. Possible + * values include: 'Allow', 'Deny' */ access: NetworkSecurityGroupRuleAccess; /** - * @member {string} sourceAddressPrefix The source address prefix or tag to - * match for the rule. Valid values are a single IP address (i.e. - * 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all - * addresses). If any other values are provided the request fails with HTTP - * status code 400. + * The source address prefix or tag to match for the rule. Valid values are a single IP address + * (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). + * If any other values are provided the request fails with HTTP status code 400. */ sourceAddressPrefix: string; + /** + * The source port ranges to match for the rule. Valid values are '*' (for all ports 0 - 65535) + * or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 + * and the port ranges or ports can't overlap. If any other values are provided the request fails + * with HTTP status code 400. Default value will be *. + */ + sourcePortRanges?: string[]; } /** - * @interface * An interface representing InboundNatPool. - * @summary A inbound NAT pool that can be used to address specific ports on - * compute nodes in a Batch pool externally. - * + * @summary A inbound NAT pool that can be used to address specific ports on compute nodes in a + * Batch pool externally. */ export interface InboundNatPool { /** - * @member {string} name The name of the endpoint. The name must be unique - * within a Batch pool, can contain letters, numbers, underscores, periods, - * and hyphens. Names must start with a letter or number, must end with a - * letter, number, or underscore, and cannot exceed 77 characters. If any - * invalid values are provided the request fails with HTTP status code 400. + * The name of the endpoint. The name must be unique within a Batch pool, can contain letters, + * numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end + * with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values + * are provided the request fails with HTTP status code 400. */ name: string; /** - * @member {InboundEndpointProtocol} protocol The protocol of the endpoint. - * Possible values include: 'TCP', 'UDP' + * The protocol of the endpoint. Possible values include: 'TCP', 'UDP' */ protocol: InboundEndpointProtocol; /** - * @member {number} backendPort The port number on the compute node. This - * must be unique within a Batch pool. Acceptable values are between 1 and - * 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any - * reserved values are provided the request fails with HTTP status code 400. + * The port number on the compute node. This must be unique within a Batch pool. Acceptable + * values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If + * any reserved values are provided the request fails with HTTP status code 400. */ backendPort: number; /** - * @member {number} frontendPortRangeStart The first port number in the range - * of external ports that will be used to provide inbound access to the - * backendPort on individual compute nodes. Acceptable values range between 1 - * and 65534 except ports from 50000 to 55000 which are reserved. All ranges - * within a pool must be distinct and cannot overlap. If any reserved or - * overlapping values are provided the request fails with HTTP status code - * 400. + * The first port number in the range of external ports that will be used to provide inbound + * access to the backendPort on individual compute nodes. Acceptable values range between 1 and + * 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be + * distinct and cannot overlap. If any reserved or overlapping values are provided the request + * fails with HTTP status code 400. */ frontendPortRangeStart: number; /** - * @member {number} frontendPortRangeEnd The last port number in the range of - * external ports that will be used to provide inbound access to the - * backendPort on individual compute nodes. Acceptable values range between 1 - * and 65534 except ports from 50000 to 55000 which are reserved by the Batch - * service. All ranges within a pool must be distinct and cannot overlap. If - * any reserved or overlapping values are provided the request fails with - * HTTP status code 400. + * The last port number in the range of external ports that will be used to provide inbound + * access to the backendPort on individual compute nodes. Acceptable values range between 1 and + * 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges + * within a pool must be distinct and cannot overlap. If any reserved or overlapping values are + * provided the request fails with HTTP status code 400. */ frontendPortRangeEnd: number; /** - * @member {NetworkSecurityGroupRule[]} [networkSecurityGroupRules] A list of - * network security group rules that will be applied to the endpoint. The - * maximum number of rules that can be specified across all the endpoints on - * a Batch pool is 25. If no network security group rules are specified, a - * default rule will be created to allow inbound access to the specified - * backendPort. If the maximum number of network security group rules is + * A list of network security group rules that will be applied to the endpoint. The maximum + * number of rules that can be specified across all the endpoints on a Batch pool is 25. If no + * network security group rules are specified, a default rule will be created to allow inbound + * access to the specified backendPort. If the maximum number of network security group rules is * exceeded the request fails with HTTP status code 400. */ networkSecurityGroupRules?: NetworkSecurityGroupRule[]; } /** - * @interface * An interface representing PoolEndpointConfiguration. * @summary The endpoint configuration for a pool. - * */ export interface PoolEndpointConfiguration { /** - * @member {InboundNatPool[]} inboundNatPools A list of inbound NAT pools - * that can be used to address specific ports on an individual compute node - * externally. The maximum number of inbound NAT pools per Batch pool is 5. - * If the maximum number of inbound NAT pools is exceeded the request fails - * with HTTP status code 400. + * A list of inbound NAT pools that can be used to address specific ports on an individual + * compute node externally. The maximum number of inbound NAT pools per Batch pool is 5. If the + * maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. + * This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses. */ inboundNatPools: InboundNatPool[]; } /** - * @interface - * An interface representing NetworkConfiguration. + * The public IP Address configuration of the networking configuration of a Pool. + */ +export interface PublicIPAddressConfiguration { + /** + * The provisioning type for Public IP Addresses for the pool. The default value is BatchManaged. + * Possible values include: 'BatchManaged', 'UserManaged', 'NoPublicIPAddresses' + */ + provision?: IPAddressProvisioningType; + /** + * The list of public IPs which the Batch service will use when provisioning Compute Nodes. The + * number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 + * low-priority nodes can be allocated for each public IP. For example, a pool needing 250 + * dedicated VMs would need at least 3 public IPs specified. Each element of this collection is + * of the form: + * /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. + */ + ipAddressIds?: string[]; +} + +/** * The network configuration for a pool. - * */ export interface NetworkConfiguration { /** - * @member {string} [subnetId] The ARM resource identifier of the virtual - * network subnet which the compute nodes of the pool will join. This is of - * the form + * The ARM resource identifier of the virtual network subnet which the compute nodes of the pool + * will join. This is of the form * /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. - * The virtual network must be in the same region and subscription as the - * Azure Batch account. The specified subnet should have enough free IP - * addresses to accommodate the number of nodes in the pool. If the subnet - * doesn't have enough free IP addresses, the pool will partially allocate - * compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' - * service principal must have the 'Classic Virtual Machine Contributor' - * Role-Based Access Control (RBAC) role for the specified VNet. The - * specified subnet must allow communication from the Azure Batch service to - * be able to schedule tasks on the compute nodes. This can be verified by - * checking if the specified VNet has any associated Network Security Groups - * (NSG). If communication to the compute nodes in the specified subnet is - * denied by an NSG, then the Batch service will set the state of the compute - * nodes to unusable. For pools created via virtualMachineConfiguration the - * Batch account must have poolAllocationMode userSubscription in order to - * use a VNet. If the specified VNet has any associated Network Security - * Groups (NSG), then a few reserved system ports must be enabled for inbound - * communication. For pools created with a virtual machine configuration, - * enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 - * for Windows. For pools created with a cloud service configuration, enable - * ports 10100, 20100, and 30100. Also enable outbound connections to Azure - * Storage on port 443. For more details see: + * The virtual network must be in the same region and subscription as the Azure Batch account. + * The specified subnet should have enough free IP addresses to accommodate the number of nodes + * in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially + * allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service + * principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) + * role for the specified VNet. The specified subnet must allow communication from the Azure + * Batch service to be able to schedule tasks on the compute nodes. This can be verified by + * checking if the specified VNet has any associated Network Security Groups (NSG). If + * communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch + * service will set the state of the compute nodes to unusable. If the specified VNet has any + * associated Network Security Groups (NSG), then a few reserved system ports must be enabled for + * inbound communication. For pools created with a virtual machine configuration, enable ports + * 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created + * with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound + * connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' + * VNETs are supported. For more details see: * https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration */ subnetId?: string; /** - * @member {PoolEndpointConfiguration} [endpointConfiguration] The - * configuration for endpoints on compute nodes in the Batch pool. Pool - * endpoint configuration is only supported on pools with the - * virtualMachineConfiguration property. + * The configuration for endpoints on compute nodes in the Batch pool. Pool endpoint + * configuration is only supported on pools with the virtualMachineConfiguration property. */ endpointConfiguration?: PoolEndpointConfiguration; + /** + * The Public IPAddress configuration for Compute Nodes in the Batch Pool. This property is only + * supported on Pools with the virtualMachineConfiguration property. + */ + publicIPAddressConfiguration?: PublicIPAddressConfiguration; } /** - * @interface * An interface representing TaskSchedulingPolicy. * @summary Specifies how tasks should be distributed across compute nodes. - * */ export interface TaskSchedulingPolicy { /** - * @member {ComputeNodeFillType} nodeFillType How tasks should be distributed - * across compute nodes. Possible values include: 'Spread', 'Pack' + * How tasks should be distributed across compute nodes. Possible values include: 'Spread', + * 'Pack' */ nodeFillType: ComputeNodeFillType; } /** - * @interface * An interface representing LinuxUserConfiguration. * @summary Properties used to create a user account on a Linux node. - * */ export interface LinuxUserConfiguration { /** - * @member {number} [uid] The user ID of the user account. The uid and gid - * properties must be specified together or not at all. If not specified the - * underlying operating system picks the uid. + * The user ID of the user account. The uid and gid properties must be specified together or not + * at all. If not specified the underlying operating system picks the uid. */ uid?: number; /** - * @member {number} [gid] The group ID for the user account. The uid and gid - * properties must be specified together or not at all. If not specified the - * underlying operating system picks the gid. + * The group ID for the user account. The uid and gid properties must be specified together or + * not at all. If not specified the underlying operating system picks the gid. */ gid?: number; /** - * @member {string} [sshPrivateKey] The SSH private key for the user account. - * The private key must not be password protected. The private key is used to - * automatically configure asymmetric-key based authentication for SSH - * between nodes in a Linux pool when the pool's enableInterNodeCommunication - * property is true (it is ignored if enableInterNodeCommunication is false). - * It does this by placing the key pair into the user's .ssh directory. If - * not specified, password-less SSH is not configured between nodes (no - * modification of the user's .ssh directory is done). + * The SSH private key for the user account. The private key must not be password protected. The + * private key is used to automatically configure asymmetric-key based authentication for SSH + * between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true + * (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair + * into the user's .ssh directory. If not specified, password-less SSH is not configured between + * nodes (no modification of the user's .ssh directory is done). */ sshPrivateKey?: string; } /** - * @interface + * An interface representing WindowsUserConfiguration. + * @summary Properties used to create a user account on a Windows node. + */ +export interface WindowsUserConfiguration { + /** + * Login mode for user. Specifies login mode for the user. The default value for + * VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools + * is batch mode. Possible values include: 'Batch', 'Interactive' + */ + loginMode?: LoginMode; +} + +/** * An interface representing UserAccount. * @summary Properties used to create a user on an Azure Batch node. - * */ export interface UserAccount { /** - * @member {string} name The name of the user account. + * The name of the user account. */ name: string; /** - * @member {string} password The password for the user account. + * The password for the user account. */ password: string; /** - * @member {ElevationLevel} [elevationLevel] The elevation level of the user - * account. nonAdmin - The auto user is a standard user without elevated - * access. admin - The auto user is a user with elevated access and operates - * with full Administrator permissions. The default value is nonAdmin. - * Possible values include: 'NonAdmin', 'Admin' + * The elevation level of the user account. nonAdmin - The auto user is a standard user without + * elevated access. admin - The auto user is a user with elevated access and operates with full + * Administrator permissions. The default value is nonAdmin. Possible values include: 'NonAdmin', + * 'Admin' */ elevationLevel?: ElevationLevel; /** - * @member {LinuxUserConfiguration} [linuxUserConfiguration] The - * Linux-specific user configuration for the user account. This property is - * ignored if specified on a Windows pool. If not specified, the user is - * created with the default options. + * The Linux-specific user configuration for the user account. This property is ignored if + * specified on a Windows pool. If not specified, the user is created with the default options. */ linuxUserConfiguration?: LinuxUserConfiguration; + /** + * The Windows-specific user configuration for the user account. This property can only be + * specified if the user is on a Windows pool. If not specified and on a Windows pool, the user + * is created with the default options. + */ + windowsUserConfiguration?: WindowsUserConfiguration; } /** - * @interface - * An interface representing MetadataItem. + * The Batch service does not assign any meaning to this metadata; it is solely for the use of user + * code. * @summary A name-value pair associated with a Batch service resource. - * - * The Batch service does not assign any meaning to this metadata; it is solely - * for the use of user code. - * */ export interface MetadataItem { /** - * @member {string} name The name of the metadata item. + * The name of the metadata item. */ name: string; /** - * @member {string} value The value of the metadata item. + * The value of the metadata item. */ value: string; } /** - * @interface * An interface representing ResourceFile. - * @summary A file to be downloaded from Azure blob storage to a compute node. - * + * @summary A single file or multiple files to be downloaded to a compute node. */ export interface ResourceFile { /** - * @member {string} blobSource The URL of the file within Azure Blob Storage. - * This URL must be readable using anonymous access; that is, the Batch - * service does not present any credentials when downloading the blob. There - * are two ways to get such a URL for a blob in Azure storage: include a - * Shared Access Signature (SAS) granting read permissions on the blob, or - * set the ACL for the blob or its container to allow public access. + * The storage container name in the auto storage account. The autoStorageContainerName, + * storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be + * specified. + */ + autoStorageContainerName?: string; + /** + * The URL of the blob container within Azure Blob Storage. The autoStorageContainerName, + * storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be + * specified. This URL must be readable and listable using anonymous access; that is, the Batch + * service does not present any credentials when downloading the blob. There are two ways to get + * such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read + * and list permissions on the blob, or set the ACL for the blob or its container to allow public + * access. + */ + storageContainerUrl?: string; + /** + * The URL of the file to download. The autoStorageContainerName, storageContainerUrl and httpUrl + * properties are mutually exclusive and one of them must be specified. If the URL is Azure Blob + * Storage, it must be readable using anonymous access; that is, the Batch service does not + * present any credentials when downloading the blob. There are two ways to get such a URL for a + * blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on + * the blob, or set the ACL for the blob or its container to allow public access. + */ + httpUrl?: string; + /** + * The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs + * whose names begin with the specified prefix will be downloaded. The property is valid only + * when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial + * filename or a subdirectory. If a prefix is not specified, all the files in the container will + * be downloaded. */ - blobSource: string; + blobPrefix?: string; /** - * @member {string} filePath The location on the compute node to which to - * download the file, relative to the task's working directory. + * The location on the compute node to which to download the file, relative to the task's working + * directory. If the httpUrl property is specified, the filePath is required and describes the + * path which the file will be downloaded to, including the filename. Otherwise, if the + * autoStorageContainerName or storageContainerUrl property is specified, filePath is optional + * and is the directory to download the files to. In the case where filePath is used as a + * directory, any directory structure already associated with the input data will be retained in + * full and appended to the specified filePath directory. The specified relative path cannot + * break out of the task's working directory (for example by using '..'). */ - filePath: string; + filePath?: string; /** - * @member {string} [fileMode] The file permission mode attribute in octal - * format. This property applies only to files being downloaded to Linux - * compute nodes. It will be ignored if it is specified for a resourceFile - * which will be downloaded to a Windows node. If this property is not - * specified for a Linux node, then a default value of 0770 is applied to the - * file. + * The file permission mode attribute in octal format. This property applies only to files being + * downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile + * which will be downloaded to a Windows node. If this property is not specified for a Linux + * node, then a default value of 0770 is applied to the file. */ fileMode?: string; } /** - * @interface * An interface representing EnvironmentSetting. * @summary An environment variable to be set on a task process. - * */ export interface EnvironmentSetting { /** - * @member {string} name The name of the environment variable. + * The name of the environment variable. */ name: string; /** - * @member {string} [value] The value of the environment variable. + * The value of the environment variable. */ value?: string; } /** - * @interface * An interface representing AutoUserSpecification. - * @summary Specifies the parameters for the auto user that runs a task on the - * Batch service. - * + * @summary Specifies the parameters for the auto user that runs a task on the Batch service. */ export interface AutoUserSpecification { /** - * @member {AutoUserScope} [scope] The scope for the auto user. pool - - * specifies that the task runs as the common auto user account which is - * created on every node in a pool. task - specifies that the service should - * create a new user for the task. The default value is task. Possible values - * include: 'Task', 'Pool' + * The scope for the auto user. The default value is Pool. If the pool is running Windows a value + * of Task should be specified if stricter isolation between tasks is required. For example, if + * the task mutates the registry in a way which could impact other tasks, or if certificates have + * been specified on the pool which should not be accessible by normal tasks but should be + * accessible by start tasks. Possible values include: 'Task', 'Pool' */ scope?: AutoUserScope; /** - * @member {ElevationLevel} [elevationLevel] The elevation level of the auto - * user. nonAdmin - The auto user is a standard user without elevated access. - * admin - The auto user is a user with elevated access and operates with - * full Administrator permissions. The default value is nonAdmin. Possible - * values include: 'NonAdmin', 'Admin' + * The elevation level of the auto user. The default value is nonAdmin. Possible values include: + * 'NonAdmin', 'Admin' */ elevationLevel?: ElevationLevel; } /** - * @interface - * An interface representing UserIdentity. - * @summary The definition of the user identity under which the task is run. - * * Specify either the userName or autoUser property, but not both. - * + * @summary The definition of the user identity under which the task is run. */ export interface UserIdentity { /** - * @member {string} [userName] The name of the user identity under which the - * task is run. The userName and autoUser properties are mutually exclusive; - * you must specify one but not both. + * The name of the user identity under which the task is run. The userName and autoUser + * properties are mutually exclusive; you must specify one but not both. */ userName?: string; /** - * @member {AutoUserSpecification} [autoUser] The auto user under which the - * task is run. The userName and autoUser properties are mutually exclusive; - * you must specify one but not both. + * The auto user under which the task is run. The userName and autoUser properties are mutually + * exclusive; you must specify one but not both. */ autoUser?: AutoUserSpecification; } /** - * @interface - * An interface representing StartTask. - * @summary A task which is run when a compute node joins a pool in the Azure - * Batch service, or when the compute node is rebooted or reimaged. - * + * An interface representing TaskContainerSettings. + * @summary The container settings for a task. + */ +export interface TaskContainerSettings { + /** + * Additional options to the container create command. These additional options are supplied as + * arguments to the "docker create" command, in addition to those controlled by the Batch + * Service. + */ + containerRunOptions?: string; + /** + * The image to use to create the container in which the task will run. This is the full image + * reference, as would be specified to "docker pull". If no tag is provided as part of the image + * name, the tag ":latest" is used as a default. + */ + imageName: string; + /** + * The private registry which contains the container image. This setting can be omitted if was + * already provided at pool creation. + */ + registry?: ContainerRegistry; + /** + * A flag to indicate where the container task working directory is. The default is + * 'taskWorkingDirectory'. Possible values include: 'TaskWorkingDirectory', + * 'ContainerImageDefault' + */ + workingDirectory?: ContainerWorkingDirectory; +} + +/** + * In some cases the start task may be re-run even though the node was not rebooted. Due to this, + * start tasks should be idempotent and exit gracefully if the setup they're performing has already + * been done. Special care should be taken to avoid start tasks which create breakaway process or + * install/launch services from the start task working directory, as this will block Batch from + * being able to re-run the start task. + * @summary A task which is run when a compute node joins a pool in the Azure Batch service, or + * when the compute node is rebooted or reimaged. + */ +export interface StartTask { + /** + * The command line of the start task. The command line does not run under a shell, and therefore + * cannot take advantage of shell features such as environment variable expansion. If you want to + * take advantage of such features, you should invoke the shell in the command line, for example + * using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. Required if any other + * properties of the startTask are specified. + */ + commandLine?: string; + /** + * A list of files that the Batch service will download to the compute node before running the + * command line. + */ + resourceFiles?: ResourceFile[]; + /** + * A list of environment variable settings for the start task. + */ + environmentSettings?: EnvironmentSetting[]; + /** + * The user identity under which the start task runs. If omitted, the task runs as a + * non-administrative user unique to the task. + */ + userIdentity?: UserIdentity; + /** + * The maximum number of times the task may be retried. The Batch service retries a task if its + * exit code is nonzero. Note that this value specifically controls the number of retries. The + * Batch service will try the task once, and may then retry up to this limit. For example, if the + * maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). + * If the maximum retry count is 0, the Batch service does not retry the task. If the maximum + * retry count is -1, the Batch service retries the task without limit. + */ + maxTaskRetryCount?: number; + /** + * Whether the Batch service should wait for the start task to complete successfully (that is, to + * exit with exit code 0) before scheduling any tasks on the compute node. If true and the start + * task fails on a compute node, the Batch service retries the start task up to its maximum retry + * count (maxTaskRetryCount). If the task has still not completed successfully after all retries, + * then the Batch service marks the compute node unusable, and will not schedule tasks to it. + * This condition can be detected via the node state and scheduling error detail. If false, the + * Batch service will not wait for the start task to complete. In this case, other tasks can + * start executing on the compute node while the start task is still running; and even if the + * start task fails, new tasks will continue to be scheduled on the node. The default is true. + */ + waitForSuccess?: boolean; + /** + * The settings for the container under which the start task runs. When this is specified, all + * directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories + * on the node) are mapped into the container, all task environment variables are mapped into the + * container, and the task command line is executed in the container. + */ + containerSettings?: TaskContainerSettings; +} + +/** + * An interface representing CertificateReference. + * @summary A reference to a certificate to be installed on compute nodes in a pool. This must + * exist inside the same account as the pool. + */ +export interface CertificateReference { + /** + * The fully qualified ID of the certificate to install on the pool. This must be inside the same + * batch account as the pool. + */ + id: string; + /** + * The location of the certificate store on the compute node into which to install the + * certificate. The default value is currentUser. This property is applicable only for pools + * configured with Windows nodes (that is, created with cloudServiceConfiguration, or with + * virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the + * certificates are stored in a directory inside the task working directory and an environment + * variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For + * certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's + * home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. + * Possible values include: 'CurrentUser', 'LocalMachine' + */ + storeLocation?: CertificateStoreLocation; + /** + * The name of the certificate store on the compute node into which to install the certificate. + * This property is applicable only for pools configured with Windows nodes (that is, created + * with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image + * reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, + * TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The + * default value is My. + */ + storeName?: string; + /** + * Which user accounts on the compute node should have access to the private data of the + * certificate. + */ + visibility?: CertificateVisibility[]; +} + +/** + * An interface representing ApplicationPackageReference. + * @summary Link to an application package inside the batch account + */ +export interface ApplicationPackageReference { + /** + * The ID of the application package to install. This must be inside the same batch account as + * the pool. This can either be a reference to a specific version or the default version if one + * exists. + */ + id: string; + /** + * The version of the application to deploy. If omitted, the default version is deployed. If this + * is omitted, and no default version is specified for this application, the request fails with + * the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, + * the HTTP status code is 409. + */ + version?: string; +} + +/** + * An interface representing ResizeError. + * @summary An error that occurred when resizing a pool. + */ +export interface ResizeError { + /** + * An identifier for the error. Codes are invariant and are intended to be consumed + * programmatically. + */ + code: string; + /** + * A message describing the error, intended to be suitable for display in a user interface. + */ + message: string; + /** + * Additional details about the error. + */ + details?: ResizeError[]; +} + +/** + * Describes either the current operation (if the pool AllocationState is Resizing) or the + * previously completed operation (if the AllocationState is Steady). + * @summary Details about the current or last completed resize operation. + */ +export interface ResizeOperationStatus { + /** + * The desired number of dedicated compute nodes in the pool. + */ + targetDedicatedNodes?: number; + /** + * The desired number of low-priority compute nodes in the pool. + */ + targetLowPriorityNodes?: number; + /** + * The timeout for allocation of compute nodes to the pool or removal of compute nodes from the + * pool. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value + * less than 5 minutes, the Batch service returns an error; if you are calling the REST API + * directly, the HTTP status code is 400 (Bad Request). + */ + resizeTimeout?: string; + /** + * Determines what to do with a node and its running task(s) if the pool size is decreasing. The + * default value is requeue. Possible values include: 'Requeue', 'Terminate', 'TaskCompletion', + * 'RetainedData' + */ + nodeDeallocationOption?: ComputeNodeDeallocationOption; + /** + * The time when this resize operation was started. + */ + startTime?: Date; + /** + * Details of any errors encountered while performing the last resize on the pool. This property + * is set only if an error occurred during the last pool resize, and only when the pool + * allocationState is Steady. + */ + errors?: ResizeError[]; +} + +/** + * An interface representing AzureBlobFileSystemConfiguration. + * @summary Information used to connect to an Azure Storage Container using Blobfuse. */ -export interface StartTask { +export interface AzureBlobFileSystemConfiguration { /** - * @member {string} [commandLine] The command line of the start task. The - * command line does not run under a shell, and therefore cannot take - * advantage of shell features such as environment variable expansion. If you - * want to take advantage of such features, you should invoke the shell in - * the command line, for example using "cmd /c MyCommand" in Windows or - * "/bin/sh -c MyCommand" in Linux. Required if any other properties of the - * startTask are specified. + * The Azure Storage Account name. */ - commandLine?: string; + accountName: string; /** - * @member {ResourceFile[]} [resourceFiles] A list of files that the Batch - * service will download to the compute node before running the command line. + * The Azure Blob Storage Container name. */ - resourceFiles?: ResourceFile[]; + containerName: string; /** - * @member {EnvironmentSetting[]} [environmentSettings] A list of environment - * variable settings for the start task. + * The Azure Storage Account key. This property is mutually exclusive with sasKey and one must be + * specified. */ - environmentSettings?: EnvironmentSetting[]; + accountKey?: string; /** - * @member {UserIdentity} [userIdentity] The user identity under which the - * start task runs. If omitted, the task runs as a non-administrative user - * unique to the task. + * The Azure Storage SAS token. This property is mutually exclusive with accountKey and one must + * be specified. */ - userIdentity?: UserIdentity; + sasKey?: string; /** - * @member {number} [maxTaskRetryCount] The maximum number of times the task - * may be retried. The Batch service retries a task if its exit code is - * nonzero. Note that this value specifically controls the number of retries. - * The Batch service will try the task once, and may then retry up to this - * limit. For example, if the maximum retry count is 3, Batch tries the task - * up to 4 times (one initial try and 3 retries). If the maximum retry count - * is 0, the Batch service does not retry the task. If the maximum retry - * count is -1, the Batch service retries the task without limit. + * Additional command line options to pass to the mount command. These are 'net use' options in + * Windows and 'mount' options in Linux. */ - maxTaskRetryCount?: number; + blobfuseOptions?: string; /** - * @member {boolean} [waitForSuccess] Whether the Batch service should wait - * for the start task to complete successfully (that is, to exit with exit - * code 0) before scheduling any tasks on the compute node. If true and the - * start task fails on a compute node, the Batch service retries the start - * task up to its maximum retry count (maxTaskRetryCount). If the task has - * still not completed successfully after all retries, then the Batch service - * marks the compute node unusable, and will not schedule tasks to it. This - * condition can be detected via the node state and scheduling error detail. - * If false, the Batch service will not wait for the start task to complete. - * In this case, other tasks can start executing on the compute node while - * the start task is still running; and even if the start task fails, new - * tasks will continue to be scheduled on the node. The default is false. + * The relative path on the compute node where the file system will be mounted. All file systems + * are mounted relative to the Batch mounts directory, accessible via the + * AZ_BATCH_NODE_MOUNTS_DIR environment variable. */ - waitForSuccess?: boolean; + relativeMountPath: string; } /** - * @interface - * An interface representing CertificateReference. - * @summary A reference to a certificate to be installed on compute nodes in a - * pool. This must exist inside the same account as the pool. - * + * An interface representing NFSMountConfiguration. + * @summary Information used to connect to an NFS file system. */ -export interface CertificateReference { - /** - * @member {string} id The fully qualified ID of the certificate to install - * on the pool. This must be inside the same batch account as the pool. - */ - id: string; +export interface NFSMountConfiguration { /** - * @member {CertificateStoreLocation} [storeLocation] The location of the - * certificate store on the compute node into which to install the - * certificate. The default value is currentUser. This property is applicable - * only for pools configured with Windows nodes (that is, created with - * cloudServiceConfiguration, or with virtualMachineConfiguration using a - * Windows image reference). For Linux compute nodes, the certificates are - * stored in a directory inside the task working directory and an environment - * variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for - * this location. For certificates with visibility of 'remoteUser', a 'certs' - * directory is created in the user's home directory (e.g., - * /home/{user-name}/certs) and certificates are placed in that directory. - * Possible values include: 'CurrentUser', 'LocalMachine' + * The URI of the file system to mount. */ - storeLocation?: CertificateStoreLocation; + source: string; /** - * @member {string} [storeName] The name of the certificate store on the - * compute node into which to install the certificate. This property is - * applicable only for pools configured with Windows nodes (that is, created - * with cloudServiceConfiguration, or with virtualMachineConfiguration using - * a Windows image reference). Common store names include: My, Root, CA, - * Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, - * but any custom store name can also be used. The default value is My. + * The relative path on the compute node where the file system will be mounted. All file systems + * are mounted relative to the Batch mounts directory, accessible via the + * AZ_BATCH_NODE_MOUNTS_DIR environment variable. */ - storeName?: string; + relativeMountPath: string; /** - * @member {CertificateVisibility[]} [visibility] Which user accounts on the - * compute node should have access to the private data of the certificate. - * Values are: - * - * starttask - The user account under which the start task is run. - * task - The accounts under which job tasks are run. - * remoteuser - The accounts under which users remotely access the node. - * - * You can specify more than one visibility in this collection. The default - * is all accounts. + * Additional command line options to pass to the mount command. These are 'net use' options in + * Windows and 'mount' options in Linux. */ - visibility?: CertificateVisibility[]; + mountOptions?: string; } /** - * @interface - * An interface representing ApplicationPackageReference. - * @summary Link to an application package inside the batch account - * + * An interface representing CIFSMountConfiguration. + * @summary Information used to connect to a CIFS file system. */ -export interface ApplicationPackageReference { +export interface CIFSMountConfiguration { /** - * @member {string} id The ID of the application package to install. This - * must be inside the same batch account as the pool. This can either be a - * reference to a specific version or the default version if one exists. + * The user to use for authentication against the CIFS file system. */ - id: string; + username: string; /** - * @member {string} [version] The version of the application to deploy. If - * omitted, the default version is deployed. If this is omitted, and no - * default version is specified for this application, the request fails with - * the error code InvalidApplicationPackageReferences. If you are calling the - * REST API directly, the HTTP status code is 409. + * The URI of the file system to mount. */ - version?: string; -} - -/** - * @interface - * An interface representing ResizeError. - * @summary An error that occurred when resizing a pool. - * - */ -export interface ResizeError { + source: string; /** - * @member {string} code An identifier for the error. Codes are invariant and - * are intended to be consumed programmatically. + * The relative path on the compute node where the file system will be mounted. All file systems + * are mounted relative to the Batch mounts directory, accessible via the + * AZ_BATCH_NODE_MOUNTS_DIR environment variable. */ - code: string; + relativeMountPath: string; /** - * @member {string} message A message describing the error, intended to be - * suitable for display in a user interface. + * Additional command line options to pass to the mount command. These are 'net use' options in + * Windows and 'mount' options in Linux. */ - message: string; + mountOptions?: string; /** - * @member {ResizeError[]} [details] Additional details about the error. + * The password to use for authentication against the CIFS file system. */ - details?: ResizeError[]; + password: string; } /** - * @interface - * An interface representing ResizeOperationStatus. - * @summary Details about the current or last completed resize operation. - * - * Describes either the current operation (if the pool AllocationState is - * Resizing) or the previously completed operation (if the AllocationState is - * Steady). - * + * An interface representing AzureFileShareConfiguration. + * @summary Information used to connect to an Azure Fileshare. */ -export interface ResizeOperationStatus { +export interface AzureFileShareConfiguration { /** - * @member {number} [targetDedicatedNodes] The desired number of dedicated - * compute nodes in the pool. + * The Azure Storage account name. */ - targetDedicatedNodes?: number; + accountName: string; /** - * @member {number} [targetLowPriorityNodes] The desired number of - * low-priority compute nodes in the pool. + * The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'. */ - targetLowPriorityNodes?: number; + azureFileUrl: string; /** - * @member {string} [resizeTimeout] The timeout for allocation of compute - * nodes to the pool or removal of compute nodes from the pool. The default - * value is 15 minutes. The minimum value is 5 minutes. If you specify a - * value less than 5 minutes, the Batch service returns an error; if you are - * calling the REST API directly, the HTTP status code is 400 (Bad Request). + * The Azure Storage account key. */ - resizeTimeout?: string; + accountKey: string; /** - * @member {ComputeNodeDeallocationOption} [nodeDeallocationOption] - * Determines what to do with a node and its running task(s) if the pool size - * is decreasing. The default value is requeue. Possible values include: - * 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' + * The relative path on the compute node where the file system will be mounted. All file systems + * are mounted relative to the Batch mounts directory, accessible via the + * AZ_BATCH_NODE_MOUNTS_DIR environment variable. */ - nodeDeallocationOption?: ComputeNodeDeallocationOption; + relativeMountPath: string; /** - * @member {Date} [startTime] The time when this resize operation was - * started. + * Additional command line options to pass to the mount command. These are 'net use' options in + * Windows and 'mount' options in Linux. */ - startTime?: Date; + mountOptions?: string; +} + +/** + * An interface representing MountConfiguration. + * @summary The file system to mount on each node. + */ +export interface MountConfiguration { /** - * @member {ResizeError[]} [errors] Details of any errors encountered while - * performing the last resize on the pool. This property is set only if an - * error occurred during the last pool resize, and only when the pool - * allocationState is Steady. + * The Azure Storage Container to mount using blob FUSE on each node. This property is mutually + * exclusive with all other properties. */ - errors?: ResizeError[]; + azureBlobFileSystemConfiguration?: AzureBlobFileSystemConfiguration; + /** + * The NFS file system to mount on each node. This property is mutually exclusive with all other + * properties. + */ + nfsMountConfiguration?: NFSMountConfiguration; + /** + * The CIFS/SMB file system to mount on each node. This property is mutually exclusive with all + * other properties. + */ + cifsMountConfiguration?: CIFSMountConfiguration; + /** + * The Azure File Share to mount on each node. This property is mutually exclusive with all other + * properties. + */ + azureFileShareConfiguration?: AzureFileShareConfiguration; } /** - * @interface - * An interface representing Pool. * Contains information about a pool. - * - * @extends ProxyResource */ export interface Pool extends ProxyResource { /** - * @member {string} [displayName] The display name for the pool. The display - * name need not be unique and can contain any Unicode characters up to a - * maximum length of 1024. + * The display name for the pool. The display name need not be unique and can contain any Unicode + * characters up to a maximum length of 1024. */ displayName?: string; /** - * @member {Date} [lastModified] The last modified time of the pool. This is - * the last time at which the pool level data, such as the - * targetDedicatedNodes or autoScaleSettings, changed. It does not factor in - * node-level changes such as a compute node changing state. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The last modified time of the pool. This is the last time at which the pool level data, such + * as the targetDedicatedNodes or autoScaleSettings, changed. It does not factor in node-level + * changes such as a compute node changing state. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly lastModified?: Date; /** - * @member {Date} [creationTime] The creation time of the pool. **NOTE: This - * property will not be serialized. It can only be populated by the server.** + * The creation time of the pool. **NOTE: This property will not be serialized. It can only be + * populated by the server.** */ readonly creationTime?: Date; /** - * @member {PoolProvisioningState} [provisioningState] The current state of - * the pool. Values are: - * - * Succeeded - The pool is available to run tasks subject to the availability - * of compute nodes. - * Deleting - The user has requested that the pool be deleted, but the delete - * operation has not yet completed. Possible values include: 'Succeeded', - * 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current state of the pool. Possible values include: 'Succeeded', 'Deleting' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: PoolProvisioningState; /** - * @member {Date} [provisioningStateTransitionTime] The time at which the - * pool entered its current state. **NOTE: This property will not be + * The time at which the pool entered its current state. **NOTE: This property will not be * serialized. It can only be populated by the server.** */ readonly provisioningStateTransitionTime?: Date; /** - * @member {AllocationState} [allocationState] Whether the pool is resizing. - * Values are: - * - * Steady - The pool is not resizing. There are no changes to the number of - * nodes in the pool in progress. A pool enters this state when it is created - * and when no operations are being performed on the pool to change the - * number of dedicated nodes. - * Resizing - The pool is resizing; that is, compute nodes are being added to - * or removed from the pool. - * Stopping - The pool was resizing, but the user has requested that the - * resize be stopped, but the stop request has not yet been completed. - * Possible values include: 'Steady', 'Resizing', 'Stopping' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Whether the pool is resizing. Possible values include: 'Steady', 'Resizing', 'Stopping' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly allocationState?: AllocationState; /** - * @member {Date} [allocationStateTransitionTime] The time at which the pool - * entered its current allocation state. **NOTE: This property will not be - * serialized. It can only be populated by the server.** + * The time at which the pool entered its current allocation state. **NOTE: This property will + * not be serialized. It can only be populated by the server.** */ readonly allocationStateTransitionTime?: Date; /** - * @member {string} [vmSize] The size of virtual machines in the pool. All - * VMs in a pool are the same size. For information about available sizes of - * virtual machines for Cloud Services pools (pools created with + * The size of virtual machines in the pool. All VMs in a pool are the same size. For information + * about available sizes of virtual machines for Cloud Services pools (pools created with * cloudServiceConfiguration), see Sizes for Cloud Services - * (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). - * Batch supports all Cloud Services VM sizes except ExtraSmall. For - * information about available VM sizes for pools using images from the - * Virtual Machines Marketplace (pools created with + * (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch + * supports all Cloud Services VM sizes except ExtraSmall. For information about available VM + * sizes for pools using images from the Virtual Machines Marketplace (pools created with * virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) - * (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) - * or Sizes for Virtual Machines (Windows) - * (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). - * Batch supports all Azure VM sizes except STANDARD_A0 and those with - * premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). + * (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes + * for Virtual Machines (Windows) + * (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch + * supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, + * STANDARD_DS, and STANDARD_DSV2 series). */ vmSize?: string; /** - * @member {DeploymentConfiguration} [deploymentConfiguration] This property - * describes how the pool nodes will be deployed - using Cloud Services or - * Virtual Machines. Using CloudServiceConfiguration specifies that the nodes - * should be creating using Azure Cloud Services (PaaS), while - * VirtualMachineConfiguration uses Azure Virtual Machines (IaaS). + * This property describes how the pool nodes will be deployed - using Cloud Services or Virtual + * Machines. Using CloudServiceConfiguration specifies that the nodes should be creating using + * Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines + * (IaaS). */ deploymentConfiguration?: DeploymentConfiguration; /** - * @member {number} [currentDedicatedNodes] The number of compute nodes - * currently in the pool. **NOTE: This property will not be serialized. It - * can only be populated by the server.** + * The number of compute nodes currently in the pool. **NOTE: This property will not be + * serialized. It can only be populated by the server.** */ readonly currentDedicatedNodes?: number; /** - * @member {number} [currentLowPriorityNodes] The number of low priority - * compute nodes currently in the pool. **NOTE: This property will not be - * serialized. It can only be populated by the server.** + * The number of low priority compute nodes currently in the pool. **NOTE: This property will not + * be serialized. It can only be populated by the server.** */ readonly currentLowPriorityNodes?: number; /** - * @member {ScaleSettings} [scaleSettings] Settings which configure the - * number of nodes in the pool. + * Settings which configure the number of nodes in the pool. */ scaleSettings?: ScaleSettings; /** - * @member {AutoScaleRun} [autoScaleRun] The results and errors from the last - * execution of the autoscale formula. This property is set only if the pool - * automatically scales, i.e. autoScaleSettings are used. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The results and errors from the last execution of the autoscale formula. This property is set + * only if the pool automatically scales, i.e. autoScaleSettings are used. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly autoScaleRun?: AutoScaleRun; /** - * @member {InterNodeCommunicationState} [interNodeCommunication] Whether the - * pool permits direct communication between nodes. This imposes restrictions - * on which nodes can be assigned to the pool. Enabling this value can reduce - * the chance of the requested number of nodes to be allocated in the pool. - * If not specified, this value defaults to 'Disabled'. Possible values - * include: 'Enabled', 'Disabled' + * Whether the pool permits direct communication between nodes. This imposes restrictions on + * which nodes can be assigned to the pool. Enabling this value can reduce the chance of the + * requested number of nodes to be allocated in the pool. If not specified, this value defaults + * to 'Disabled'. Possible values include: 'Enabled', 'Disabled' */ interNodeCommunication?: InterNodeCommunicationState; /** - * @member {NetworkConfiguration} [networkConfiguration] The network - * configuration for the pool. + * The network configuration for the pool. */ networkConfiguration?: NetworkConfiguration; /** - * @member {number} [maxTasksPerNode] The maximum number of tasks that can - * run concurrently on a single compute node in the pool. + * The number of task slots that can be used to run concurrent tasks on a single compute node in + * the pool. The default value is 1. The maximum value is the smaller of 4 times the number of + * cores of the vmSize of the pool or 256. */ - maxTasksPerNode?: number; + taskSlotsPerNode?: number; /** - * @member {TaskSchedulingPolicy} [taskSchedulingPolicy] How tasks are - * distributed across compute nodes in a pool. + * How tasks are distributed across compute nodes in a pool. If not specified, the default is + * spread. */ taskSchedulingPolicy?: TaskSchedulingPolicy; /** - * @member {UserAccount[]} [userAccounts] The list of user accounts to be - * created on each node in the pool. + * The list of user accounts to be created on each node in the pool. */ userAccounts?: UserAccount[]; /** - * @member {MetadataItem[]} [metadata] A list of name-value pairs associated - * with the pool as metadata. The Batch service does not assign any meaning - * to metadata; it is solely for the use of user code. + * A list of name-value pairs associated with the pool as metadata. The Batch service does not + * assign any meaning to metadata; it is solely for the use of user code. */ metadata?: MetadataItem[]; /** - * @member {StartTask} [startTask] A task specified to run on each compute - * node as it joins the pool. In an PATCH (update) operation, this property - * can be set to an empty object to remove the start task from the pool. + * A task specified to run on each compute node as it joins the pool. In an PATCH (update) + * operation, this property can be set to an empty object to remove the start task from the pool. */ startTask?: StartTask; /** - * @member {CertificateReference[]} [certificates] The list of certificates - * to be installed on each compute node in the pool. For Windows compute - * nodes, the Batch service installs the certificates to the specified - * certificate store and location. For Linux compute nodes, the certificates - * are stored in a directory inside the task working directory and an - * environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to - * query for this location. For certificates with visibility of 'remoteUser', - * a 'certs' directory is created in the user's home directory (e.g., - * /home/{user-name}/certs) and certificates are placed in that directory. + * The list of certificates to be installed on each compute node in the pool. For Windows compute + * nodes, the Batch service installs the certificates to the specified certificate store and + * location. For Linux compute nodes, the certificates are stored in a directory inside the task + * working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the + * task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' + * directory is created in the user's home directory (e.g., /home/{user-name}/certs) and + * certificates are placed in that directory. */ certificates?: CertificateReference[]; /** - * @member {ApplicationPackageReference[]} [applicationPackages] The list of - * application packages to be installed on each compute node in the pool. - * Changes to application packages affect all new compute nodes joining the - * pool, but do not affect compute nodes that are already in the pool until - * they are rebooted or reimaged. + * The list of application packages to be installed on each compute node in the pool. Changes to + * application package references affect all new compute nodes joining the pool, but do not + * affect compute nodes that are already in the pool until they are rebooted or reimaged. There + * is a maximum of 10 application package references on any given pool. */ applicationPackages?: ApplicationPackageReference[]; /** - * @member {string[]} [applicationLicenses] The list of application licenses - * the Batch service will make available on each compute node in the pool. - * The list of application licenses must be a subset of available Batch - * service application licenses. If a license is requested which is not - * supported, pool creation will fail. + * The list of application licenses the Batch service will make available on each compute node in + * the pool. The list of application licenses must be a subset of available Batch service + * application licenses. If a license is requested which is not supported, pool creation will + * fail. */ applicationLicenses?: string[]; /** - * @member {ResizeOperationStatus} [resizeOperationStatus] Contains details - * about the current or last completed resize operation. **NOTE: This - * property will not be serialized. It can only be populated by the server.** + * Contains details about the current or last completed resize operation. **NOTE: This property + * will not be serialized. It can only be populated by the server.** */ readonly resizeOperationStatus?: ResizeOperationStatus; + /** + * A list of file systems to mount on each node in the pool. This supports Azure Files, NFS, + * CIFS/SMB, and Blobfuse. + */ + mountConfiguration?: MountConfiguration[]; } /** - * @interface * An interface representing OperationDisplay. * @summary The object that describes the operation. - * */ export interface OperationDisplay { /** - * @member {string} [provider] Friendly name of the resource provider. + * Friendly name of the resource provider. */ provider?: string; /** - * @member {string} [operation] The operation type. For example: read, write, - * delete, or listKeys/action + * The operation type. For example: read, write, delete, or listKeys/action */ operation?: string; /** - * @member {string} [resource] The resource type on which the operation is - * performed. + * The resource type on which the operation is performed. */ resource?: string; /** - * @member {string} [description] The friendly name of the operation. + * The friendly name of the operation. */ description?: string; } /** - * @interface * An interface representing Operation. * @summary A REST API operation - * */ export interface Operation { /** - * @member {string} [name] The operation name. This is of the format - * {provider}/{resource}/{operation} + * The operation name. This is of the format {provider}/{resource}/{operation} */ name?: string; /** - * @member {OperationDisplay} [display] The object that describes the - * operation. + * The object that describes the operation. */ display?: OperationDisplay; /** - * @member {string} [origin] The intended executor of the operation. + * The intended executor of the operation. */ origin?: string; /** - * @member {any} [properties] Properties of the operation. + * Properties of the operation. */ properties?: any; } /** - * @interface - * An interface representing CheckNameAvailabilityParameters. * Parameters for a check name availability request. - * */ export interface CheckNameAvailabilityParameters { /** - * @member {string} name The name to check for availability + * The name to check for availability */ name: string; } /** - * @interface - * An interface representing CheckNameAvailabilityResult. * The CheckNameAvailability operation response. - * */ export interface CheckNameAvailabilityResult { /** - * @member {boolean} [nameAvailable] Gets a boolean value that indicates - * whether the name is available for you to use. If true, the name is - * available. If false, the name has already been taken or invalid and cannot - * be used. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Gets a boolean value that indicates whether the name is available for you to use. If true, the + * name is available. If false, the name has already been taken or invalid and cannot be used. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nameAvailable?: boolean; /** - * @member {NameAvailabilityReason} [reason] Gets the reason that a Batch - * account name could not be used. The Reason element is only returned if - * NameAvailable is false. Possible values include: 'Invalid', - * 'AlreadyExists' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Gets the reason that a Batch account name could not be used. The Reason element is only + * returned if NameAvailable is false. Possible values include: 'Invalid', 'AlreadyExists' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly reason?: NameAvailabilityReason; /** - * @member {string} [message] Gets an error message explaining the Reason - * value in more detail. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Gets an error message explaining the Reason value in more detail. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly message?: string; } /** - * @interface - * An interface representing ApplicationCreateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase + */ +export interface ApplicationPackageListOptionalParams extends msRest.RequestOptionsBase { + /** + * The maximum number of items to return in the response. + */ + maxresults?: number; +} + +/** + * Optional Parameters. */ export interface ApplicationCreateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {ApplicationCreateParameters} [parameters] The parameters for the - * request. + * The parameters for the request. */ - parameters?: ApplicationCreateParameters; + parameters?: Application; } /** - * @interface - * An interface representing ApplicationListOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface ApplicationListOptionalParams extends msRest.RequestOptionsBase { /** - * @member {number} [maxresults] The maximum number of items to return in the - * response. + * The maximum number of items to return in the response. */ maxresults?: number; } /** - * @interface - * An interface representing CertificateListByBatchAccountOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface CertificateListByBatchAccountOptionalParams extends msRest.RequestOptionsBase { /** - * @member {number} [maxresults] The maximum number of items to return in the - * response. + * The maximum number of items to return in the response. */ maxresults?: number; /** - * @member {string} [select] Comma separated list of properties that should - * be returned. e.g. "properties/provisioningState". Only top level - * properties under properties/ are valid for selection. + * Comma separated list of properties that should be returned. e.g. + * "properties/provisioningState". Only top level properties under properties/ are valid for + * selection. */ select?: string; /** - * @member {string} [filter] OData filter expression. Valid properties for - * filtering are "properties/provisioningState", + * OData filter expression. Valid properties for filtering are "properties/provisioningState", * "properties/provisioningStateTransitionTime", "name". */ filter?: string; } /** - * @interface - * An interface representing CertificateCreateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface CertificateCreateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The entity state (ETag) version of the - * certificate to update. A value of "*" can be used to apply the operation - * only if the certificate already exists. If omitted, this operation will + * The entity state (ETag) version of the certificate to update. A value of "*" can be used to + * apply the operation only if the certificate already exists. If omitted, this operation will * always be applied. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new certificate to be - * created, but to prevent updating an existing certificate. Other values - * will be ignored. + * Set to '*' to allow a new certificate to be created, but to prevent updating an existing + * certificate. Other values will be ignored. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing CertificateUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface CertificateUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The entity state (ETag) version of the - * certificate to update. This value can be omitted or set to "*" to apply - * the operation unconditionally. + * The entity state (ETag) version of the certificate to update. This value can be omitted or set + * to "*" to apply the operation unconditionally. */ ifMatch?: string; } /** - * @interface - * An interface representing CertificateBeginCreateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface CertificateBeginCreateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The entity state (ETag) version of the - * certificate to update. A value of "*" can be used to apply the operation - * only if the certificate already exists. If omitted, this operation will + * The entity state (ETag) version of the certificate to update. A value of "*" can be used to + * apply the operation only if the certificate already exists. If omitted, this operation will * always be applied. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new certificate to be - * created, but to prevent updating an existing certificate. Other values - * will be ignored. + * Set to '*' to allow a new certificate to be created, but to prevent updating an existing + * certificate. Other values will be ignored. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing PoolListByBatchAccountOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase + */ +export interface PrivateLinkResourceListByBatchAccountOptionalParams extends msRest.RequestOptionsBase { + /** + * The maximum number of items to return in the response. + */ + maxresults?: number; +} + +/** + * Optional Parameters. + */ +export interface PrivateEndpointConnectionListByBatchAccountOptionalParams extends msRest.RequestOptionsBase { + /** + * The maximum number of items to return in the response. + */ + maxresults?: number; +} + +/** + * Optional Parameters. + */ +export interface PrivateEndpointConnectionUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * The state (ETag) version of the private endpoint connection to update. This value can be + * omitted or set to "*" to apply the operation unconditionally. + */ + ifMatch?: string; +} + +/** + * Optional Parameters. + */ +export interface PrivateEndpointConnectionBeginUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * The state (ETag) version of the private endpoint connection to update. This value can be + * omitted or set to "*" to apply the operation unconditionally. + */ + ifMatch?: string; +} + +/** + * Optional Parameters. */ export interface PoolListByBatchAccountOptionalParams extends msRest.RequestOptionsBase { /** - * @member {number} [maxresults] The maximum number of items to return in the - * response. + * The maximum number of items to return in the response. */ maxresults?: number; /** - * @member {string} [select] Comma separated list of properties that should - * be returned. e.g. "properties/provisioningState". Only top level - * properties under properties/ are valid for selection. + * Comma separated list of properties that should be returned. e.g. + * "properties/provisioningState". Only top level properties under properties/ are valid for + * selection. */ select?: string; /** - * @member {string} [filter] OData filter expression. Valid properties for - * filtering are: + * OData filter expression. Valid properties for filtering are: * * name * properties/allocationState @@ -2031,326 +2111,270 @@ export interface PoolListByBatchAccountOptionalParams extends msRest.RequestOpti } /** - * @interface - * An interface representing PoolCreateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface PoolCreateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The entity state (ETag) version of the pool to - * update. A value of "*" can be used to apply the operation only if the pool - * already exists. If omitted, this operation will always be applied. + * The entity state (ETag) version of the pool to update. A value of "*" can be used to apply the + * operation only if the pool already exists. If omitted, this operation will always be applied. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new pool to be - * created, but to prevent updating an existing pool. Other values will be - * ignored. + * Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other + * values will be ignored. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing PoolUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface PoolUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The entity state (ETag) version of the pool to - * update. This value can be omitted or set to "*" to apply the operation - * unconditionally. + * The entity state (ETag) version of the pool to update. This value can be omitted or set to "*" + * to apply the operation unconditionally. */ ifMatch?: string; } /** - * @interface - * An interface representing PoolBeginCreateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface PoolBeginCreateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The entity state (ETag) version of the pool to - * update. A value of "*" can be used to apply the operation only if the pool - * already exists. If omitted, this operation will always be applied. + * The entity state (ETag) version of the pool to update. A value of "*" can be used to apply the + * operation only if the pool already exists. If omitted, this operation will always be applied. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new pool to be - * created, but to prevent updating an existing pool. Other values will be - * ignored. + * Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other + * values will be ignored. */ ifNoneMatch?: string; } /** - * @interface * An interface representing BatchManagementClientOptions. - * @extends AzureServiceClientOptions */ export interface BatchManagementClientOptions extends AzureServiceClientOptions { - /** - * @member {string} [baseUri] - */ baseUri?: string; } /** - * @interface - * An interface representing BatchAccountCreateHeaders. * Defines headers for Create operation. - * */ export interface BatchAccountCreateHeaders { /** - * @member {string} [locationHeader] The URL of the resource used to check - * the status of the asynchronous operation. + * The URL of the resource used to check the status of the asynchronous operation. */ locationHeader: string; /** - * @member {number} [retryAfter] Suggested delay to check the status of the - * asynchronous operation. The value is an integer that specifies the delay - * in seconds. + * Suggested delay to check the status of the asynchronous operation. The value is an integer + * that specifies the delay in seconds. */ retryAfter: number; } /** - * @interface - * An interface representing BatchAccountDeleteHeaders. * Defines headers for Delete operation. - * */ export interface BatchAccountDeleteHeaders { /** - * @member {string} [location] The URL of the resource used to check the - * status of the asynchronous operation. + * The URL of the resource used to check the status of the asynchronous operation. */ location: string; /** - * @member {number} [retryAfter] Suggested delay to check the status of the - * asynchronous operation. The value is an integer that specifies the delay - * in seconds. + * Suggested delay to check the status of the asynchronous operation. The value is an integer + * that specifies the delay in seconds. */ retryAfter: number; } /** - * @interface - * An interface representing CertificateCreateHeaders. * Defines headers for Create operation. - * */ export interface CertificateCreateHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } /** - * @interface - * An interface representing CertificateUpdateHeaders. * Defines headers for Update operation. - * */ export interface CertificateUpdateHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } /** - * @interface - * An interface representing CertificateDeleteHeaders. * Defines headers for Delete operation. - * */ export interface CertificateDeleteHeaders { /** - * @member {string} [location] The URL of the resource used to check the - * status of the asynchronous operation. + * The URL of the resource used to check the status of the asynchronous operation. */ location: string; /** - * @member {number} [retryAfter] Suggested delay to check the status of the - * asynchronous operation. The value is an integer that represents the - * seconds. + * Suggested delay to check the status of the asynchronous operation. The value is an integer + * that represents the seconds. */ retryAfter: number; } /** - * @interface - * An interface representing CertificateGetHeaders. * Defines headers for Get operation. - * */ export interface CertificateGetHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } /** - * @interface - * An interface representing CertificateCancelDeletionHeaders. * Defines headers for CancelDeletion operation. - * */ export interface CertificateCancelDeletionHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } /** - * @interface - * An interface representing PoolCreateHeaders. + * Defines headers for Update operation. + */ +export interface PrivateEndpointConnectionUpdateHeaders { + /** + * The URL of the resource used to check the status of the asynchronous operation. + */ + location: string; + /** + * Suggested delay to check the status of the asynchronous operation. The value is an integer + * that represents the seconds. + */ + retryAfter: number; +} + +/** * Defines headers for Create operation. - * */ export interface PoolCreateHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } /** - * @interface - * An interface representing PoolUpdateHeaders. * Defines headers for Update operation. - * */ export interface PoolUpdateHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } /** - * @interface - * An interface representing PoolDeleteHeaders. * Defines headers for Delete operation. - * */ export interface PoolDeleteHeaders { /** - * @member {string} [location] The URL of the resource used to check the - * status of the asynchronous operation. + * The URL of the resource used to check the status of the asynchronous operation. */ location: string; /** - * @member {number} [retryAfter] Suggested delay to check the status of the - * asynchronous operation. The value is an integer that represents the - * seconds. + * Suggested delay to check the status of the asynchronous operation. The value is an integer + * that represents the seconds. */ retryAfter: number; } /** - * @interface - * An interface representing PoolGetHeaders. * Defines headers for Get operation. - * */ export interface PoolGetHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } /** - * @interface - * An interface representing PoolDisableAutoScaleHeaders. * Defines headers for DisableAutoScale operation. - * */ export interface PoolDisableAutoScaleHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } /** - * @interface - * An interface representing PoolStopResizeHeaders. * Defines headers for StopResize operation. - * */ export interface PoolStopResizeHeaders { /** - * @member {string} [eTag] The ETag HTTP response header. This is an opaque - * string. You can use it to detect whether the resource has changed between - * requests. In particular, you can pass the ETag to one of the If-Match or - * If-None-Match headers. + * The ETag HTTP response header. This is an opaque string. You can use it to detect whether the + * resource has changed between requests. In particular, you can pass the ETag to one of the + * If-Match or If-None-Match headers. */ eTag: string; } - /** * @interface - * An interface representing the BatchAccountListResult. * Values returned by the List operation. - * * @extends Array */ export interface BatchAccountListResult extends Array { /** - * @member {string} [nextLink] The continuation token. + * The continuation token. + */ + nextLink?: string; +} + +/** + * @interface + * The result of performing list application packages. + * @extends Array + */ +export interface ListApplicationPackagesResult extends Array { + /** + * The URL to get the next set of results. */ nextLink?: string; } /** * @interface - * An interface representing the ListApplicationsResult. * The result of performing list applications. - * * @extends Array */ export interface ListApplicationsResult extends Array { /** - * @member {string} [nextLink] The URL to get the next set of results. + * The URL to get the next set of results. */ nextLink?: string; } @@ -2358,46 +2382,70 @@ export interface ListApplicationsResult extends Array { /** * @interface * An interface representing the OperationListResult. - * @summary Result of the request to list REST API operations. It contains a - * list of operations and a URL nextLink to get the next set of results. - * + * @summary Result of the request to list REST API operations. It contains a list of operations and + * a URL nextLink to get the next set of results. * @extends Array */ export interface OperationListResult extends Array { - /** - * @member {string} [nextLink] - */ nextLink?: string; } /** * @interface - * An interface representing the ListCertificatesResult. * Values returned by the List operation. - * * @extends Array */ export interface ListCertificatesResult extends Array { /** - * @member {string} [nextLink] The continuation token. + * The continuation token. + */ + nextLink?: string; +} + +/** + * @interface + * Values returned by the List operation. + * @extends Array + */ +export interface ListPrivateLinkResourcesResult extends Array { + /** + * The continuation token. + */ + nextLink?: string; +} + +/** + * @interface + * Values returned by the List operation. + * @extends Array + */ +export interface ListPrivateEndpointConnectionsResult extends Array { + /** + * The continuation token. */ nextLink?: string; } /** * @interface - * An interface representing the ListPoolsResult. * Values returned by the List operation. - * * @extends Array */ export interface ListPoolsResult extends Array { /** - * @member {string} [nextLink] The continuation token. + * The continuation token. */ nextLink?: string; } +/** + * Defines values for KeySource. + * Possible values include: 'Microsoft.Batch', 'Microsoft.KeyVault' + * @readonly + * @enum {string} + */ +export type KeySource = 'Microsoft.Batch' | 'Microsoft.KeyVault'; + /** * Defines values for PoolAllocationMode. * Possible values include: 'BatchService', 'UserSubscription' @@ -2406,6 +2454,22 @@ export interface ListPoolsResult extends Array { */ export type PoolAllocationMode = 'BatchService' | 'UserSubscription'; +/** + * Defines values for PublicNetworkAccessType. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type PublicNetworkAccessType = 'Enabled' | 'Disabled'; + +/** + * Defines values for ResourceIdentityType. + * Possible values include: 'SystemAssigned', 'None' + * @readonly + * @enum {string} + */ +export type ResourceIdentityType = 'SystemAssigned' | 'None'; + /** * Defines values for ProvisioningState. * Possible values include: 'Invalid', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Cancelled' @@ -2414,6 +2478,22 @@ export type PoolAllocationMode = 'BatchService' | 'UserSubscription'; */ export type ProvisioningState = 'Invalid' | 'Creating' | 'Deleting' | 'Succeeded' | 'Failed' | 'Cancelled'; +/** + * Defines values for PrivateEndpointConnectionProvisioningState. + * Possible values include: 'Succeeded', 'Updating', 'Failed' + * @readonly + * @enum {string} + */ +export type PrivateEndpointConnectionProvisioningState = 'Succeeded' | 'Updating' | 'Failed'; + +/** + * Defines values for PrivateLinkServiceConnectionStatus. + * Possible values include: 'Approved', 'Pending', 'Rejected', 'Disconnected' + * @readonly + * @enum {string} + */ +export type PrivateLinkServiceConnectionStatus = 'Approved' | 'Pending' | 'Rejected' | 'Disconnected'; + /** * Defines values for AccountKeyType. * Possible values include: 'Primary', 'Secondary' @@ -2424,11 +2504,11 @@ export type AccountKeyType = 'Primary' | 'Secondary'; /** * Defines values for PackageState. - * Possible values include: 'Pending', 'Active', 'Unmapped' + * Possible values include: 'Pending', 'Active' * @readonly * @enum {string} */ -export type PackageState = 'Pending' | 'Active' | 'Unmapped'; +export type PackageState = 'Pending' | 'Active'; /** * Defines values for CertificateFormat. @@ -2478,6 +2558,14 @@ export type CachingType = 'None' | 'ReadOnly' | 'ReadWrite'; */ export type StorageAccountType = 'Standard_LRS' | 'Premium_LRS'; +/** + * Defines values for DiskEncryptionTarget. + * Possible values include: 'OsDisk', 'TemporaryDisk' + * @readonly + * @enum {string} + */ +export type DiskEncryptionTarget = 'OsDisk' | 'TemporaryDisk'; + /** * Defines values for ComputeNodeDeallocationOption. * Possible values include: 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' @@ -2508,7 +2596,15 @@ export type InboundEndpointProtocol = 'TCP' | 'UDP'; * @readonly * @enum {string} */ -export type NetworkSecurityGroupRuleAccess = 'Allow' | 'Deny'; +export type NetworkSecurityGroupRuleAccess = 'Allow' | 'Deny'; + +/** + * Defines values for IPAddressProvisioningType. + * Possible values include: 'BatchManaged', 'UserManaged', 'NoPublicIPAddresses' + * @readonly + * @enum {string} + */ +export type IPAddressProvisioningType = 'BatchManaged' | 'UserManaged' | 'NoPublicIPAddresses'; /** * Defines values for ComputeNodeFillType. @@ -2526,6 +2622,14 @@ export type ComputeNodeFillType = 'Spread' | 'Pack'; */ export type ElevationLevel = 'NonAdmin' | 'Admin'; +/** + * Defines values for LoginMode. + * Possible values include: 'Batch', 'Interactive' + * @readonly + * @enum {string} + */ +export type LoginMode = 'Batch' | 'Interactive'; + /** * Defines values for AutoUserScope. * Possible values include: 'Task', 'Pool' @@ -2534,6 +2638,14 @@ export type ElevationLevel = 'NonAdmin' | 'Admin'; */ export type AutoUserScope = 'Task' | 'Pool'; +/** + * Defines values for ContainerWorkingDirectory. + * Possible values include: 'TaskWorkingDirectory', 'ContainerImageDefault' + * @readonly + * @enum {string} + */ +export type ContainerWorkingDirectory = 'TaskWorkingDirectory' | 'ContainerImageDefault'; + /** * Defines values for CertificateStoreLocation. * Possible values include: 'CurrentUser', 'LocalMachine' @@ -2570,10 +2682,12 @@ export type BatchAccountCreateResponse = BatchAccount & BatchAccountCreateHeader * The parsed HTTP response headers. */ parsedHeaders: BatchAccountCreateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2593,6 +2707,7 @@ export type BatchAccountUpdateResponse = BatchAccount & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2627,6 +2742,7 @@ export type BatchAccountGetResponse = BatchAccount & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2646,6 +2762,7 @@ export type BatchAccountListResponse = BatchAccountListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2665,6 +2782,7 @@ export type BatchAccountListByResourceGroupResponse = BatchAccountListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2684,6 +2802,7 @@ export type BatchAccountRegenerateKeyResponse = BatchAccountKeys & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2703,6 +2822,7 @@ export type BatchAccountGetKeysResponse = BatchAccountKeys & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2722,6 +2842,7 @@ export type BatchAccountListNextResponse = BatchAccountListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2741,6 +2862,7 @@ export type BatchAccountListByResourceGroupNextResponse = BatchAccountListResult * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2748,6 +2870,26 @@ export type BatchAccountListByResourceGroupNextResponse = BatchAccountListResult }; }; +/** + * Contains response data for the activate operation. + */ +export type ApplicationPackageActivateResponse = ApplicationPackage & { + /** + * 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: ApplicationPackage; + }; +}; + /** * Contains response data for the create operation. */ @@ -2760,6 +2902,7 @@ export type ApplicationPackageCreateResponse = ApplicationPackage & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2779,6 +2922,7 @@ export type ApplicationPackageGetResponse = ApplicationPackage & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2786,6 +2930,46 @@ export type ApplicationPackageGetResponse = ApplicationPackage & { }; }; +/** + * Contains response data for the list operation. + */ +export type ApplicationPackageListResponse = ListApplicationPackagesResult & { + /** + * 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: ListApplicationPackagesResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ApplicationPackageListNextResponse = ListApplicationPackagesResult & { + /** + * 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: ListApplicationPackagesResult; + }; +}; + /** * Contains response data for the create operation. */ @@ -2798,6 +2982,7 @@ export type ApplicationCreateResponse = Application & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2817,6 +3002,27 @@ export type ApplicationGetResponse = Application & { * The response body as text (string format) */ bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Application; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type ApplicationUpdateResponse = Application & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2836,6 +3042,7 @@ export type ApplicationListResponse = ListApplicationsResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2855,6 +3062,7 @@ export type ApplicationListNextResponse = ListApplicationsResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2874,6 +3082,7 @@ export type LocationGetQuotasResponse = BatchLocationQuota & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2893,6 +3102,7 @@ export type LocationCheckNameAvailabilityResponse = CheckNameAvailabilityResult * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2912,6 +3122,7 @@ export type OperationsListResponse = OperationListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2931,6 +3142,7 @@ export type OperationsListNextResponse = OperationListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2950,6 +3162,7 @@ export type CertificateListByBatchAccountResponse = ListCertificatesResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2969,10 +3182,12 @@ export type CertificateCreateResponse = Certificate & CertificateCreateHeaders & * The parsed HTTP response headers. */ parsedHeaders: CertificateCreateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2992,10 +3207,12 @@ export type CertificateUpdateResponse = Certificate & CertificateUpdateHeaders & * The parsed HTTP response headers. */ parsedHeaders: CertificateUpdateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3030,10 +3247,12 @@ export type CertificateGetResponse = Certificate & CertificateGetHeaders & { * The parsed HTTP response headers. */ parsedHeaders: CertificateGetHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3053,10 +3272,12 @@ export type CertificateCancelDeletionResponse = Certificate & CertificateCancelD * The parsed HTTP response headers. */ parsedHeaders: CertificateCancelDeletionHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3076,6 +3297,7 @@ export type CertificateListByBatchAccountNextResponse = ListCertificatesResult & * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3083,6 +3305,151 @@ export type CertificateListByBatchAccountNextResponse = ListCertificatesResult & }; }; +/** + * Contains response data for the listByBatchAccount operation. + */ +export type PrivateLinkResourceListByBatchAccountResponse = ListPrivateLinkResourcesResult & { + /** + * 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: ListPrivateLinkResourcesResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type PrivateLinkResourceGetResponse = PrivateLinkResource & { + /** + * 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: PrivateLinkResource; + }; +}; + +/** + * Contains response data for the listByBatchAccountNext operation. + */ +export type PrivateLinkResourceListByBatchAccountNextResponse = ListPrivateLinkResourcesResult & { + /** + * 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: ListPrivateLinkResourcesResult; + }; +}; + +/** + * Contains response data for the listByBatchAccount operation. + */ +export type PrivateEndpointConnectionListByBatchAccountResponse = ListPrivateEndpointConnectionsResult & { + /** + * 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: ListPrivateEndpointConnectionsResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type PrivateEndpointConnectionGetResponse = PrivateEndpointConnection & { + /** + * 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: PrivateEndpointConnection; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type PrivateEndpointConnectionUpdateResponse = PrivateEndpointConnection & PrivateEndpointConnectionUpdateHeaders & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: PrivateEndpointConnectionUpdateHeaders; + + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: PrivateEndpointConnection; + }; +}; + +/** + * Contains response data for the listByBatchAccountNext operation. + */ +export type PrivateEndpointConnectionListByBatchAccountNextResponse = ListPrivateEndpointConnectionsResult & { + /** + * 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: ListPrivateEndpointConnectionsResult; + }; +}; + /** * Contains response data for the listByBatchAccount operation. */ @@ -3095,6 +3462,7 @@ export type PoolListByBatchAccountResponse = ListPoolsResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3114,10 +3482,12 @@ export type PoolCreateResponse = Pool & PoolCreateHeaders & { * The parsed HTTP response headers. */ parsedHeaders: PoolCreateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3137,10 +3507,12 @@ export type PoolUpdateResponse = Pool & PoolUpdateHeaders & { * The parsed HTTP response headers. */ parsedHeaders: PoolUpdateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3175,10 +3547,12 @@ export type PoolGetResponse = Pool & PoolGetHeaders & { * The parsed HTTP response headers. */ parsedHeaders: PoolGetHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3198,10 +3572,12 @@ export type PoolDisableAutoScaleResponse = Pool & PoolDisableAutoScaleHeaders & * The parsed HTTP response headers. */ parsedHeaders: PoolDisableAutoScaleHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3221,10 +3597,12 @@ export type PoolStopResizeResponse = Pool & PoolStopResizeHeaders & { * The parsed HTTP response headers. */ parsedHeaders: PoolStopResizeHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3244,6 +3622,7 @@ export type PoolListByBatchAccountNextResponse = ListPoolsResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ diff --git a/sdk/batch/arm-batch/src/models/locationMappers.ts b/sdk/batch/arm-batch/src/models/locationMappers.ts index 97dbbc6cc3db..ddbec3b47f94 100644 --- a/sdk/batch/arm-batch/src/models/locationMappers.ts +++ b/sdk/batch/arm-batch/src/models/locationMappers.ts @@ -1,17 +1,14 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { BatchLocationQuota, - CloudError, CheckNameAvailabilityParameters, - CheckNameAvailabilityResult + CheckNameAvailabilityResult, + CloudError } from "../models/mappers"; - diff --git a/sdk/batch/arm-batch/src/models/mappers.ts b/sdk/batch/arm-batch/src/models/mappers.ts index 7698eb57ba77..cc7d3296b2d5 100644 --- a/sdk/batch/arm-batch/src/models/mappers.ts +++ b/sdk/batch/arm-batch/src/models/mappers.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; @@ -31,6 +29,49 @@ export const AutoStorageBaseProperties: msRest.CompositeMapper = { } }; +export const KeyVaultProperties: msRest.CompositeMapper = { + serializedName: "KeyVaultProperties", + type: { + name: "Composite", + className: "KeyVaultProperties", + modelProperties: { + keyIdentifier: { + serializedName: "keyIdentifier", + type: { + name: "String" + } + } + } + } +}; + +export const EncryptionProperties: msRest.CompositeMapper = { + serializedName: "EncryptionProperties", + type: { + name: "Composite", + className: "EncryptionProperties", + modelProperties: { + keySource: { + serializedName: "keySource", + type: { + name: "Enum", + allowedValues: [ + "Microsoft.Batch", + "Microsoft.KeyVault" + ] + } + }, + keyVaultProperties: { + serializedName: "keyVaultProperties", + type: { + name: "Composite", + className: "KeyVaultProperties" + } + } + } + } +}; + export const KeyVaultReference: msRest.CompositeMapper = { serializedName: "KeyVaultReference", type: { @@ -55,6 +96,41 @@ export const KeyVaultReference: msRest.CompositeMapper = { } }; +export const BatchAccountIdentity: msRest.CompositeMapper = { + serializedName: "BatchAccountIdentity", + type: { + name: "Composite", + className: "BatchAccountIdentity", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + tenantId: { + readOnly: true, + serializedName: "tenantId", + type: { + name: "String" + } + }, + type: { + required: true, + serializedName: "type", + type: { + name: "Enum", + allowedValues: [ + "SystemAssigned", + "None" + ] + } + } + } + } +}; + export const BatchAccountCreateParameters: msRest.CompositeMapper = { serializedName: "BatchAccountCreateParameters", type: { @@ -102,6 +178,31 @@ export const BatchAccountCreateParameters: msRest.CompositeMapper = { name: "Composite", className: "KeyVaultReference" } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + defaultValue: 'Enabled', + type: { + name: "Enum", + allowedValues: [ + "Enabled", + "Disabled" + ] + } + }, + encryption: { + serializedName: "properties.encryption", + type: { + name: "Composite", + className: "EncryptionProperties" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "BatchAccountIdentity" + } } } } @@ -125,6 +226,161 @@ export const AutoStorageProperties: msRest.CompositeMapper = { } }; +export const VirtualMachineFamilyCoreQuota: msRest.CompositeMapper = { + serializedName: "VirtualMachineFamilyCoreQuota", + type: { + name: "Composite", + className: "VirtualMachineFamilyCoreQuota", + modelProperties: { + name: { + nullable: false, + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + coreQuota: { + nullable: false, + readOnly: true, + serializedName: "coreQuota", + type: { + name: "Number" + } + } + } + } +}; + +export const PrivateEndpoint: msRest.CompositeMapper = { + serializedName: "PrivateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpoint", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkServiceConnectionState: msRest.CompositeMapper = { + serializedName: "PrivateLinkServiceConnectionState", + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState", + modelProperties: { + status: { + required: true, + serializedName: "status", + type: { + name: "Enum", + allowedValues: [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ] + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + actionRequired: { + readOnly: true, + serializedName: "actionRequired", + type: { + name: "String" + } + } + } + } +}; + +export const ProxyResource: msRest.CompositeMapper = { + serializedName: "ProxyResource", + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnection: msRest.CompositeMapper = { + serializedName: "PrivateEndpointConnection", + type: { + name: "Composite", + className: "PrivateEndpointConnection", + modelProperties: { + ...ProxyResource.type.modelProperties, + provisioningState: { + nullable: false, + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "Enum", + allowedValues: [ + "Succeeded", + "Updating", + "Failed" + ] + } + }, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpoint" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState" + } + } + } + } +}; + export const Resource: msRest.CompositeMapper = { serializedName: "Resource", type: { @@ -224,6 +480,32 @@ export const BatchAccount: msRest.CompositeMapper = { className: "KeyVaultReference" } }, + publicNetworkAccess: { + readOnly: true, + serializedName: "properties.publicNetworkAccess", + defaultValue: 'Enabled', + type: { + name: "Enum", + allowedValues: [ + "Enabled", + "Disabled" + ] + } + }, + privateEndpointConnections: { + nullable: true, + readOnly: true, + serializedName: "properties.privateEndpointConnections", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + }, autoStorage: { readOnly: true, serializedName: "properties.autoStorage", @@ -232,8 +514,16 @@ export const BatchAccount: msRest.CompositeMapper = { className: "AutoStorageProperties" } }, + encryption: { + readOnly: true, + serializedName: "properties.encryption", + type: { + name: "Composite", + className: "EncryptionProperties" + } + }, dedicatedCoreQuota: { - nullable: false, + nullable: true, readOnly: true, serializedName: "properties.dedicatedCoreQuota", type: { @@ -241,13 +531,35 @@ export const BatchAccount: msRest.CompositeMapper = { } }, lowPriorityCoreQuota: { - nullable: false, + nullable: true, readOnly: true, serializedName: "properties.lowPriorityCoreQuota", type: { name: "Number" } }, + dedicatedCoreQuotaPerVMFamily: { + nullable: true, + readOnly: true, + serializedName: "properties.dedicatedCoreQuotaPerVMFamily", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineFamilyCoreQuota" + } + } + } + }, + dedicatedCoreQuotaPerVMFamilyEnforced: { + nullable: false, + readOnly: true, + serializedName: "properties.dedicatedCoreQuotaPerVMFamilyEnforced", + type: { + name: "Boolean" + } + }, poolQuota: { nullable: false, readOnly: true, @@ -263,6 +575,13 @@ export const BatchAccount: msRest.CompositeMapper = { type: { name: "Number" } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "BatchAccountIdentity" + } } } } @@ -291,6 +610,20 @@ export const BatchAccountUpdateParameters: msRest.CompositeMapper = { name: "Composite", className: "AutoStorageBaseProperties" } + }, + encryption: { + serializedName: "properties.encryption", + type: { + name: "Composite", + className: "EncryptionProperties" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "BatchAccountIdentity" + } } } } @@ -365,20 +698,27 @@ export const ActivateApplicationPackageParameters: msRest.CompositeMapper = { } }; -export const ApplicationCreateParameters: msRest.CompositeMapper = { - serializedName: "ApplicationCreateParameters", +export const Application: msRest.CompositeMapper = { + serializedName: "Application", type: { name: "Composite", - className: "ApplicationCreateParameters", + className: "Application", modelProperties: { + ...ProxyResource.type.modelProperties, + displayName: { + serializedName: "properties.displayName", + type: { + name: "String" + } + }, allowUpdates: { - serializedName: "allowUpdates", + serializedName: "properties.allowUpdates", type: { name: "Boolean" } }, - displayName: { - serializedName: "displayName", + defaultVersion: { + serializedName: "properties.defaultVersion", type: { name: "String" } @@ -393,187 +733,61 @@ export const ApplicationPackage: msRest.CompositeMapper = { name: "Composite", className: "ApplicationPackage", modelProperties: { - id: { - readOnly: true, - serializedName: "id", - type: { - name: "String" - } - }, - version: { - readOnly: true, - serializedName: "version", - type: { - name: "String" - } - }, + ...ProxyResource.type.modelProperties, state: { readOnly: true, - serializedName: "state", + serializedName: "properties.state", type: { name: "Enum", allowedValues: [ "Pending", - "Active", - "Unmapped" + "Active" ] } }, format: { readOnly: true, - serializedName: "format", + serializedName: "properties.format", type: { name: "String" } }, storageUrl: { readOnly: true, - serializedName: "storageUrl", + serializedName: "properties.storageUrl", type: { name: "String" } }, storageUrlExpiry: { readOnly: true, - serializedName: "storageUrlExpiry", - type: { - name: "DateTime" - } - }, - lastActivationTime: { - readOnly: true, - serializedName: "lastActivationTime", + serializedName: "properties.storageUrlExpiry", type: { name: "DateTime" } - } - } - } -}; - -export const Application: msRest.CompositeMapper = { - serializedName: "Application", - type: { - name: "Composite", - className: "Application", - modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - displayName: { - serializedName: "displayName", - type: { - name: "String" - } - }, - packages: { - serializedName: "packages", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ApplicationPackage" - } - } - } - }, - allowUpdates: { - serializedName: "allowUpdates", - type: { - name: "Boolean" - } - }, - defaultVersion: { - serializedName: "defaultVersion", - type: { - name: "String" - } - } - } - } -}; - -export const ApplicationUpdateParameters: msRest.CompositeMapper = { - serializedName: "ApplicationUpdateParameters", - type: { - name: "Composite", - className: "ApplicationUpdateParameters", - modelProperties: { - allowUpdates: { - serializedName: "allowUpdates", - type: { - name: "Boolean" - } - }, - defaultVersion: { - serializedName: "defaultVersion", - type: { - name: "String" - } - }, - displayName: { - serializedName: "displayName", - type: { - name: "String" - } - } - } - } -}; - -export const BatchLocationQuota: msRest.CompositeMapper = { - serializedName: "BatchLocationQuota", - type: { - name: "Composite", - className: "BatchLocationQuota", - modelProperties: { - accountQuota: { - readOnly: true, - serializedName: "accountQuota", - type: { - name: "Number" - } - } - } - } -}; - -export const ProxyResource: msRest.CompositeMapper = { - serializedName: "ProxyResource", - type: { - name: "Composite", - className: "ProxyResource", - modelProperties: { - id: { - readOnly: true, - serializedName: "id", - type: { - name: "String" - } - }, - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" - } }, - type: { + lastActivationTime: { readOnly: true, - serializedName: "type", + serializedName: "properties.lastActivationTime", type: { - name: "String" + name: "DateTime" } - }, - etag: { + } + } + } +}; + +export const BatchLocationQuota: msRest.CompositeMapper = { + serializedName: "BatchLocationQuota", + type: { + name: "Composite", + className: "BatchLocationQuota", + modelProperties: { + accountQuota: { readOnly: true, - serializedName: "etag", + serializedName: "accountQuota", type: { - name: "String" + name: "Number" } } } @@ -791,6 +1005,48 @@ export const CertificateCreateOrUpdateParameters: msRest.CompositeMapper = { } }; +export const PrivateLinkResource: msRest.CompositeMapper = { + serializedName: "PrivateLinkResource", + type: { + name: "Composite", + className: "PrivateLinkResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + groupId: { + readOnly: true, + serializedName: "properties.groupId", + type: { + name: "String" + } + }, + requiredMembers: { + readOnly: true, + serializedName: "properties.requiredMembers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + requiredZoneNames: { + readOnly: true, + serializedName: "properties.requiredZoneNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const CloudServiceConfiguration: msRest.CompositeMapper = { serializedName: "CloudServiceConfiguration", type: { @@ -804,14 +1060,8 @@ export const CloudServiceConfiguration: msRest.CompositeMapper = { name: "String" } }, - targetOSVersion: { - serializedName: "targetOSVersion", - type: { - name: "String" - } - }, - currentOSVersion: { - serializedName: "currentOSVersion", + osVersion: { + serializedName: "osVersion", type: { name: "String" } @@ -860,27 +1110,6 @@ export const ImageReference: msRest.CompositeMapper = { } }; -export const OSDisk: msRest.CompositeMapper = { - serializedName: "OSDisk", - type: { - name: "Composite", - className: "OSDisk", - modelProperties: { - caching: { - serializedName: "caching", - type: { - name: "Enum", - allowedValues: [ - "None", - "ReadOnly", - "ReadWrite" - ] - } - } - } - } -}; - export const WindowsConfiguration: msRest.CompositeMapper = { serializedName: "WindowsConfiguration", type: { @@ -942,6 +1171,103 @@ export const DataDisk: msRest.CompositeMapper = { } }; +export const ContainerRegistry: msRest.CompositeMapper = { + serializedName: "ContainerRegistry", + type: { + name: "Composite", + className: "ContainerRegistry", + modelProperties: { + registryServer: { + serializedName: "registryServer", + type: { + name: "String" + } + }, + userName: { + required: true, + serializedName: "username", + type: { + name: "String" + } + }, + password: { + required: true, + serializedName: "password", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerConfiguration: msRest.CompositeMapper = { + serializedName: "ContainerConfiguration", + type: { + name: "Composite", + className: "ContainerConfiguration", + modelProperties: { + type: { + required: true, + isConstant: true, + serializedName: "type", + defaultValue: 'DockerCompatible', + type: { + name: "String" + } + }, + containerImageNames: { + serializedName: "containerImageNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + containerRegistries: { + serializedName: "containerRegistries", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContainerRegistry" + } + } + } + } + } + } +}; + +export const DiskEncryptionConfiguration: msRest.CompositeMapper = { + serializedName: "DiskEncryptionConfiguration", + type: { + name: "Composite", + className: "DiskEncryptionConfiguration", + modelProperties: { + targets: { + serializedName: "targets", + type: { + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: [ + "OsDisk", + "TemporaryDisk" + ] + } + } + } + } + } + } +}; + export const VirtualMachineConfiguration: msRest.CompositeMapper = { serializedName: "VirtualMachineConfiguration", type: { @@ -956,13 +1282,6 @@ export const VirtualMachineConfiguration: msRest.CompositeMapper = { className: "ImageReference" } }, - osDisk: { - serializedName: "osDisk", - type: { - name: "Composite", - className: "OSDisk" - } - }, nodeAgentSkuId: { required: true, serializedName: "nodeAgentSkuId", @@ -994,6 +1313,20 @@ export const VirtualMachineConfiguration: msRest.CompositeMapper = { type: { name: "String" } + }, + containerConfiguration: { + serializedName: "containerConfiguration", + type: { + name: "Composite", + className: "ContainerConfiguration" + } + }, + diskEncryptionConfiguration: { + serializedName: "diskEncryptionConfiguration", + type: { + name: "Composite", + className: "DiskEncryptionConfiguration" + } } } } @@ -1206,6 +1539,17 @@ export const NetworkSecurityGroupRule: msRest.CompositeMapper = { type: { name: "String" } + }, + sourcePortRanges: { + serializedName: "sourcePortRanges", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } } } } @@ -1295,6 +1639,38 @@ export const PoolEndpointConfiguration: msRest.CompositeMapper = { } }; +export const PublicIPAddressConfiguration: msRest.CompositeMapper = { + serializedName: "PublicIPAddressConfiguration", + type: { + name: "Composite", + className: "PublicIPAddressConfiguration", + modelProperties: { + provision: { + serializedName: "provision", + type: { + name: "Enum", + allowedValues: [ + "BatchManaged", + "UserManaged", + "NoPublicIPAddresses" + ] + } + }, + ipAddressIds: { + serializedName: "ipAddressIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const NetworkConfiguration: msRest.CompositeMapper = { serializedName: "NetworkConfiguration", type: { @@ -1313,6 +1689,13 @@ export const NetworkConfiguration: msRest.CompositeMapper = { name: "Composite", className: "PoolEndpointConfiguration" } + }, + publicIPAddressConfiguration: { + serializedName: "publicIPAddressConfiguration", + type: { + name: "Composite", + className: "PublicIPAddressConfiguration" + } } } } @@ -1367,6 +1750,26 @@ export const LinuxUserConfiguration: msRest.CompositeMapper = { } }; +export const WindowsUserConfiguration: msRest.CompositeMapper = { + serializedName: "WindowsUserConfiguration", + type: { + name: "Composite", + className: "WindowsUserConfiguration", + modelProperties: { + loginMode: { + serializedName: "loginMode", + type: { + name: "Enum", + allowedValues: [ + "Batch", + "Interactive" + ] + } + } + } + } +}; + export const UserAccount: msRest.CompositeMapper = { serializedName: "UserAccount", type: { @@ -1403,6 +1806,13 @@ export const UserAccount: msRest.CompositeMapper = { name: "Composite", className: "LinuxUserConfiguration" } + }, + windowsUserConfiguration: { + serializedName: "windowsUserConfiguration", + type: { + name: "Composite", + className: "WindowsUserConfiguration" + } } } } @@ -1438,15 +1848,31 @@ export const ResourceFile: msRest.CompositeMapper = { name: "Composite", className: "ResourceFile", modelProperties: { - blobSource: { - required: true, - serializedName: "blobSource", + autoStorageContainerName: { + serializedName: "autoStorageContainerName", + type: { + name: "String" + } + }, + storageContainerUrl: { + serializedName: "storageContainerUrl", + type: { + name: "String" + } + }, + httpUrl: { + serializedName: "httpUrl", + type: { + name: "String" + } + }, + blobPrefix: { + serializedName: "blobPrefix", type: { name: "String" } }, filePath: { - required: true, serializedName: "filePath", type: { name: "String" @@ -1530,8 +1956,48 @@ export const UserIdentity: msRest.CompositeMapper = { autoUser: { serializedName: "autoUser", type: { - name: "Composite", - className: "AutoUserSpecification" + name: "Composite", + className: "AutoUserSpecification" + } + } + } + } +}; + +export const TaskContainerSettings: msRest.CompositeMapper = { + serializedName: "TaskContainerSettings", + type: { + name: "Composite", + className: "TaskContainerSettings", + modelProperties: { + containerRunOptions: { + serializedName: "containerRunOptions", + type: { + name: "String" + } + }, + imageName: { + required: true, + serializedName: "imageName", + type: { + name: "String" + } + }, + registry: { + serializedName: "registry", + type: { + name: "Composite", + className: "ContainerRegistry" + } + }, + workingDirectory: { + serializedName: "workingDirectory", + type: { + name: "Enum", + allowedValues: [ + "TaskWorkingDirectory", + "ContainerImageDefault" + ] } } } @@ -1592,6 +2058,13 @@ export const StartTask: msRest.CompositeMapper = { type: { name: "Boolean" } + }, + containerSettings: { + serializedName: "containerSettings", + type: { + name: "Composite", + className: "TaskContainerSettings" + } } } } @@ -1763,6 +2236,211 @@ export const ResizeOperationStatus: msRest.CompositeMapper = { } }; +export const AzureBlobFileSystemConfiguration: msRest.CompositeMapper = { + serializedName: "AzureBlobFileSystemConfiguration", + type: { + name: "Composite", + className: "AzureBlobFileSystemConfiguration", + modelProperties: { + accountName: { + required: true, + serializedName: "accountName", + type: { + name: "String" + } + }, + containerName: { + required: true, + serializedName: "containerName", + type: { + name: "String" + } + }, + accountKey: { + serializedName: "accountKey", + type: { + name: "String" + } + }, + sasKey: { + serializedName: "sasKey", + type: { + name: "String" + } + }, + blobfuseOptions: { + serializedName: "blobfuseOptions", + type: { + name: "String" + } + }, + relativeMountPath: { + required: true, + serializedName: "relativeMountPath", + type: { + name: "String" + } + } + } + } +}; + +export const NFSMountConfiguration: msRest.CompositeMapper = { + serializedName: "NFSMountConfiguration", + type: { + name: "Composite", + className: "NFSMountConfiguration", + modelProperties: { + source: { + required: true, + serializedName: "source", + type: { + name: "String" + } + }, + relativeMountPath: { + required: true, + serializedName: "relativeMountPath", + type: { + name: "String" + } + }, + mountOptions: { + serializedName: "mountOptions", + type: { + name: "String" + } + } + } + } +}; + +export const CIFSMountConfiguration: msRest.CompositeMapper = { + serializedName: "CIFSMountConfiguration", + type: { + name: "Composite", + className: "CIFSMountConfiguration", + modelProperties: { + username: { + required: true, + serializedName: "username", + type: { + name: "String" + } + }, + source: { + required: true, + serializedName: "source", + type: { + name: "String" + } + }, + relativeMountPath: { + required: true, + serializedName: "relativeMountPath", + type: { + name: "String" + } + }, + mountOptions: { + serializedName: "mountOptions", + type: { + name: "String" + } + }, + password: { + required: true, + serializedName: "password", + type: { + name: "String" + } + } + } + } +}; + +export const AzureFileShareConfiguration: msRest.CompositeMapper = { + serializedName: "AzureFileShareConfiguration", + type: { + name: "Composite", + className: "AzureFileShareConfiguration", + modelProperties: { + accountName: { + required: true, + serializedName: "accountName", + type: { + name: "String" + } + }, + azureFileUrl: { + required: true, + serializedName: "azureFileUrl", + type: { + name: "String" + } + }, + accountKey: { + required: true, + serializedName: "accountKey", + type: { + name: "String" + } + }, + relativeMountPath: { + required: true, + serializedName: "relativeMountPath", + type: { + name: "String" + } + }, + mountOptions: { + serializedName: "mountOptions", + type: { + name: "String" + } + } + } + } +}; + +export const MountConfiguration: msRest.CompositeMapper = { + serializedName: "MountConfiguration", + type: { + name: "Composite", + className: "MountConfiguration", + modelProperties: { + azureBlobFileSystemConfiguration: { + serializedName: "azureBlobFileSystemConfiguration", + type: { + name: "Composite", + className: "AzureBlobFileSystemConfiguration" + } + }, + nfsMountConfiguration: { + serializedName: "nfsMountConfiguration", + type: { + name: "Composite", + className: "NFSMountConfiguration" + } + }, + cifsMountConfiguration: { + serializedName: "cifsMountConfiguration", + type: { + name: "Composite", + className: "CIFSMountConfiguration" + } + }, + azureFileShareConfiguration: { + serializedName: "azureFileShareConfiguration", + type: { + name: "Composite", + className: "AzureFileShareConfiguration" + } + } + } + } +}; + export const Pool: msRest.CompositeMapper = { serializedName: "Pool", type: { @@ -1886,8 +2564,8 @@ export const Pool: msRest.CompositeMapper = { className: "NetworkConfiguration" } }, - maxTasksPerNode: { - serializedName: "properties.maxTasksPerNode", + taskSlotsPerNode: { + serializedName: "properties.taskSlotsPerNode", type: { name: "Number" } @@ -1972,6 +2650,18 @@ export const Pool: msRest.CompositeMapper = { name: "Composite", className: "ResizeOperationStatus" } + }, + mountConfiguration: { + serializedName: "properties.mountConfiguration", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MountConfiguration" + } + } + } } } } @@ -2237,6 +2927,28 @@ export const CertificateCancelDeletionHeaders: msRest.CompositeMapper = { } }; +export const PrivateEndpointConnectionUpdateHeaders: msRest.CompositeMapper = { + serializedName: "privateendpointconnection-update-headers", + type: { + name: "Composite", + className: "PrivateEndpointConnectionUpdateHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + }, + retryAfter: { + serializedName: "retry-after", + type: { + name: "Number" + } + } + } + } +}; + export const PoolCreateHeaders: msRest.CompositeMapper = { serializedName: "pool-create-headers", type: { @@ -2367,6 +3079,34 @@ export const BatchAccountListResult: msRest.CompositeMapper = { } }; +export const ListApplicationPackagesResult: msRest.CompositeMapper = { + serializedName: "ListApplicationPackagesResult", + type: { + name: "Composite", + className: "ListApplicationPackagesResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationPackage" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + export const ListApplicationsResult: msRest.CompositeMapper = { serializedName: "ListApplicationsResult", type: { @@ -2451,6 +3191,62 @@ export const ListCertificatesResult: msRest.CompositeMapper = { } }; +export const ListPrivateLinkResourcesResult: msRest.CompositeMapper = { + serializedName: "ListPrivateLinkResourcesResult", + type: { + name: "Composite", + className: "ListPrivateLinkResourcesResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ListPrivateEndpointConnectionsResult: msRest.CompositeMapper = { + serializedName: "ListPrivateEndpointConnectionsResult", + type: { + name: "Composite", + className: "ListPrivateEndpointConnectionsResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + export const ListPoolsResult: msRest.CompositeMapper = { serializedName: "ListPoolsResult", type: { diff --git a/sdk/batch/arm-batch/src/models/operationsMappers.ts b/sdk/batch/arm-batch/src/models/operationsMappers.ts index 2edcc577920e..689688180be7 100644 --- a/sdk/batch/arm-batch/src/models/operationsMappers.ts +++ b/sdk/batch/arm-batch/src/models/operationsMappers.ts @@ -1,17 +1,14 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - OperationListResult, + CloudError, Operation, OperationDisplay, - CloudError + OperationListResult } from "../models/mappers"; - diff --git a/sdk/batch/arm-batch/src/models/parameters.ts b/sdk/batch/arm-batch/src/models/parameters.ts index 6c72e7bf6552..519b835471af 100644 --- a/sdk/batch/arm-batch/src/models/parameters.ts +++ b/sdk/batch/arm-batch/src/models/parameters.ts @@ -20,7 +20,7 @@ export const acceptLanguage: msRest.OperationParameter = { } } }; -export const accountName: msRest.OperationURLParameter = { +export const accountName0: msRest.OperationURLParameter = { parameterPath: "accountName", mapper: { required: true, @@ -28,7 +28,22 @@ export const accountName: msRest.OperationURLParameter = { constraints: { MaxLength: 24, MinLength: 3, - Pattern: /^[-\w\._]+$/ + Pattern: /^[a-z0-9]+$/ + }, + type: { + name: "String" + } + } +}; +export const accountName1: msRest.OperationURLParameter = { + parameterPath: "accountName", + mapper: { + required: true, + serializedName: "accountName", + constraints: { + MaxLength: 24, + MinLength: 3, + Pattern: /^[a-zA-Z0-9]+$/ }, type: { name: "String" @@ -45,11 +60,16 @@ export const apiVersion: msRest.OperationQueryParameter = { } } }; -export const applicationId: msRest.OperationURLParameter = { - parameterPath: "applicationId", +export const applicationName: msRest.OperationURLParameter = { + parameterPath: "applicationName", mapper: { required: true, - serializedName: "applicationId", + serializedName: "applicationName", + constraints: { + MaxLength: 64, + MinLength: 1, + Pattern: /^[a-zA-Z0-9_-]+$/ + }, type: { name: "String" } @@ -154,6 +174,36 @@ export const poolName: msRest.OperationURLParameter = { } } }; +export const privateEndpointConnectionName: msRest.OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", + mapper: { + required: true, + serializedName: "privateEndpointConnectionName", + constraints: { + MaxLength: 101, + MinLength: 1, + Pattern: /^[a-zA-Z0-9_-]+\.?[a-fA-F0-9-]*$/ + }, + type: { + name: "String" + } + } +}; +export const privateLinkResourceName: msRest.OperationURLParameter = { + parameterPath: "privateLinkResourceName", + mapper: { + required: true, + serializedName: "privateLinkResourceName", + constraints: { + MaxLength: 101, + MinLength: 1, + Pattern: /^[a-zA-Z0-9_-]+\.?[a-fA-F0-9-]*$/ + }, + type: { + name: "String" + } + } +}; export const resourceGroupName: msRest.OperationURLParameter = { parameterPath: "resourceGroupName", mapper: { @@ -186,11 +236,16 @@ export const subscriptionId: msRest.OperationURLParameter = { } } }; -export const version: msRest.OperationURLParameter = { - parameterPath: "version", +export const versionName: msRest.OperationURLParameter = { + parameterPath: "versionName", mapper: { required: true, - serializedName: "version", + serializedName: "versionName", + constraints: { + MaxLength: 64, + MinLength: 1, + Pattern: /^[a-zA-Z0-9_-][a-zA-Z0-9_.-]*$/ + }, type: { name: "String" } diff --git a/sdk/batch/arm-batch/src/models/poolOperationsMappers.ts b/sdk/batch/arm-batch/src/models/poolOperationsMappers.ts index 08c626ddd96d..ea9ca581dd23 100644 --- a/sdk/batch/arm-batch/src/models/poolOperationsMappers.ts +++ b/sdk/batch/arm-batch/src/models/poolOperationsMappers.ts @@ -1,61 +1,78 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - ListPoolsResult, - Pool, - ProxyResource, + Application, + ApplicationPackage, + ApplicationPackageReference, + AutoScaleRun, + AutoScaleRunError, + AutoScaleSettings, + AutoStorageBaseProperties, + AutoStorageProperties, + AutoUserSpecification, + AzureBlobFileSystemConfiguration, + AzureFileShareConfiguration, BaseResource, - DeploymentConfiguration, + BatchAccount, + BatchAccountIdentity, + Certificate, + CertificateCreateOrUpdateParameters, + CertificateReference, + CIFSMountConfiguration, + CloudError, CloudServiceConfiguration, - VirtualMachineConfiguration, - ImageReference, - OSDisk, - WindowsConfiguration, + ContainerConfiguration, + ContainerRegistry, DataDisk, - ScaleSettings, + DeleteCertificateError, + DeploymentConfiguration, + DiskEncryptionConfiguration, + EncryptionProperties, + EnvironmentSetting, FixedScaleSettings, - AutoScaleSettings, - AutoScaleRun, - AutoScaleRunError, - NetworkConfiguration, - PoolEndpointConfiguration, + ImageReference, InboundNatPool, - NetworkSecurityGroupRule, - TaskSchedulingPolicy, - UserAccount, + KeyVaultProperties, + KeyVaultReference, LinuxUserConfiguration, + ListPoolsResult, MetadataItem, - StartTask, - ResourceFile, - EnvironmentSetting, - UserIdentity, - AutoUserSpecification, - CertificateReference, - ApplicationPackageReference, - ResizeOperationStatus, - ResizeError, - CloudError, + MountConfiguration, + NetworkConfiguration, + NetworkSecurityGroupRule, + NFSMountConfiguration, + Pool, PoolCreateHeaders, - PoolUpdateHeaders, PoolDeleteHeaders, - PoolGetHeaders, PoolDisableAutoScaleHeaders, + PoolEndpointConfiguration, + PoolGetHeaders, PoolStopResizeHeaders, + PoolUpdateHeaders, + PrivateEndpoint, + PrivateEndpointConnection, + PrivateLinkResource, + PrivateLinkServiceConnectionState, + ProxyResource, + PublicIPAddressConfiguration, + ResizeError, + ResizeOperationStatus, Resource, - Certificate, - DeleteCertificateError, - CertificateCreateOrUpdateParameters, - BatchAccount, - KeyVaultReference, - AutoStorageProperties, - AutoStorageBaseProperties + ResourceFile, + ScaleSettings, + StartTask, + TaskContainerSettings, + TaskSchedulingPolicy, + UserAccount, + UserIdentity, + VirtualMachineConfiguration, + VirtualMachineFamilyCoreQuota, + WindowsConfiguration, + WindowsUserConfiguration } from "../models/mappers"; - diff --git a/sdk/batch/arm-batch/src/models/privateEndpointConnectionOperationsMappers.ts b/sdk/batch/arm-batch/src/models/privateEndpointConnectionOperationsMappers.ts new file mode 100644 index 000000000000..a5159c1d441e --- /dev/null +++ b/sdk/batch/arm-batch/src/models/privateEndpointConnectionOperationsMappers.ts @@ -0,0 +1,73 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + Application, + ApplicationPackage, + ApplicationPackageReference, + AutoScaleRun, + AutoScaleRunError, + AutoScaleSettings, + AutoStorageBaseProperties, + AutoStorageProperties, + AutoUserSpecification, + AzureBlobFileSystemConfiguration, + AzureFileShareConfiguration, + BaseResource, + BatchAccount, + BatchAccountIdentity, + Certificate, + CertificateCreateOrUpdateParameters, + CertificateReference, + CIFSMountConfiguration, + CloudError, + CloudServiceConfiguration, + ContainerConfiguration, + ContainerRegistry, + DataDisk, + DeleteCertificateError, + DeploymentConfiguration, + DiskEncryptionConfiguration, + EncryptionProperties, + EnvironmentSetting, + FixedScaleSettings, + ImageReference, + InboundNatPool, + KeyVaultProperties, + KeyVaultReference, + LinuxUserConfiguration, + ListPrivateEndpointConnectionsResult, + MetadataItem, + MountConfiguration, + NetworkConfiguration, + NetworkSecurityGroupRule, + NFSMountConfiguration, + Pool, + PoolEndpointConfiguration, + PrivateEndpoint, + PrivateEndpointConnection, + PrivateEndpointConnectionUpdateHeaders, + PrivateLinkResource, + PrivateLinkServiceConnectionState, + ProxyResource, + PublicIPAddressConfiguration, + ResizeError, + ResizeOperationStatus, + Resource, + ResourceFile, + ScaleSettings, + StartTask, + TaskContainerSettings, + TaskSchedulingPolicy, + UserAccount, + UserIdentity, + VirtualMachineConfiguration, + VirtualMachineFamilyCoreQuota, + WindowsConfiguration, + WindowsUserConfiguration +} from "../models/mappers"; diff --git a/sdk/batch/arm-batch/src/models/privateLinkResourceOperationsMappers.ts b/sdk/batch/arm-batch/src/models/privateLinkResourceOperationsMappers.ts new file mode 100644 index 000000000000..69b3e26378ec --- /dev/null +++ b/sdk/batch/arm-batch/src/models/privateLinkResourceOperationsMappers.ts @@ -0,0 +1,72 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + Application, + ApplicationPackage, + ApplicationPackageReference, + AutoScaleRun, + AutoScaleRunError, + AutoScaleSettings, + AutoStorageBaseProperties, + AutoStorageProperties, + AutoUserSpecification, + AzureBlobFileSystemConfiguration, + AzureFileShareConfiguration, + BaseResource, + BatchAccount, + BatchAccountIdentity, + Certificate, + CertificateCreateOrUpdateParameters, + CertificateReference, + CIFSMountConfiguration, + CloudError, + CloudServiceConfiguration, + ContainerConfiguration, + ContainerRegistry, + DataDisk, + DeleteCertificateError, + DeploymentConfiguration, + DiskEncryptionConfiguration, + EncryptionProperties, + EnvironmentSetting, + FixedScaleSettings, + ImageReference, + InboundNatPool, + KeyVaultProperties, + KeyVaultReference, + LinuxUserConfiguration, + ListPrivateLinkResourcesResult, + MetadataItem, + MountConfiguration, + NetworkConfiguration, + NetworkSecurityGroupRule, + NFSMountConfiguration, + Pool, + PoolEndpointConfiguration, + PrivateEndpoint, + PrivateEndpointConnection, + PrivateLinkResource, + PrivateLinkServiceConnectionState, + ProxyResource, + PublicIPAddressConfiguration, + ResizeError, + ResizeOperationStatus, + Resource, + ResourceFile, + ScaleSettings, + StartTask, + TaskContainerSettings, + TaskSchedulingPolicy, + UserAccount, + UserIdentity, + VirtualMachineConfiguration, + VirtualMachineFamilyCoreQuota, + WindowsConfiguration, + WindowsUserConfiguration +} from "../models/mappers"; diff --git a/sdk/batch/arm-batch/src/operations/applicationOperations.ts b/sdk/batch/arm-batch/src/operations/applicationOperations.ts index 9a9a538c61a9..c96802c24e7e 100644 --- a/sdk/batch/arm-batch/src/operations/applicationOperations.ts +++ b/sdk/batch/arm-batch/src/operations/applicationOperations.ts @@ -30,32 +30,32 @@ export class ApplicationOperations { * Adds an application to the specified Batch account. * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param [options] The optional parameters * @returns Promise */ - create(resourceGroupName: string, accountName: string, applicationId: string, options?: Models.ApplicationCreateOptionalParams): Promise; + create(resourceGroupName: string, accountName: string, applicationName: string, options?: Models.ApplicationCreateOptionalParams): Promise; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param callback The callback */ - create(resourceGroupName: string, accountName: string, applicationId: string, callback: msRest.ServiceCallback): void; + create(resourceGroupName: string, accountName: string, applicationName: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param options The optional parameters * @param callback The callback */ - create(resourceGroupName: string, accountName: string, applicationId: string, options: Models.ApplicationCreateOptionalParams, callback: msRest.ServiceCallback): void; - create(resourceGroupName: string, accountName: string, applicationId: string, options?: Models.ApplicationCreateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + create(resourceGroupName: string, accountName: string, applicationName: string, options: Models.ApplicationCreateOptionalParams, callback: msRest.ServiceCallback): void; + create(resourceGroupName: string, accountName: string, applicationName: string, options?: Models.ApplicationCreateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, accountName, - applicationId, + applicationName, options }, createOperationSpec, @@ -66,32 +66,32 @@ export class ApplicationOperations { * Deletes an application. * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param [options] The optional parameters * @returns Promise */ - deleteMethod(resourceGroupName: string, accountName: string, applicationId: string, options?: msRest.RequestOptionsBase): Promise; + deleteMethod(resourceGroupName: string, accountName: string, applicationName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param callback The callback */ - deleteMethod(resourceGroupName: string, accountName: string, applicationId: string, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, applicationName: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param options The optional parameters * @param callback The callback */ - deleteMethod(resourceGroupName: string, accountName: string, applicationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, accountName: string, applicationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + deleteMethod(resourceGroupName: string, accountName: string, applicationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, applicationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, accountName, - applicationId, + applicationName, options }, deleteMethodOperationSpec, @@ -102,32 +102,32 @@ export class ApplicationOperations { * Gets information about the specified application. * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param [options] The optional parameters * @returns Promise */ - get(resourceGroupName: string, accountName: string, applicationId: string, options?: msRest.RequestOptionsBase): Promise; + get(resourceGroupName: string, accountName: string, applicationName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param callback The callback */ - get(resourceGroupName: string, accountName: string, applicationId: string, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, applicationName: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param options The optional parameters * @param callback The callback */ - get(resourceGroupName: string, accountName: string, applicationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, accountName: string, applicationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get(resourceGroupName: string, accountName: string, applicationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, applicationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, accountName, - applicationId, + applicationName, options }, getOperationSpec, @@ -138,40 +138,40 @@ export class ApplicationOperations { * Updates settings for the specified application. * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param parameters The parameters for the request. * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - update(resourceGroupName: string, accountName: string, applicationId: string, parameters: Models.ApplicationUpdateParameters, options?: msRest.RequestOptionsBase): Promise; + update(resourceGroupName: string, accountName: string, applicationName: string, parameters: Models.Application, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param parameters The parameters for the request. * @param callback The callback */ - update(resourceGroupName: string, accountName: string, applicationId: string, parameters: Models.ApplicationUpdateParameters, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, accountName: string, applicationName: string, parameters: Models.Application, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. + * @param applicationName The name of the application. This must be unique within the account. * @param parameters The parameters for the request. * @param options The optional parameters * @param callback The callback */ - update(resourceGroupName: string, accountName: string, applicationId: string, parameters: Models.ApplicationUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - update(resourceGroupName: string, accountName: string, applicationId: string, parameters: Models.ApplicationUpdateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + update(resourceGroupName: string, accountName: string, applicationName: string, parameters: Models.Application, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, accountName: string, applicationName: string, parameters: Models.Application, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, accountName, - applicationId, + applicationName, parameters, options }, updateOperationSpec, - callback); + callback) as Promise; } /** @@ -239,11 +239,11 @@ export class ApplicationOperations { const serializer = new msRest.Serializer(Mappers); const createOperationSpec: msRest.OperationSpec = { httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, - Parameters.applicationId, + Parameters.accountName1, + Parameters.applicationName, Parameters.subscriptionId ], queryParameters: [ @@ -257,10 +257,10 @@ const createOperationSpec: msRest.OperationSpec = { "options", "parameters" ], - mapper: Mappers.ApplicationCreateParameters + mapper: Mappers.Application }, responses: { - 201: { + 200: { bodyMapper: Mappers.Application }, default: { @@ -272,11 +272,11 @@ const createOperationSpec: msRest.OperationSpec = { const deleteMethodOperationSpec: msRest.OperationSpec = { httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, - Parameters.applicationId, + Parameters.accountName1, + Parameters.applicationName, Parameters.subscriptionId ], queryParameters: [ @@ -286,6 +286,7 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { Parameters.acceptLanguage ], responses: { + 200: {}, 204: {}, default: { bodyMapper: Mappers.CloudError @@ -296,11 +297,11 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, - Parameters.applicationId, + Parameters.accountName1, + Parameters.applicationName, Parameters.subscriptionId ], queryParameters: [ @@ -322,11 +323,11 @@ const getOperationSpec: msRest.OperationSpec = { const updateOperationSpec: msRest.OperationSpec = { httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, - Parameters.applicationId, + Parameters.accountName1, + Parameters.applicationName, Parameters.subscriptionId ], queryParameters: [ @@ -338,12 +339,14 @@ const updateOperationSpec: msRest.OperationSpec = { requestBody: { parameterPath: "parameters", mapper: { - ...Mappers.ApplicationUpdateParameters, + ...Mappers.Application, required: true } }, responses: { - 204: {}, + 200: { + bodyMapper: Mappers.Application + }, default: { bodyMapper: Mappers.CloudError } @@ -356,7 +359,7 @@ const listOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ diff --git a/sdk/batch/arm-batch/src/operations/applicationPackageOperations.ts b/sdk/batch/arm-batch/src/operations/applicationPackageOperations.ts index 2e24b21cebcd..6ec032190c81 100644 --- a/sdk/batch/arm-batch/src/operations/applicationPackageOperations.ts +++ b/sdk/batch/arm-batch/src/operations/applicationPackageOperations.ts @@ -27,83 +27,87 @@ export class ApplicationPackageOperations { } /** - * Activates the specified application package. + * Activates the specified application package. This should be done after the `ApplicationPackage` + * was created and uploaded. This needs to be done before an `ApplicationPackage` can be used on + * Pools or Tasks. * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application to activate. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param format The format of the application package binary file. * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - activate(resourceGroupName: string, accountName: string, applicationId: string, version: string, format: string, options?: msRest.RequestOptionsBase): Promise; + activate(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, format: string, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application to activate. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param format The format of the application package binary file. * @param callback The callback */ - activate(resourceGroupName: string, accountName: string, applicationId: string, version: string, format: string, callback: msRest.ServiceCallback): void; + activate(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, format: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application to activate. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param format The format of the application package binary file. * @param options The optional parameters * @param callback The callback */ - activate(resourceGroupName: string, accountName: string, applicationId: string, version: string, format: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - activate(resourceGroupName: string, accountName: string, applicationId: string, version: string, format: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + activate(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, format: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + activate(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, format: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, accountName, - applicationId, - version, + applicationName, + versionName, format, options }, activateOperationSpec, - callback); + callback) as Promise; } /** - * Creates an application package record. + * Creates an application package record. The record contains the SAS where the package should be + * uploaded to. Once it is uploaded the `ApplicationPackage` needs to be activated using + * `ApplicationPackageActive` before it can be used. * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param [options] The optional parameters * @returns Promise */ - create(resourceGroupName: string, accountName: string, applicationId: string, version: string, options?: msRest.RequestOptionsBase): Promise; + create(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param callback The callback */ - create(resourceGroupName: string, accountName: string, applicationId: string, version: string, callback: msRest.ServiceCallback): void; + create(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param options The optional parameters * @param callback The callback */ - create(resourceGroupName: string, accountName: string, applicationId: string, version: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - create(resourceGroupName: string, accountName: string, applicationId: string, version: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + create(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + create(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, accountName, - applicationId, - version, + applicationName, + versionName, options }, createOperationSpec, @@ -114,36 +118,36 @@ export class ApplicationPackageOperations { * Deletes an application package record and its associated binary file. * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application to delete. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param [options] The optional parameters * @returns Promise */ - deleteMethod(resourceGroupName: string, accountName: string, applicationId: string, version: string, options?: msRest.RequestOptionsBase): Promise; + deleteMethod(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application to delete. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param callback The callback */ - deleteMethod(resourceGroupName: string, accountName: string, applicationId: string, version: string, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application to delete. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param options The optional parameters * @param callback The callback */ - deleteMethod(resourceGroupName: string, accountName: string, applicationId: string, version: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, accountName: string, applicationId: string, version: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + deleteMethod(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, accountName, - applicationId, - version, + applicationName, + versionName, options }, deleteMethodOperationSpec, @@ -154,53 +158,117 @@ export class ApplicationPackageOperations { * Gets information about the specified application package. * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param [options] The optional parameters * @returns Promise */ - get(resourceGroupName: string, accountName: string, applicationId: string, version: string, options?: msRest.RequestOptionsBase): Promise; + get(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param callback The callback */ - get(resourceGroupName: string, accountName: string, applicationId: string, version: string, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group that contains the Batch account. * @param accountName The name of the Batch account. - * @param applicationId The ID of the application. - * @param version The version of the application. + * @param applicationName The name of the application. This must be unique within the account. + * @param versionName The version of the application. * @param options The optional parameters * @param callback The callback */ - get(resourceGroupName: string, accountName: string, applicationId: string, version: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, accountName: string, applicationId: string, version: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, applicationName: string, versionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, accountName, - applicationId, - version, + applicationName, + versionName, options }, getOperationSpec, callback) as Promise; } + + /** + * Lists all of the application packages in the specified application. + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param applicationName The name of the application. This must be unique within the account. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, accountName: string, applicationName: string, options?: Models.ApplicationPackageListOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param applicationName The name of the application. This must be unique within the account. + * @param callback The callback + */ + list(resourceGroupName: string, accountName: string, applicationName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param applicationName The name of the application. This must be unique within the account. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, accountName: string, applicationName: string, options: Models.ApplicationPackageListOptionalParams, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, accountName: string, applicationName: string, options?: Models.ApplicationPackageListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + applicationName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Lists all of the application packages in the specified application. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @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 { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } } // Operation Specifications const serializer = new msRest.Serializer(Mappers); const activateOperationSpec: msRest.OperationSpec = { httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}/activate", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, - Parameters.applicationId, - Parameters.version, + Parameters.accountName1, + Parameters.applicationName, + Parameters.versionName, Parameters.subscriptionId ], queryParameters: [ @@ -219,7 +287,9 @@ const activateOperationSpec: msRest.OperationSpec = { } }, responses: { - 204: {}, + 200: { + bodyMapper: Mappers.ApplicationPackage + }, default: { bodyMapper: Mappers.CloudError } @@ -229,12 +299,12 @@ const activateOperationSpec: msRest.OperationSpec = { const createOperationSpec: msRest.OperationSpec = { httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, - Parameters.applicationId, - Parameters.version, + Parameters.accountName1, + Parameters.applicationName, + Parameters.versionName, Parameters.subscriptionId ], queryParameters: [ @@ -243,8 +313,15 @@ const createOperationSpec: msRest.OperationSpec = { headerParameters: [ Parameters.acceptLanguage ], + requestBody: { + parameterPath: [ + "options", + "parameters" + ], + mapper: Mappers.ApplicationPackage + }, responses: { - 201: { + 200: { bodyMapper: Mappers.ApplicationPackage }, default: { @@ -256,12 +333,12 @@ const createOperationSpec: msRest.OperationSpec = { const deleteMethodOperationSpec: msRest.OperationSpec = { httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, - Parameters.applicationId, - Parameters.version, + Parameters.accountName1, + Parameters.applicationName, + Parameters.versionName, Parameters.subscriptionId ], queryParameters: [ @@ -271,6 +348,7 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { Parameters.acceptLanguage ], responses: { + 200: {}, 204: {}, default: { bodyMapper: Mappers.CloudError @@ -281,12 +359,12 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, - Parameters.applicationId, - Parameters.version, + Parameters.accountName1, + Parameters.applicationName, + Parameters.versionName, Parameters.subscriptionId ], queryParameters: [ @@ -305,3 +383,51 @@ const getOperationSpec: msRest.OperationSpec = { }, serializer }; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.accountName1, + Parameters.applicationName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ListApplicationPackagesResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ListApplicationPackagesResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/batch/arm-batch/src/operations/batchAccountOperations.ts b/sdk/batch/arm-batch/src/operations/batchAccountOperations.ts index ea91ec70b39e..318548de4ed5 100644 --- a/sdk/batch/arm-batch/src/operations/batchAccountOperations.ts +++ b/sdk/batch/arm-batch/src/operations/batchAccountOperations.ts @@ -392,7 +392,7 @@ const updateOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ @@ -424,7 +424,7 @@ const getOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ @@ -496,7 +496,7 @@ const synchronizeAutoStorageKeysOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ @@ -519,7 +519,7 @@ const regenerateKeyOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ @@ -553,7 +553,7 @@ const getKeysOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ @@ -578,7 +578,7 @@ const beginCreateOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName0, Parameters.subscriptionId ], queryParameters: [ @@ -603,7 +603,8 @@ const beginCreateOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.BatchAccountCreateHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.BatchAccountCreateHeaders } }, serializer @@ -614,7 +615,7 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ @@ -634,7 +635,8 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.BatchAccountDeleteHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.BatchAccountDeleteHeaders } }, serializer diff --git a/sdk/batch/arm-batch/src/operations/certificateOperations.ts b/sdk/batch/arm-batch/src/operations/certificateOperations.ts index 5b9198143766..f8517e31854e 100644 --- a/sdk/batch/arm-batch/src/operations/certificateOperations.ts +++ b/sdk/batch/arm-batch/src/operations/certificateOperations.ts @@ -308,7 +308,7 @@ const listByBatchAccountOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ @@ -336,7 +336,7 @@ const updateOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.certificateName, Parameters.subscriptionId ], @@ -360,7 +360,8 @@ const updateOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.CertificateUpdateHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.CertificateUpdateHeaders } }, serializer @@ -371,7 +372,7 @@ const getOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.certificateName, Parameters.subscriptionId ], @@ -387,7 +388,8 @@ const getOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.CertificateGetHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.CertificateGetHeaders } }, serializer @@ -398,7 +400,7 @@ const cancelDeletionOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.certificateName, Parameters.subscriptionId ], @@ -414,7 +416,8 @@ const cancelDeletionOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.CertificateCancelDeletionHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.CertificateCancelDeletionHeaders } }, serializer @@ -425,7 +428,7 @@ const beginCreateOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.certificateName, Parameters.subscriptionId ], @@ -450,7 +453,8 @@ const beginCreateOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.CertificateCreateHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.CertificateCreateHeaders } }, serializer @@ -461,7 +465,7 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.certificateName, Parameters.subscriptionId ], @@ -482,7 +486,8 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.CertificateDeleteHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.CertificateDeleteHeaders } }, serializer diff --git a/sdk/batch/arm-batch/src/operations/index.ts b/sdk/batch/arm-batch/src/operations/index.ts index 9af241e11a01..f67d0e2219db 100644 --- a/sdk/batch/arm-batch/src/operations/index.ts +++ b/sdk/batch/arm-batch/src/operations/index.ts @@ -14,4 +14,6 @@ export * from "./applicationOperations"; export * from "./location"; export * from "./operations"; export * from "./certificateOperations"; +export * from "./privateLinkResourceOperations"; +export * from "./privateEndpointConnectionOperations"; export * from "./poolOperations"; diff --git a/sdk/batch/arm-batch/src/operations/poolOperations.ts b/sdk/batch/arm-batch/src/operations/poolOperations.ts index 02c071ab662a..14511c788af0 100644 --- a/sdk/batch/arm-batch/src/operations/poolOperations.ts +++ b/sdk/batch/arm-batch/src/operations/poolOperations.ts @@ -321,7 +321,7 @@ const listByBatchAccountOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.subscriptionId ], queryParameters: [ @@ -349,7 +349,7 @@ const updateOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.poolName, Parameters.subscriptionId ], @@ -373,7 +373,8 @@ const updateOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.PoolUpdateHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.PoolUpdateHeaders } }, serializer @@ -384,7 +385,7 @@ const getOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.poolName, Parameters.subscriptionId ], @@ -400,7 +401,8 @@ const getOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.PoolGetHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.PoolGetHeaders } }, serializer @@ -411,7 +413,7 @@ const disableAutoScaleOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.poolName, Parameters.subscriptionId ], @@ -427,7 +429,8 @@ const disableAutoScaleOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.PoolDisableAutoScaleHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.PoolDisableAutoScaleHeaders } }, serializer @@ -438,7 +441,7 @@ const stopResizeOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.poolName, Parameters.subscriptionId ], @@ -454,7 +457,8 @@ const stopResizeOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.PoolStopResizeHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.PoolStopResizeHeaders } }, serializer @@ -465,7 +469,7 @@ const beginCreateOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.poolName, Parameters.subscriptionId ], @@ -490,7 +494,8 @@ const beginCreateOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.PoolCreateHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.PoolCreateHeaders } }, serializer @@ -501,7 +506,7 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", urlParameters: [ Parameters.resourceGroupName, - Parameters.accountName, + Parameters.accountName1, Parameters.poolName, Parameters.subscriptionId ], @@ -522,7 +527,8 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { headersMapper: Mappers.PoolDeleteHeaders }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.PoolDeleteHeaders } }, serializer diff --git a/sdk/batch/arm-batch/src/operations/privateEndpointConnectionOperations.ts b/sdk/batch/arm-batch/src/operations/privateEndpointConnectionOperations.ts new file mode 100644 index 000000000000..3b6040a9c642 --- /dev/null +++ b/sdk/batch/arm-batch/src/operations/privateEndpointConnectionOperations.ts @@ -0,0 +1,285 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/privateEndpointConnectionOperationsMappers"; +import * as Parameters from "../models/parameters"; +import { BatchManagementClientContext } from "../batchManagementClientContext"; + +/** Class representing a PrivateEndpointConnectionOperations. */ +export class PrivateEndpointConnectionOperations { + private readonly client: BatchManagementClientContext; + + /** + * Create a PrivateEndpointConnectionOperations. + * @param {BatchManagementClientContext} client Reference to the service client. + */ + constructor(client: BatchManagementClientContext) { + this.client = client; + } + + /** + * Lists all of the private endpoint connections in the specified account. + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param [options] The optional parameters + * @returns Promise + */ + listByBatchAccount(resourceGroupName: string, accountName: string, options?: Models.PrivateEndpointConnectionListByBatchAccountOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param callback The callback + */ + listByBatchAccount(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param options The optional parameters + * @param callback The callback + */ + listByBatchAccount(resourceGroupName: string, accountName: string, options: Models.PrivateEndpointConnectionListByBatchAccountOptionalParams, callback: msRest.ServiceCallback): void; + listByBatchAccount(resourceGroupName: string, accountName: string, options?: Models.PrivateEndpointConnectionListByBatchAccountOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + listByBatchAccountOperationSpec, + callback) as Promise; + } + + /** + * Gets information about the specified private endpoint connection. + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param privateEndpointConnectionName The private endpoint connection name. This must be unique + * within the account. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param privateEndpointConnectionName The private endpoint connection name. This must be unique + * within the account. + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param privateEndpointConnectionName The private endpoint connection name. This must be unique + * within the account. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + privateEndpointConnectionName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Updates the properties of an existing private endpoint connection. + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param privateEndpointConnectionName The private endpoint connection name. This must be unique + * within the account. + * @param parameters PrivateEndpointConnection properties that should be updated. Properties that + * are supplied will be updated, any property not supplied will be unchanged. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, parameters: Models.PrivateEndpointConnection, options?: Models.PrivateEndpointConnectionUpdateOptionalParams): Promise { + return this.beginUpdate(resourceGroupName,accountName,privateEndpointConnectionName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Updates the properties of an existing private endpoint connection. + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param privateEndpointConnectionName The private endpoint connection name. This must be unique + * within the account. + * @param parameters PrivateEndpointConnection properties that should be updated. Properties that + * are supplied will be updated, any property not supplied will be unchanged. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, parameters: Models.PrivateEndpointConnection, options?: Models.PrivateEndpointConnectionBeginUpdateOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + accountName, + privateEndpointConnectionName, + parameters, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * Lists all of the private endpoint connections in the specified account. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByBatchAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByBatchAccountNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByBatchAccountNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByBatchAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByBatchAccountNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByBatchAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName1 + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.maxresults + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ListPrivateEndpointConnectionsResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName1, + Parameters.privateEndpointConnectionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName1, + Parameters.privateEndpointConnectionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.ifMatch, + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.PrivateEndpointConnection, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection, + headersMapper: Mappers.PrivateEndpointConnectionUpdateHeaders + }, + 202: { + headersMapper: Mappers.PrivateEndpointConnectionUpdateHeaders + }, + 204: { + headersMapper: Mappers.PrivateEndpointConnectionUpdateHeaders + }, + default: { + bodyMapper: Mappers.CloudError, + headersMapper: Mappers.PrivateEndpointConnectionUpdateHeaders + } + }, + serializer +}; + +const listByBatchAccountNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ListPrivateEndpointConnectionsResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/batch/arm-batch/src/operations/privateLinkResourceOperations.ts b/sdk/batch/arm-batch/src/operations/privateLinkResourceOperations.ts new file mode 100644 index 000000000000..d27dfdc6ccfc --- /dev/null +++ b/sdk/batch/arm-batch/src/operations/privateLinkResourceOperations.ts @@ -0,0 +1,202 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/privateLinkResourceOperationsMappers"; +import * as Parameters from "../models/parameters"; +import { BatchManagementClientContext } from "../batchManagementClientContext"; + +/** Class representing a PrivateLinkResourceOperations. */ +export class PrivateLinkResourceOperations { + private readonly client: BatchManagementClientContext; + + /** + * Create a PrivateLinkResourceOperations. + * @param {BatchManagementClientContext} client Reference to the service client. + */ + constructor(client: BatchManagementClientContext) { + this.client = client; + } + + /** + * Lists all of the private link resources in the specified account. + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param [options] The optional parameters + * @returns Promise + */ + listByBatchAccount(resourceGroupName: string, accountName: string, options?: Models.PrivateLinkResourceListByBatchAccountOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param callback The callback + */ + listByBatchAccount(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param options The optional parameters + * @param callback The callback + */ + listByBatchAccount(resourceGroupName: string, accountName: string, options: Models.PrivateLinkResourceListByBatchAccountOptionalParams, callback: msRest.ServiceCallback): void; + listByBatchAccount(resourceGroupName: string, accountName: string, options?: Models.PrivateLinkResourceListByBatchAccountOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + listByBatchAccountOperationSpec, + callback) as Promise; + } + + /** + * Gets information about the specified private link resource. + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param privateLinkResourceName The private link resource name. This must be unique within the + * account. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, privateLinkResourceName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param privateLinkResourceName The private link resource name. This must be unique within the + * account. + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, privateLinkResourceName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group that contains the Batch account. + * @param accountName The name of the Batch account. + * @param privateLinkResourceName The private link resource name. This must be unique within the + * account. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, privateLinkResourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, privateLinkResourceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + privateLinkResourceName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Lists all of the private link resources in the specified account. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByBatchAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByBatchAccountNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByBatchAccountNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByBatchAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByBatchAccountNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByBatchAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName1 + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.maxresults + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ListPrivateLinkResourcesResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName1, + Parameters.privateLinkResourceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByBatchAccountNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ListPrivateLinkResourcesResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/batch/arm-batch/tsconfig.json b/sdk/batch/arm-batch/tsconfig.json index 87bbf5b5fa49..422b584abd5e 100644 --- a/sdk/batch/arm-batch/tsconfig.json +++ b/sdk/batch/arm-batch/tsconfig.json @@ -9,7 +9,7 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, "outDir": "./esm", "importHelpers": true From 5d2537abbeed1d378590e0201e360c61d99d4b78 Mon Sep 17 00:00:00 2001 From: Xing Wu Date: Tue, 20 Oct 2020 00:27:43 -0700 Subject: [PATCH 2/8] Add arm-batch live test cases. --- common/config/rush/pnpm-lock.yaml | 184 ++++++ dataplane.code-workspace | 4 + rush.json | 10 + sdk/batch/arm-batch/package.json | 20 +- .../test/batchManagementClient.spec.ts | 577 ++++++++++++++++++ sdk/batch/arm-batch/tsconfig.test.json | 19 + sdk/batch/batch/package.json | 15 +- 7 files changed, 815 insertions(+), 14 deletions(-) create mode 100644 sdk/batch/arm-batch/test/batchManagementClient.spec.ts create mode 100644 sdk/batch/arm-batch/tsconfig.test.json diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index e54373f1e663..bbb608b70cbf 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -5,6 +5,8 @@ dependencies: '@rush-temp/ai-metrics-advisor': 'file:projects/ai-metrics-advisor.tgz' '@rush-temp/ai-text-analytics': 'file:projects/ai-text-analytics.tgz' '@rush-temp/app-configuration': 'file:projects/app-configuration.tgz' + '@rush-temp/arm-batch': 'file:projects/arm-batch.tgz' + '@rush-temp/batch': 'file:projects/batch.tgz' '@rush-temp/communication-administration': 'file:projects/communication-administration.tgz' '@rush-temp/communication-chat': 'file:projects/communication-chat.tgz' '@rush-temp/communication-common': 'file:projects/communication-common.tgz' @@ -192,6 +194,13 @@ packages: dev: false resolution: integrity: sha512-l7z0DPCi2Hp88w12JhDTtx5d0Y3+vhfE7JKJb9O7sEz71Cwp053N8piTtTnnk/tUor9oZHgEKi/p3tQQmLPjvA== + /@azure/ms-rest-azure-js/2.0.1: + dependencies: + '@azure/ms-rest-js': 2.1.0 + tslib: 1.14.1 + dev: false + resolution: + integrity: sha512-5e+A710O7gRFISoV4KI/ZyLQbKmjXxQZ1L8Z/sx7jSUQqmswjTnN4yyIZxs5JzfLVkobU0rXxbi5/LVzaI8QXQ== /@azure/ms-rest-js/1.9.0: dependencies: '@types/tunnel': 0.0.0 @@ -205,6 +214,21 @@ packages: dev: false resolution: integrity: sha512-cB4Z2Mg7eBmet1rfbf0QSO1XbhfknRW7B+mX3IHJq0KGHaGJvCPoVTgdsJdCkazEMK1jtANFNEDDzSQacxyzbA== + /@azure/ms-rest-js/2.1.0: + dependencies: + '@types/node-fetch': 2.5.7 + '@types/tunnel': 0.0.1 + abort-controller: 3.0.0 + form-data: 2.5.1 + node-fetch: 2.6.1 + tough-cookie: 3.0.1 + tslib: 1.14.1 + tunnel: 0.0.6 + uuid: 3.4.0 + xml2js: 0.4.23 + dev: false + resolution: + integrity: sha512-4BXLVImYRt+jcUmEJ5LUWglI8RBNVQndY6IcyvQ4U8O4kIXdmlRz3cJdA/RpXf5rKT38KOoTO2T6Z1f6Z1HDBg== /@azure/ms-rest-nodeauth/0.9.3: dependencies: '@azure/ms-rest-azure-env': 1.1.2 @@ -804,6 +828,10 @@ packages: optional: true resolution: integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + /@types/jssha/2.0.0: + dev: false + resolution: + integrity: sha512-oBnY3csYnXfqZXDRBJwP1nDDJCW/+VMJ88UHT4DCy0deSXpJIQvMCwYlnmdW4M+u7PiSfQc44LmiFcUbJ8hLEw== /@types/jws/3.2.2: dependencies: '@types/node': 8.10.64 @@ -895,6 +923,12 @@ packages: dev: false resolution: integrity: sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + /@types/resolve/0.0.8: + dependencies: + '@types/node': 10.17.39 + dev: false + resolution: + integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== /@types/resolve/1.17.1: dependencies: '@types/node': 8.10.64 @@ -942,6 +976,10 @@ packages: dev: false resolution: integrity: sha512-T3NQD8hXNW2sRsSbLNjF/aBo18MyJlbw0lSpQHB/eZZtScPdexN4HSa8cByYwTw9Wy7KuOFr81mlDQcQQaZ79w== + /@types/url-parse/1.4.3: + dev: false + resolution: + integrity: sha512-4kHAkbV/OfW2kb5BLVUuUMoumB3CP8rHqlw48aHvFy5tf9ER0AfOonBlX29l/DD68G70DmyhRlSYfQPSYpC5Vw== /@types/uuid/8.3.0: dev: false resolution: @@ -1116,6 +1154,22 @@ packages: node: '>= 0.6.15' resolution: integrity: sha1-RoxLs+u9lrEnBmn0ucuk4AZepIU= + /adal-node/0.2.1: + dependencies: + '@types/node': 8.10.64 + async: 2.6.3 + date-utils: 1.2.21 + jws: 3.2.2 + request: 2.88.2 + underscore: 1.11.0 + uuid: 3.4.0 + xmldom: 0.3.0 + xpath.js: 1.1.0 + dev: false + engines: + node: '>= 0.6.15' + resolution: + integrity: sha512-C/oasZuTy0NIqh5wPWjG/09XaG+zS7elC8upf1ZVExt9lSRncme4Ejbx8CKYk+wsGgj609y84txtRAXQVvqApg== /after/0.8.2: dev: false resolution: @@ -1397,6 +1451,12 @@ packages: dev: false resolution: integrity: sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + /async/2.6.3: + dependencies: + lodash: 4.17.20 + dev: false + resolution: + integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== /async/3.2.0: dev: false resolution: @@ -3965,6 +4025,12 @@ packages: node: '>= 0.10' resolution: integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + /ip-regex/2.1.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= /ip/1.1.5: dev: false resolution: @@ -6210,6 +6276,10 @@ packages: node: '>=0.4.x' resolution: integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + /querystringify/2.2.0: + dev: false + resolution: + integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== /quote/0.4.0: dev: false resolution: @@ -6602,6 +6672,36 @@ packages: dev: false resolution: integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + /rollup-plugin-commonjs/10.1.0_rollup@1.32.1: + dependencies: + estree-walker: 0.6.1 + is-reference: 1.2.1 + magic-string: 0.25.7 + resolve: 1.17.0 + rollup: 1.32.1 + rollup-pluginutils: 2.8.2 + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs. + dev: false + peerDependencies: + rollup: '>=1.12.0' + resolution: + integrity: sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q== + /rollup-plugin-inject/3.0.2: + dependencies: + estree-walker: 0.6.1 + magic-string: 0.25.7 + rollup-pluginutils: 2.8.2 + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. + dev: false + resolution: + integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w== + /rollup-plugin-json/4.0.0: + dependencies: + rollup-pluginutils: 2.8.2 + deprecated: This module has been deprecated and is no longer maintained. Please use @rollup/plugin-json. + dev: false + resolution: + integrity: sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow== /rollup-plugin-local-resolve/1.0.7: dev: false resolution: @@ -6626,6 +6726,20 @@ packages: dev: false resolution: integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== + /rollup-plugin-node-resolve/5.2.0_rollup@1.32.1: + dependencies: + '@types/resolve': 0.0.8 + builtin-modules: 3.1.0 + is-module: 1.0.0 + resolve: 1.17.0 + rollup: 1.32.1 + rollup-pluginutils: 2.8.2 + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve. + dev: false + peerDependencies: + rollup: '>=1.11.0' + resolution: + integrity: sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== /rollup-plugin-shim/1.0.0: dev: false resolution: @@ -7527,6 +7641,16 @@ packages: node: '>=0.8' resolution: integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + /tough-cookie/3.0.1: + dependencies: + ip-regex: 2.1.0 + psl: 1.8.0 + punycode: 2.1.1 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== /tough-cookie/4.0.0: dependencies: psl: 1.8.0 @@ -7820,6 +7944,13 @@ packages: dev: false resolution: integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + /url-parse/1.4.7: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: false + resolution: + integrity: sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== /url/0.11.0: dependencies: punycode: 1.3.2 @@ -8548,6 +8679,56 @@ packages: integrity: sha512-1/4p5+BpfkiSBbAHzmb5hXcYeOa03Xlm3Fzjjgpwps5P1Q+qU+8Ew60NpxA0fQUNJxpcVHwVSDwPgrVsNlGmCg== tarball: 'file:projects/app-configuration.tgz' version: 0.0.0 + 'file:projects/arm-batch.tgz': + dependencies: + '@azure/ms-rest-azure-js': 2.0.1 + '@azure/ms-rest-js': 2.1.0 + rollup: 1.32.1 + rollup-plugin-node-resolve: 5.2.0_rollup@1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.0.3 + typescript: 3.9.7 + uglify-js: 3.11.2 + dev: false + name: '@rush-temp/arm-batch' + resolution: + integrity: sha512-GDTnOcN5LA1GpDkfPt5T8rmHi0w7ygTlsTBqStoaZSDWhFYgGqspTo7X5d/0+hd1dYJpo2ijgScNniCP+tbLQw== + tarball: 'file:projects/arm-batch.tgz' + version: 0.0.0 + 'file:projects/batch.tgz': + dependencies: + '@azure/ms-rest-azure-js': 2.0.1 + '@azure/ms-rest-js': 2.1.0 + '@types/chai': 4.2.13 + '@types/jssha': 2.0.0 + '@types/mocha': 7.0.2 + '@types/url-parse': 1.4.3 + '@types/uuid': 8.3.0 + adal-node: 0.2.1 + buffer: 5.6.0 + chai: 4.2.0 + dotenv: 8.2.0 + jssha: 3.1.2 + mocha: 7.2.0 + moment: 2.29.1 + rollup: 1.32.1 + rollup-plugin-commonjs: 10.1.0_rollup@1.32.1 + rollup-plugin-inject: 3.0.2 + rollup-plugin-json: 4.0.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + ts-mocha: 7.0.0_mocha@7.2.0 + tslib: 2.0.3 + typescript: 3.9.7 + uglify-js: 3.11.2 + url-parse: 1.4.7 + uuid: 8.3.1 + dev: false + name: '@rush-temp/batch' + resolution: + integrity: sha512-I7Xn7YMiNBA1D+/NuGDz1hDfFO8JLzbkHBmIVbP6xfXlYx5hRsDRFaiJo72U9mBq5b/0lC9vAb+7s5rMtcVUIQ== + tarball: 'file:projects/batch.tgz' + version: 0.0.0 'file:projects/communication-administration.tgz': dependencies: '@azure/core-tracing': 1.0.0-preview.9 @@ -10757,6 +10938,7 @@ packages: integrity: sha512-uZaBXfZM1ISycMx+p8kUd/Yqui/KgjgUm/CyAzxK2wkOmqKF66JuLD5lbkH4tXBi+F5rL59UaMhjjxskb6qbzA== tarball: 'file:projects/testhub.tgz' version: 0.0.0 +registry: '' specifiers: '@rush-temp/abort-controller': 'file:./projects/abort-controller.tgz' '@rush-temp/ai-anomaly-detector': 'file:./projects/ai-anomaly-detector.tgz' @@ -10764,6 +10946,8 @@ specifiers: '@rush-temp/ai-metrics-advisor': 'file:./projects/ai-metrics-advisor.tgz' '@rush-temp/ai-text-analytics': 'file:./projects/ai-text-analytics.tgz' '@rush-temp/app-configuration': 'file:./projects/app-configuration.tgz' + '@rush-temp/arm-batch': 'file:./projects/arm-batch.tgz' + '@rush-temp/batch': 'file:./projects/batch.tgz' '@rush-temp/communication-administration': 'file:./projects/communication-administration.tgz' '@rush-temp/communication-chat': 'file:./projects/communication-chat.tgz' '@rush-temp/communication-common': 'file:./projects/communication-common.tgz' diff --git a/dataplane.code-workspace b/dataplane.code-workspace index 1100b1efacd5..0f53b8c0bc4b 100644 --- a/dataplane.code-workspace +++ b/dataplane.code-workspace @@ -164,6 +164,10 @@ "name": "perfstress", "path": "sdk/test-utils/perfstress" }, + { + "name": "batch", + "path": "sdk/batch/batch" + }, { "path": "sdk\\digitaltwins\\digital-twins" } diff --git a/rush.json b/rush.json index ede0e21b568a..ae5eed091896 100644 --- a/rush.json +++ b/rush.json @@ -581,6 +581,16 @@ "packageName": "@azure/digital-twins", "projectFolder": "sdk/digitaltwins/digital-twins", "versionPolicyName": "client" + }, + { + "packageName": "@azure/batch", + "projectFolder": "sdk/batch/batch", + "versionPolicyName": "client" + }, + { + "packageName": "@azure/arm-batch", + "projectFolder": "sdk/batch/arm-batch", + "versionPolicyName": "client" } ] } diff --git a/sdk/batch/arm-batch/package.json b/sdk/batch/arm-batch/package.json index 8df0206edbfe..181a178433a8 100644 --- a/sdk/batch/arm-batch/package.json +++ b/sdk/batch/arm-batch/package.json @@ -2,11 +2,11 @@ "name": "@azure/arm-batch", "author": "Microsoft Corporation", "description": "BatchManagementClient Library with typescript type definitions for node.js and browser.", - "version": "4.0.0", + "version": "5.0.0", "dependencies": { "@azure/ms-rest-azure-js": "^2.0.1", "@azure/ms-rest-js": "^2.0.4", - "tslib": "^1.10.0" + "tslib": "^2.0.0" }, "keywords": [ "node", @@ -20,11 +20,18 @@ "module": "./esm/batchManagementClient.js", "types": "./esm/batchManagementClient.d.ts", "devDependencies": { - "typescript": "^3.5.3", - "rollup": "^1.18.0", + "@types/chai": "^4.1.6", + "@types/jssha": "^2.0.0", + "@types/mocha": "^7.0.2", + "chai": "^4.2.0", + "dotenv": "^8.2.0", + "mocha": "^7.1.1", + "rollup": "^1.16.3", "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-sourcemaps": "^0.4.2", - "uglify-js": "^3.6.0" + "ts-mocha": "^7.0.0", + "typescript": "~3.9.3", + "uglify-js": "^3.4.9" }, "homepage": "https://github.com/Azure/azure-sdk-for-js", "repository": { @@ -51,7 +58,8 @@ "scripts": { "build": "tsc && rollup -c rollup.config.js && npm run minify", "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-batch.js.map'\" -o ./dist/arm-batch.min.js ./dist/arm-batch.js", - "prepack": "npm install && npm run build" + "prepack": "npm install && npm run build", + "test": "ts-mocha -p tsconfig.test.json test/*.spec.ts --timeout 100000" }, "sideEffects": false } diff --git a/sdk/batch/arm-batch/test/batchManagementClient.spec.ts b/sdk/batch/arm-batch/test/batchManagementClient.spec.ts new file mode 100644 index 000000000000..6eb8191ccbc6 --- /dev/null +++ b/sdk/batch/arm-batch/test/batchManagementClient.spec.ts @@ -0,0 +1,577 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +import { BatchManagementClient, BatchManagementModels } from "../src/batchManagementClient"; +import { describe, beforeEach } from "mocha"; +import { assert } from "chai"; +import * as dotenv from "dotenv"; +import * as util from "util"; +import * as fs from "fs"; +import { ServiceClient, WebResource } from "@azure/core-http"; +import { AuthenticationContext } from "adal-node"; +import { TokenCredentials, RestError } from "@azure/ms-rest-js"; +import { CertificateCreateOrUpdateParameters } from "../src/models"; + +dotenv.config(); + +describe("Batch Management Service", () => { + let client: BatchManagementClient; + let subscriptionId: string; + let clientId: string; + let secret: string; + let tenant: string; + let location: string; + let autoStorage: string; + let batchAccount: string; + let groupName: string; + + async function getAppOnlyToken(clientId, secret) { + const authContext = new AuthenticationContext( + "https://login.microsoftonline.com/microsoft.onmicrosoft.com" + ); + return new Promise((resolve, reject) => { + authContext.acquireTokenWithClientCredentials( + "https://management.core.windows.net/", + clientId, + secret, + (err, token) => { + if (err) { + reject(err); + } else { + resolve(token.accessToken); + } + } + ); + }); + } + + beforeEach(async () => { + subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]!; + location = process.env["AZURE_TEST_LOCATION"]!; + autoStorage = process.env["AZURE_AUTOSTORAGE"]!; + batchAccount = "batchtestnodesdk"; + groupName = util.format("default-azurebatch-%s", location); + clientId = process.env["AZURE_CLIENT_ID"]; + secret = process.env["AZURE_CLIENT_SECRET"]; + tenant = process.env["AZURE_TENANT_ID"]; + + const token = await getAppOnlyToken(clientId, secret); + const tokenCreds = new TokenCredentials(token, "Bearer"); + client = new BatchManagementClient(tokenCreds, subscriptionId); + }); + + describe("operations", () => { + it("should list Batch operations successfully", async () => { + const result = await client.operations.list(); + assert.isNotNull(result); + assert.isAtLeast(result.length, 50); + assert.equal( + result[0].name, + "Microsoft.Batch/batchAccounts/providers/Microsoft.Insights/diagnosticSettings/read" + ); + assert.equal(result[0].origin, "system"); + assert.equal(result[0].display.provider, "Microsoft Batch"); + assert.equal(result[0].display.operation, "Read diagnostic setting"); + }); + + it("should get subscription quota successfully", async () => { + const result = await client.location.getQuotas(location); + assert.exists(result); + assert.equal(result.accountQuota, 1); + }); + + it("should check name available successfully", async () => { + let name = "randombatch8374652387"; + const result = await client.location.checkNameAvailability(location, name); + assert.exists(result); + assert.isTrue(result.nameAvailable); + }); + + it("should create a batch account successfully", async () => { + var resource = util.format( + "/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Storage/storageAccounts/%s", + subscriptionId, + groupName, + autoStorage + ); + var params = { location: location, autoStorage: { storageAccountId: resource } }; + const result = await client.batchAccount.create(groupName, batchAccount, params); + assert.exists(result); + assert.equal(result.location, location); + assert.equal(result.poolQuota, 100); + assert.equal(result.dedicatedCoreQuota, 700); + assert.equal(result.lowPriorityCoreQuota, 500); + }); + + it("should add application successfully", async () => { + var params = { allowUpdates: true, displayName: "my_application_name" }; + var options = { parameters: params }; + const result = await client.application.create( + groupName, + batchAccount, + "my_application_id", + options + ); + assert.exists(result); + assert.equal(result.name, "my_application_id"); + }); + + it("should get application successfully", async () => { + const result = await client.application.get(groupName, batchAccount, "my_application_id"); + assert.exists(result); + assert.equal(result.name, "my_application_id"); + assert.equal(result.displayName, "my_application_name"); + }); + + it("should get a list of applications successfully", async () => { + const result = await client.application.list(groupName, batchAccount); + assert.exists(result); + assert.isAtLeast(result.length, 1); + }); + + it("should add application package successfully", async () => { + const result = await client.applicationPackage.create( + groupName, + batchAccount, + "my_application_id", + "v1.0" + ); + assert.exists(result); + assert.equal(result._response.status, 200); + assert.equal(result.name, "v1.0"); + console.log(result); + console.log(__dirname); + fs.writeFileSync(__dirname + "/test_package.zip", "Hey there!"); + var fileContent = fs.createReadStream(__dirname + "/test_package.zip"); + var httpRequest = new WebResource(); + var serviceClient = new ServiceClient(); + httpRequest.method = "PUT"; + httpRequest.headers = {}; + httpRequest.headers["x-ms-blob-type"] = "BlockBlob"; + httpRequest.headers["Content-Length"] = "10"; + httpRequest.url = result.storageUrl; + httpRequest.body = fileContent; + httpRequest.streamedResponse = true; + var upload = serviceClient.sendRequest(httpRequest, function(err, response) { + assert.exists(response); + assert.equal(response.statusCode, 201); + }); + }); + + it("should add second application package successfully", async () => { + const result = await client.applicationPackage.create( + groupName, + batchAccount, + "my_application_id", + "v2.0" + ); + assert.exists(result); + assert.equal(result._response.status, 200); + }); + + it("should list application packages successfully", async () => { + const result = await client.applicationPackage.list( + groupName, + batchAccount, + "my_application_id" + ); + assert.isAtLeast(result.length, 1); + }); + + it("should activate application package successfully", async () => { + const result = await client.applicationPackage.activate( + groupName, + batchAccount, + "my_application_id", + "v1.0", + "zip" + ); + assert.exists(result); + assert.equal(result._response.status, 200); + }); + + it("should fail to activate application package", async () => { + try { + await client.applicationPackage.activate( + groupName, + batchAccount, + "my_application_id", + "v2.0", + "zip" + ); + assert.fail("No error thrown"); + } catch (err) { + if (err instanceof RestError) { + assert.equal(err.response.status, 409); + assert.equal(err.body.code, "ApplicationPackageBlobNotFound"); + } else { + assert.fail(`Caught error but wasn't a RestError: ${err}`); + } + } + }); + + it("should fail to update application", async () => { + var params = { allowUpdates: false, displayName: "my_updated_name", defaultVersion: "v2.0" }; + try { + await client.application.update(groupName, batchAccount, "my_application_id", params); + assert.fail("No error thrown"); + } catch (err) { + if (err instanceof RestError) { + assert.equal(err.response.status, 409); + assert.equal(err.body.code, "RequestedDefaultVersionNotActive"); + } else { + assert.fail(`Caught error but wasn't a RestError: ${err}`); + } + } + }); + + it("should update application successfully", async () => { + var params = { allowUpdates: false, displayName: "my_updated_name", defaultVersion: "v1.0" }; + const result = await client.application.update( + groupName, + batchAccount, + "my_application_id", + params + ); + assert.equal(result._response.status, 200); + }); + + it("should get application package successfully", async () => { + const result = await client.applicationPackage.get( + groupName, + batchAccount, + "my_application_id", + "v1.0" + ); + assert.exists(result); + assert.equal(result._response.status, 200); + }); + + it("should delete application package successfully", async () => { + const result = await client.applicationPackage.deleteMethod( + groupName, + batchAccount, + "my_application_id", + "v1.0" + ); + assert.equal(result._response.status, 200); + }); + + it("should fail to delete application", async () => { + try { + await client.application.deleteMethod(groupName, batchAccount, "my_application_id"); + assert.fail("No error thrown"); + } catch (err) { + if (err instanceof RestError) { + assert.equal(err.response.status, 409); + assert.equal(err.body.code, "ApplicationPackagesNotEmpty"); + } else { + assert.fail(`Caught error but wasn't a RestError: ${err}`); + } + } + }); + + it("should delete second application package successfully", async () => { + const result = await client.applicationPackage.deleteMethod( + groupName, + batchAccount, + "my_application_id", + "v2.0" + ); + assert.equal(result._response.status, 200); + }); + + it("should delete application successfully", async () => { + const result = await client.application.deleteMethod( + groupName, + batchAccount, + "my_application_id" + ); + assert.equal(result._response.status, 200); + }); + + it("should fail to create a batch account due to dupilcate location", async () => { + var params = { location: location }; + try { + await client.batchAccount.create(groupName, "batchtestnodesdk2", params); + assert.fail("No error thrown"); + } catch (err) { + console.log(err); + } + //This fails after the initial create request - so error isn't surfaced. + }); + + it("should fail to create a batch account due to invalid resource group", async () => { + var params = { location: location }; + try { + await client.batchAccount.create("does-not-exist", batchAccount, params); + assert.fail("No error thrown"); + } catch (err) { + if (err instanceof RestError) { + assert.equal(err.response.status, 404); + assert.equal(err.body.code, "ResourceGroupNotFound"); + } else { + assert.fail(`Caught error but wasn't a RestError: ${err}`); + } + } + //This fails on the initial create request - so we can check the error. + }); + + it("should get a specific account info successfully", async () => { + const result = await client.batchAccount.get(groupName, batchAccount); + assert.exists(result); + assert.equal(result.name, batchAccount); + assert.equal(result.location, location); + assert.equal(result._response.status, 200); + }); + + it("should list accounts successfully", async () => { + const result = await client.batchAccount.list(); + assert.exists(result); + assert.isAtLeast(result.length, 1); + var sorted = result.sort(function(a, b) { + if (a.name < b.name) { + return -1; + } + return 1; + }); + assert.equal(sorted[0].name, batchAccount); + assert.equal(sorted[0].location, location); + }); + + it("should list accounts by resource group successfully", async () => { + const result = await client.batchAccount.listByResourceGroup(groupName); + assert.exists(result); + assert.isAtLeast(result.length, 1); + assert.equal(result[0].name, batchAccount); + assert.equal(result[0].location, location); + }); + + it("should get account keys successfully", async () => { + const result = await client.batchAccount.getKeys(groupName, batchAccount); + assert.exists(result); + assert.exists(result.accountName); + assert.exists(result.primary); + assert.exists(result.secondary); + }); + + it("should regenerate keys successfully", async () => { + const result = await client.batchAccount.regenerateKey(groupName, batchAccount, "Primary"); + assert.exists(result); + assert.exists(result.primary); + assert.exists(result.secondary); + }); + + it("should sync auto storage keys successfully", async () => { + const result = await client.batchAccount.synchronizeAutoStorageKeys(groupName, batchAccount); + assert.equal(result._response.status, 204); + }); + + it("should update account successfully", async () => { + var tags = { tags: { Name: "tagName", Value: "tagValue" } }; + const result = await client.batchAccount.update(groupName, batchAccount, tags); + assert.exists(result); + assert.equal(result.tags.Name, "tagName"); + assert.equal(result.tags.Value, "tagValue"); + }); + + it("should add certificate successfully", async () => { + var certificate = "SHA1-cff2ab63c8c955aaf71989efa641b906558d9fb7"; + var parameters: CertificateCreateOrUpdateParameters = { + thumbprint: "cff2ab63c8c955aaf71989efa641b906558d9fb7", + thumbprintAlgorithm: "sha1", + data: + "MIIGMQIBAzCCBe0GCSqGSIb3DQEHAaCCBd4EggXaMIIF1jCCA8AGCSqGSIb3DQEHAaCCA7EEggOtMIIDqTCCA6UGCyqGSIb3DQEMCgECoIICtjCCArIwHAYKKoZIhvcNAQwBAzAOBAhyd3xCtln3iQICB9AEggKQhe5P10V9iV1BsDlwWT561Yu2hVq3JT8ae/ebx1ZR/gMApVereDKkS9Zg4vFyssusHebbK5pDpU8vfAqle0TM4m7wGsRj453ZorSPUfMpHvQnAOn+2pEpWdMThU7xvZ6DVpwhDOQk9166z+KnKdHGuJKh4haMT7Rw/6xZ1rsBt2423cwTrQVMQyACrEkianpuujubKltN99qRoFAxhQcnYE2KlYKw7lRcExq6mDSYAyk5xJZ1ZFdLj6MAryZroQit/0g5eyhoNEKwWbi8px5j71pRTf7yjN+deMGQKwbGl+3OgaL1UZ5fCjypbVL60kpIBxLZwIJ7p3jJ+q9pbq9zSdzshPYor5lxyUfXqaso/0/91ayNoBzg4hQGh618PhFI6RMGjwkzhB9xk74iweJ9HQyIHf8yx2RCSI22JuCMitPMWSGvOszhbNx3AEDLuiiAOHg391mprEtKZguOIr9LrJwem/YmcHbwyz5YAbZmiseKPkllfC7dafFfCFEkj6R2oegIsZo0pEKYisAXBqT0g+6/jGwuhlZcBo0f7UIZm88iA3MrJCjlXEgV5OcQdoWj+hq0lKEdnhtCKr03AIfukN6+4vjjarZeW1bs0swq0l3XFf5RHa11otshMS4mpewshB9iO9MuKWpRxuxeng4PlKZ/zuBqmPeUrjJ9454oK35Pq+dghfemt7AUpBH/KycDNIZgfdEWUZrRKBGnc519C+RTqxyt5hWL18nJk4LvSd3QKlJ1iyJxClhhb/NWEzPqNdyA5cxen+2T9bd/EqJ2KzRv5/BPVwTQkHH9W/TZElFyvFfOFIW2+03RKbVGw72Mr/0xKZ+awAnEfoU+SL/2Gj2m6PHkqFX2sOCi/tN9EA4xgdswEwYJKoZIhvcNAQkVMQYEBAEAAAAwXQYJKwYBBAGCNxEBMVAeTgBNAGkAYwByAG8AcwBvAGYAdAAgAFMAdAByAG8AbgBnACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcjBlBgkqhkiG9w0BCRQxWB5WAFAAdgBrAFQAbQBwADoANABjAGUANgAwADQAZABhAC0AMAA2ADgAMQAtADQANAAxADUALQBhADIAYwBhAC0ANQA3ADcAMwAwADgAZQA2AGQAOQBhAGMwggIOBgkqhkiG9w0BBwGgggH/BIIB+zCCAfcwggHzBgsqhkiG9w0BDAoBA6CCAcswggHHBgoqhkiG9w0BCRYBoIIBtwSCAbMwggGvMIIBXaADAgECAhAdka3aTQsIsUphgIXGUmeRMAkGBSsOAwIdBQAwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3kwHhcNMTYwMTAxMDcwMDAwWhcNMTgwMTAxMDcwMDAwWjASMRAwDgYDVQQDEwdub2Rlc2RrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5fhcxbJHxxBEIDzVOMc56s04U6k4GPY7yMR1m+rBGVRiAyV4RjY6U936dqXHCVD36ps2Q0Z+OeEgyCInkIyVeB1EwXcToOcyeS2YcUb0vRWZDouC3tuFdHwiK1Ed5iW/LksmXDotyV7kpqzaPhOFiMtBuMEwNJcPge9k17hRgRQIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAHl2M97QbpzdnwO5HoRBsiEExOcLTNg+GKCr7HUsbzfvrUivw+JLL7qjHAIc5phnK+F5bQ8HKe0L9YXBSKl+fvwxFTATBgkqhkiG9w0BCRUxBgQEAQAAADA7MB8wBwYFKw4DAhoEFGVtyGMqiBd32fGpzlGZQoRM6UQwBBTI0YHFFqTS4Go8CoLgswn29EiuUQICB9A=", + format: "Pfx", + password: "nodesdk" + }; + const result = await client.certificate.create( + groupName, + batchAccount, + certificate, + parameters + ); + assert.exists(result); + assert.equal(result.name, "sha1-cff2ab63c8c955aaf71989efa641b906558d9fb7"); + }); + + it("should list certificates successfully", async () => { + const result = await client.certificate.listByBatchAccount(groupName, batchAccount); + assert.exists(result); + assert.equal(result.length, 1); + }); + + it("should get certificate successfully", async () => { + var certificate = "SHA1-cff2ab63c8c955aaf71989efa641b906558d9fb7"; + const result = await client.certificate.get(groupName, batchAccount, certificate); + assert.exists(result); + assert.equal(result.name, "sha1-cff2ab63c8c955aaf71989efa641b906558d9fb7"); + assert.equal(result.thumbprintAlgorithm, "sha1"); + assert.equal(result.thumbprint, "cff2ab63c8c955aaf71989efa641b906558d9fb7"); + }); + + it("should update certificate successfully", async () => { + var certificate = "SHA1-cff2ab63c8c955aaf71989efa641b906558d9fb7"; + var parameters: CertificateCreateOrUpdateParameters = { + password: "nodesdk", + data: + "MIIGMQIBAzCCBe0GCSqGSIb3DQEHAaCCBd4EggXaMIIF1jCCA8AGCSqGSIb3DQEHAaCCA7EEggOtMIIDqTCCA6UGCyqGSIb3DQEMCgECoIICtjCCArIwHAYKKoZIhvcNAQwBAzAOBAhyd3xCtln3iQICB9AEggKQhe5P10V9iV1BsDlwWT561Yu2hVq3JT8ae/ebx1ZR/gMApVereDKkS9Zg4vFyssusHebbK5pDpU8vfAqle0TM4m7wGsRj453ZorSPUfMpHvQnAOn+2pEpWdMThU7xvZ6DVpwhDOQk9166z+KnKdHGuJKh4haMT7Rw/6xZ1rsBt2423cwTrQVMQyACrEkianpuujubKltN99qRoFAxhQcnYE2KlYKw7lRcExq6mDSYAyk5xJZ1ZFdLj6MAryZroQit/0g5eyhoNEKwWbi8px5j71pRTf7yjN+deMGQKwbGl+3OgaL1UZ5fCjypbVL60kpIBxLZwIJ7p3jJ+q9pbq9zSdzshPYor5lxyUfXqaso/0/91ayNoBzg4hQGh618PhFI6RMGjwkzhB9xk74iweJ9HQyIHf8yx2RCSI22JuCMitPMWSGvOszhbNx3AEDLuiiAOHg391mprEtKZguOIr9LrJwem/YmcHbwyz5YAbZmiseKPkllfC7dafFfCFEkj6R2oegIsZo0pEKYisAXBqT0g+6/jGwuhlZcBo0f7UIZm88iA3MrJCjlXEgV5OcQdoWj+hq0lKEdnhtCKr03AIfukN6+4vjjarZeW1bs0swq0l3XFf5RHa11otshMS4mpewshB9iO9MuKWpRxuxeng4PlKZ/zuBqmPeUrjJ9454oK35Pq+dghfemt7AUpBH/KycDNIZgfdEWUZrRKBGnc519C+RTqxyt5hWL18nJk4LvSd3QKlJ1iyJxClhhb/NWEzPqNdyA5cxen+2T9bd/EqJ2KzRv5/BPVwTQkHH9W/TZElFyvFfOFIW2+03RKbVGw72Mr/0xKZ+awAnEfoU+SL/2Gj2m6PHkqFX2sOCi/tN9EA4xgdswEwYJKoZIhvcNAQkVMQYEBAEAAAAwXQYJKwYBBAGCNxEBMVAeTgBNAGkAYwByAG8AcwBvAGYAdAAgAFMAdAByAG8AbgBnACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcjBlBgkqhkiG9w0BCRQxWB5WAFAAdgBrAFQAbQBwADoANABjAGUANgAwADQAZABhAC0AMAA2ADgAMQAtADQANAAxADUALQBhADIAYwBhAC0ANQA3ADcAMwAwADgAZQA2AGQAOQBhAGMwggIOBgkqhkiG9w0BBwGgggH/BIIB+zCCAfcwggHzBgsqhkiG9w0BDAoBA6CCAcswggHHBgoqhkiG9w0BCRYBoIIBtwSCAbMwggGvMIIBXaADAgECAhAdka3aTQsIsUphgIXGUmeRMAkGBSsOAwIdBQAwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3kwHhcNMTYwMTAxMDcwMDAwWhcNMTgwMTAxMDcwMDAwWjASMRAwDgYDVQQDEwdub2Rlc2RrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5fhcxbJHxxBEIDzVOMc56s04U6k4GPY7yMR1m+rBGVRiAyV4RjY6U936dqXHCVD36ps2Q0Z+OeEgyCInkIyVeB1EwXcToOcyeS2YcUb0vRWZDouC3tuFdHwiK1Ed5iW/LksmXDotyV7kpqzaPhOFiMtBuMEwNJcPge9k17hRgRQIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAHl2M97QbpzdnwO5HoRBsiEExOcLTNg+GKCr7HUsbzfvrUivw+JLL7qjHAIc5phnK+F5bQ8HKe0L9YXBSKl+fvwxFTATBgkqhkiG9w0BCRUxBgQEAQAAADA7MB8wBwYFKw4DAhoEFGVtyGMqiBd32fGpzlGZQoRM6UQwBBTI0YHFFqTS4Go8CoLgswn29EiuUQICB9A=" + }; + const result = await client.certificate.update( + groupName, + batchAccount, + certificate, + parameters + ); + assert.exists(result); + assert.equal(result.name, "sha1-cff2ab63c8c955aaf71989efa641b906558d9fb7"); + }); + + it("shoud delete certificate successfully", async () => { + var certificate = "SHA1-cff2ab63c8c955aaf71989efa641b906558d9fb7"; + const result = await client.certificate.deleteMethod(groupName, batchAccount, certificate); + }); + + it("should create a paas pool successfully", async () => { + var paas_pool = "test_paas_pool"; + var parameters = { + displayName: "test_pool", + vmSize: "small", + deploymentConfiguration: { + cloudServiceConfiguration: { + osFamily: "5" + } + }, + startTask: { + commandLine: 'cmd.exe /c "echo hello world"', + resourceFiles: [{ httpUrl: "https://blobsource.com", filePath: "filename.txt" }], + environmentSettings: [{ name: "ENV_VAR", value: "foo" }], + userIdentity: { + autoUser: { + elevationLevel: "admin" + } + } + }, + userAccounts: [{ name: "UserName", password: "p@55wOrd" }], + scaleSettings: { + fixedScale: { + targetDedicatedNodes: 0, + targetLowPriorityNodes: 0 + } + } + }; + const result = await client.pool.create(groupName, batchAccount, paas_pool, parameters); + assert.exists(result); + assert.equal(result.name, paas_pool); + }); + + it("should create a iaas pool successfully", async () => { + var iaas_pool = "test_iaas_pool"; + var parameters = { + displayName: "test_pool", + vmSize: "Standard_A1", + deploymentConfiguration: { + virtualMachineConfiguration: { + imageReference: { + publisher: "MicrosoftWindowsServer", + offer: "WindowsServer", + sku: "2016-Datacenter-smalldisk" + }, + nodeAgentSkuId: "batch.node.windows amd64", + windowsConfiguration: { enableAutomaticUpdates: true } + } + }, + scaleSettings: { + fixedScale: { + targetDedicatedNodes: 0, + targetLowPriorityNodes: 0 + } + } + }; + const result = await client.pool.create(groupName, batchAccount, iaas_pool, parameters); + assert.exists(result); + assert.equal(result.name, iaas_pool); + }); + + it("should list pools successfully", async () => { + const result = await client.pool.listByBatchAccount(groupName, batchAccount); + assert.exists(result); + assert.equal(result.length, 2); + }); + + it("should update pool successfully", async () => { + var iaas_pool = "test_iaas_pool"; + var parameters = { + autoScale: { + formula: "$TargetDedicatedNodes=1" + } + }; + const result = await client.pool.update(groupName, batchAccount, iaas_pool, parameters); + assert.exists(result); + assert.equal(result.name, iaas_pool); + }); + + it("should get pool successfully", async () => { + var iaas_pool = "test_iaas_pool"; + const result = await client.pool.get(groupName, batchAccount, iaas_pool); + assert.exists(result); + assert.equal(result.name, iaas_pool); + assert.equal(result.vmSize, "STANDARD_A1"); + }); + + it("should delete pool successfully", async () => { + var iaas_pool = "test_iaas_pool"; + await client.pool.deleteMethod(groupName, batchAccount, iaas_pool); + var paas_pool = "test_paas_pool"; + await client.pool.deleteMethod(groupName, batchAccount, paas_pool); + }); + + it("should delete a batch account successfully", async () => { + const result = await client.batchAccount.deleteMethod(groupName, batchAccount); + }); + + it("should fail to create a BYOS account with bad KeyVault properties", async () => { + var byosAccountName = "batchtestnodesdkbyos"; + var allocationMode = "UserSubscription"; + + // Omit keyVaultReference + var params = { + location: location, + poolAllocationMode: allocationMode + }; + + try { + await client.batchAccount.create(groupName, byosAccountName, params); + assert.fail("No error thrown"); + } catch (err) { + if (err instanceof RestError) { + assert.equal(err.response.status, 400); + assert.equal(err.body.code, "InvalidRequestBody"); + } else { + assert.fail(`Caught error but wasn't a RestError: ${err}`); + } + } + + // Use malformed key vault parameter values + var params1 = { + location: location, + poolAllocationMode: allocationMode, + keyVaultReference: { + id: "abc", + url: "def" + } + }; + + try { + await client.batchAccount.create(groupName, byosAccountName, params1); + assert.fail("No error thrown"); + } catch (err) { + console.log(err); + if (err instanceof RestError) { + assert.equal(err.response.status, 400); + assert.equal(err.body.code, "LinkedInvalidPropertyId"); + } else { + assert.fail(`Caught error but wasn't a RestError: ${err}`); + } + } + }); + }); +}); diff --git a/sdk/batch/arm-batch/tsconfig.test.json b/sdk/batch/arm-batch/tsconfig.test.json new file mode 100644 index 000000000000..fd35f8c6793b --- /dev/null +++ b/sdk/batch/arm-batch/tsconfig.test.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "moduleResolution": "node", + "strict": true, + "target": "es5", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": ["es6", "dom"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./test/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/batch/batch/package.json b/sdk/batch/batch/package.json index 5bbee36cdc23..c9818c908caf 100644 --- a/sdk/batch/batch/package.json +++ b/sdk/batch/batch/package.json @@ -8,8 +8,8 @@ "@azure/ms-rest-js": "^2.0.4", "@types/uuid": "^8.0.0", "buffer": "^5.2.1", - "jssha": "^2.3.1", - "tslib": "^1.10.0", + "jssha": "^3.1.0", + "tslib": "^2.0.0", "url-parse": "^1.4.7" }, "keywords": [ @@ -24,26 +24,25 @@ "module": "./esm/batchIndex.js", "types": "./esm/batchIndex.d.ts", "devDependencies": { - "@azure/ms-rest-nodeauth": "^3.0.3", - "@types/chai": "^4.2.11", + "@types/chai": "^4.1.6", "@types/jssha": "^2.0.0", "@types/mocha": "^7.0.2", "@types/url-parse": "^1.4.3", "adal-node": "^0.2.1", "chai": "^4.2.0", "dotenv": "^8.2.0", - "mocha": "^7.2.0", + "mocha": "^7.1.1", "moment": "^2.24.0", - "rollup": "^1.18.0", + "rollup": "^1.16.3", "rollup-plugin-commonjs": "^10.1.0", "rollup-plugin-inject": "^3.0.2", "rollup-plugin-json": "^4.0.0", "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-sourcemaps": "^0.4.2", "ts-mocha": "^7.0.0", - "typescript": "^3.9.5", + "typescript": "~3.9.3", "uglify-js": "^3.4.9", - "uuid": "^7.0.3" + "uuid": "^8.3.0" }, "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/batch/batch", "repository": { From b6888c44876bbd605e27b4fae9f3943cb759b7b2 Mon Sep 17 00:00:00 2001 From: Xing Wu Date: Tue, 20 Oct 2020 10:44:18 -0700 Subject: [PATCH 3/8] Update sdk/batch/arm-batch/src/batchManagementClientContext.ts Co-authored-by: Ramya Rao --- sdk/batch/arm-batch/src/batchManagementClientContext.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/batch/arm-batch/src/batchManagementClientContext.ts b/sdk/batch/arm-batch/src/batchManagementClientContext.ts index c1ca39bae298..239857a63782 100644 --- a/sdk/batch/arm-batch/src/batchManagementClientContext.ts +++ b/sdk/batch/arm-batch/src/batchManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-batch"; -const packageVersion = "4.0.0"; +const packageVersion = "5.0.0"; export class BatchManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; From 0255e13cd39b4337ccfb60274772bfc65c3a6418 Mon Sep 17 00:00:00 2001 From: Xing Wu Date: Tue, 20 Oct 2020 10:46:56 -0700 Subject: [PATCH 4/8] Update sdk/batch/arm-batch/package.json Co-authored-by: Deyaaeldeen Almahallawi --- sdk/batch/arm-batch/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/batch/arm-batch/package.json b/sdk/batch/arm-batch/package.json index 181a178433a8..9c893d7d1d67 100644 --- a/sdk/batch/arm-batch/package.json +++ b/sdk/batch/arm-batch/package.json @@ -59,7 +59,7 @@ "build": "tsc && rollup -c rollup.config.js && npm run minify", "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-batch.js.map'\" -o ./dist/arm-batch.min.js ./dist/arm-batch.js", "prepack": "npm install && npm run build", - "test": "ts-mocha -p tsconfig.test.json test/*.spec.ts --timeout 100000" + "test": "mocha -r esm --require ts-node/register test/*.spec.ts --timeout 1200000 --full-trace" }, "sideEffects": false } From ebab98ff73a2deee4667ba315bf574bca2621553 Mon Sep 17 00:00:00 2001 From: Xing Wu Date: Tue, 20 Oct 2020 10:47:08 -0700 Subject: [PATCH 5/8] Update sdk/batch/arm-batch/package.json Co-authored-by: Deyaaeldeen Almahallawi --- sdk/batch/arm-batch/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/batch/arm-batch/package.json b/sdk/batch/arm-batch/package.json index 9c893d7d1d67..37d36ee5568b 100644 --- a/sdk/batch/arm-batch/package.json +++ b/sdk/batch/arm-batch/package.json @@ -29,7 +29,8 @@ "rollup": "^1.16.3", "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-sourcemaps": "^0.4.2", - "ts-mocha": "^7.0.0", + "esm": "^3.2.25", + "ts-node": "^8.3.0", "typescript": "~3.9.3", "uglify-js": "^3.4.9" }, From c17a760c644334e6015747004842c08d9fe2e6f5 Mon Sep 17 00:00:00 2001 From: Xing Wu Date: Tue, 20 Oct 2020 11:57:21 -0700 Subject: [PATCH 6/8] Undo the change for rush environment. --- common/config/rush/pnpm-lock.yaml | 184 ------------------------------ dataplane.code-workspace | 4 - rush.json | 10 -- sdk/batch/batch/package.json | 15 +-- 4 files changed, 8 insertions(+), 205 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index bbb608b70cbf..e54373f1e663 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -5,8 +5,6 @@ dependencies: '@rush-temp/ai-metrics-advisor': 'file:projects/ai-metrics-advisor.tgz' '@rush-temp/ai-text-analytics': 'file:projects/ai-text-analytics.tgz' '@rush-temp/app-configuration': 'file:projects/app-configuration.tgz' - '@rush-temp/arm-batch': 'file:projects/arm-batch.tgz' - '@rush-temp/batch': 'file:projects/batch.tgz' '@rush-temp/communication-administration': 'file:projects/communication-administration.tgz' '@rush-temp/communication-chat': 'file:projects/communication-chat.tgz' '@rush-temp/communication-common': 'file:projects/communication-common.tgz' @@ -194,13 +192,6 @@ packages: dev: false resolution: integrity: sha512-l7z0DPCi2Hp88w12JhDTtx5d0Y3+vhfE7JKJb9O7sEz71Cwp053N8piTtTnnk/tUor9oZHgEKi/p3tQQmLPjvA== - /@azure/ms-rest-azure-js/2.0.1: - dependencies: - '@azure/ms-rest-js': 2.1.0 - tslib: 1.14.1 - dev: false - resolution: - integrity: sha512-5e+A710O7gRFISoV4KI/ZyLQbKmjXxQZ1L8Z/sx7jSUQqmswjTnN4yyIZxs5JzfLVkobU0rXxbi5/LVzaI8QXQ== /@azure/ms-rest-js/1.9.0: dependencies: '@types/tunnel': 0.0.0 @@ -214,21 +205,6 @@ packages: dev: false resolution: integrity: sha512-cB4Z2Mg7eBmet1rfbf0QSO1XbhfknRW7B+mX3IHJq0KGHaGJvCPoVTgdsJdCkazEMK1jtANFNEDDzSQacxyzbA== - /@azure/ms-rest-js/2.1.0: - dependencies: - '@types/node-fetch': 2.5.7 - '@types/tunnel': 0.0.1 - abort-controller: 3.0.0 - form-data: 2.5.1 - node-fetch: 2.6.1 - tough-cookie: 3.0.1 - tslib: 1.14.1 - tunnel: 0.0.6 - uuid: 3.4.0 - xml2js: 0.4.23 - dev: false - resolution: - integrity: sha512-4BXLVImYRt+jcUmEJ5LUWglI8RBNVQndY6IcyvQ4U8O4kIXdmlRz3cJdA/RpXf5rKT38KOoTO2T6Z1f6Z1HDBg== /@azure/ms-rest-nodeauth/0.9.3: dependencies: '@azure/ms-rest-azure-env': 1.1.2 @@ -828,10 +804,6 @@ packages: optional: true resolution: integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - /@types/jssha/2.0.0: - dev: false - resolution: - integrity: sha512-oBnY3csYnXfqZXDRBJwP1nDDJCW/+VMJ88UHT4DCy0deSXpJIQvMCwYlnmdW4M+u7PiSfQc44LmiFcUbJ8hLEw== /@types/jws/3.2.2: dependencies: '@types/node': 8.10.64 @@ -923,12 +895,6 @@ packages: dev: false resolution: integrity: sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== - /@types/resolve/0.0.8: - dependencies: - '@types/node': 10.17.39 - dev: false - resolution: - integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== /@types/resolve/1.17.1: dependencies: '@types/node': 8.10.64 @@ -976,10 +942,6 @@ packages: dev: false resolution: integrity: sha512-T3NQD8hXNW2sRsSbLNjF/aBo18MyJlbw0lSpQHB/eZZtScPdexN4HSa8cByYwTw9Wy7KuOFr81mlDQcQQaZ79w== - /@types/url-parse/1.4.3: - dev: false - resolution: - integrity: sha512-4kHAkbV/OfW2kb5BLVUuUMoumB3CP8rHqlw48aHvFy5tf9ER0AfOonBlX29l/DD68G70DmyhRlSYfQPSYpC5Vw== /@types/uuid/8.3.0: dev: false resolution: @@ -1154,22 +1116,6 @@ packages: node: '>= 0.6.15' resolution: integrity: sha1-RoxLs+u9lrEnBmn0ucuk4AZepIU= - /adal-node/0.2.1: - dependencies: - '@types/node': 8.10.64 - async: 2.6.3 - date-utils: 1.2.21 - jws: 3.2.2 - request: 2.88.2 - underscore: 1.11.0 - uuid: 3.4.0 - xmldom: 0.3.0 - xpath.js: 1.1.0 - dev: false - engines: - node: '>= 0.6.15' - resolution: - integrity: sha512-C/oasZuTy0NIqh5wPWjG/09XaG+zS7elC8upf1ZVExt9lSRncme4Ejbx8CKYk+wsGgj609y84txtRAXQVvqApg== /after/0.8.2: dev: false resolution: @@ -1451,12 +1397,6 @@ packages: dev: false resolution: integrity: sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - /async/2.6.3: - dependencies: - lodash: 4.17.20 - dev: false - resolution: - integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== /async/3.2.0: dev: false resolution: @@ -4025,12 +3965,6 @@ packages: node: '>= 0.10' resolution: integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - /ip-regex/2.1.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= /ip/1.1.5: dev: false resolution: @@ -6276,10 +6210,6 @@ packages: node: '>=0.4.x' resolution: integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - /querystringify/2.2.0: - dev: false - resolution: - integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== /quote/0.4.0: dev: false resolution: @@ -6672,36 +6602,6 @@ packages: dev: false resolution: integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - /rollup-plugin-commonjs/10.1.0_rollup@1.32.1: - dependencies: - estree-walker: 0.6.1 - is-reference: 1.2.1 - magic-string: 0.25.7 - resolve: 1.17.0 - rollup: 1.32.1 - rollup-pluginutils: 2.8.2 - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs. - dev: false - peerDependencies: - rollup: '>=1.12.0' - resolution: - integrity: sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q== - /rollup-plugin-inject/3.0.2: - dependencies: - estree-walker: 0.6.1 - magic-string: 0.25.7 - rollup-pluginutils: 2.8.2 - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. - dev: false - resolution: - integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w== - /rollup-plugin-json/4.0.0: - dependencies: - rollup-pluginutils: 2.8.2 - deprecated: This module has been deprecated and is no longer maintained. Please use @rollup/plugin-json. - dev: false - resolution: - integrity: sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow== /rollup-plugin-local-resolve/1.0.7: dev: false resolution: @@ -6726,20 +6626,6 @@ packages: dev: false resolution: integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== - /rollup-plugin-node-resolve/5.2.0_rollup@1.32.1: - dependencies: - '@types/resolve': 0.0.8 - builtin-modules: 3.1.0 - is-module: 1.0.0 - resolve: 1.17.0 - rollup: 1.32.1 - rollup-pluginutils: 2.8.2 - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve. - dev: false - peerDependencies: - rollup: '>=1.11.0' - resolution: - integrity: sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== /rollup-plugin-shim/1.0.0: dev: false resolution: @@ -7641,16 +7527,6 @@ packages: node: '>=0.8' resolution: integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - /tough-cookie/3.0.1: - dependencies: - ip-regex: 2.1.0 - psl: 1.8.0 - punycode: 2.1.1 - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== /tough-cookie/4.0.0: dependencies: psl: 1.8.0 @@ -7944,13 +7820,6 @@ packages: dev: false resolution: integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - /url-parse/1.4.7: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - dev: false - resolution: - integrity: sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== /url/0.11.0: dependencies: punycode: 1.3.2 @@ -8679,56 +8548,6 @@ packages: integrity: sha512-1/4p5+BpfkiSBbAHzmb5hXcYeOa03Xlm3Fzjjgpwps5P1Q+qU+8Ew60NpxA0fQUNJxpcVHwVSDwPgrVsNlGmCg== tarball: 'file:projects/app-configuration.tgz' version: 0.0.0 - 'file:projects/arm-batch.tgz': - dependencies: - '@azure/ms-rest-azure-js': 2.0.1 - '@azure/ms-rest-js': 2.1.0 - rollup: 1.32.1 - rollup-plugin-node-resolve: 5.2.0_rollup@1.32.1 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.0.3 - typescript: 3.9.7 - uglify-js: 3.11.2 - dev: false - name: '@rush-temp/arm-batch' - resolution: - integrity: sha512-GDTnOcN5LA1GpDkfPt5T8rmHi0w7ygTlsTBqStoaZSDWhFYgGqspTo7X5d/0+hd1dYJpo2ijgScNniCP+tbLQw== - tarball: 'file:projects/arm-batch.tgz' - version: 0.0.0 - 'file:projects/batch.tgz': - dependencies: - '@azure/ms-rest-azure-js': 2.0.1 - '@azure/ms-rest-js': 2.1.0 - '@types/chai': 4.2.13 - '@types/jssha': 2.0.0 - '@types/mocha': 7.0.2 - '@types/url-parse': 1.4.3 - '@types/uuid': 8.3.0 - adal-node: 0.2.1 - buffer: 5.6.0 - chai: 4.2.0 - dotenv: 8.2.0 - jssha: 3.1.2 - mocha: 7.2.0 - moment: 2.29.1 - rollup: 1.32.1 - rollup-plugin-commonjs: 10.1.0_rollup@1.32.1 - rollup-plugin-inject: 3.0.2 - rollup-plugin-json: 4.0.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.32.1 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - ts-mocha: 7.0.0_mocha@7.2.0 - tslib: 2.0.3 - typescript: 3.9.7 - uglify-js: 3.11.2 - url-parse: 1.4.7 - uuid: 8.3.1 - dev: false - name: '@rush-temp/batch' - resolution: - integrity: sha512-I7Xn7YMiNBA1D+/NuGDz1hDfFO8JLzbkHBmIVbP6xfXlYx5hRsDRFaiJo72U9mBq5b/0lC9vAb+7s5rMtcVUIQ== - tarball: 'file:projects/batch.tgz' - version: 0.0.0 'file:projects/communication-administration.tgz': dependencies: '@azure/core-tracing': 1.0.0-preview.9 @@ -10938,7 +10757,6 @@ packages: integrity: sha512-uZaBXfZM1ISycMx+p8kUd/Yqui/KgjgUm/CyAzxK2wkOmqKF66JuLD5lbkH4tXBi+F5rL59UaMhjjxskb6qbzA== tarball: 'file:projects/testhub.tgz' version: 0.0.0 -registry: '' specifiers: '@rush-temp/abort-controller': 'file:./projects/abort-controller.tgz' '@rush-temp/ai-anomaly-detector': 'file:./projects/ai-anomaly-detector.tgz' @@ -10946,8 +10764,6 @@ specifiers: '@rush-temp/ai-metrics-advisor': 'file:./projects/ai-metrics-advisor.tgz' '@rush-temp/ai-text-analytics': 'file:./projects/ai-text-analytics.tgz' '@rush-temp/app-configuration': 'file:./projects/app-configuration.tgz' - '@rush-temp/arm-batch': 'file:./projects/arm-batch.tgz' - '@rush-temp/batch': 'file:./projects/batch.tgz' '@rush-temp/communication-administration': 'file:./projects/communication-administration.tgz' '@rush-temp/communication-chat': 'file:./projects/communication-chat.tgz' '@rush-temp/communication-common': 'file:./projects/communication-common.tgz' diff --git a/dataplane.code-workspace b/dataplane.code-workspace index 0f53b8c0bc4b..1100b1efacd5 100644 --- a/dataplane.code-workspace +++ b/dataplane.code-workspace @@ -164,10 +164,6 @@ "name": "perfstress", "path": "sdk/test-utils/perfstress" }, - { - "name": "batch", - "path": "sdk/batch/batch" - }, { "path": "sdk\\digitaltwins\\digital-twins" } diff --git a/rush.json b/rush.json index ae5eed091896..ede0e21b568a 100644 --- a/rush.json +++ b/rush.json @@ -581,16 +581,6 @@ "packageName": "@azure/digital-twins", "projectFolder": "sdk/digitaltwins/digital-twins", "versionPolicyName": "client" - }, - { - "packageName": "@azure/batch", - "projectFolder": "sdk/batch/batch", - "versionPolicyName": "client" - }, - { - "packageName": "@azure/arm-batch", - "projectFolder": "sdk/batch/arm-batch", - "versionPolicyName": "client" } ] } diff --git a/sdk/batch/batch/package.json b/sdk/batch/batch/package.json index c9818c908caf..5bbee36cdc23 100644 --- a/sdk/batch/batch/package.json +++ b/sdk/batch/batch/package.json @@ -8,8 +8,8 @@ "@azure/ms-rest-js": "^2.0.4", "@types/uuid": "^8.0.0", "buffer": "^5.2.1", - "jssha": "^3.1.0", - "tslib": "^2.0.0", + "jssha": "^2.3.1", + "tslib": "^1.10.0", "url-parse": "^1.4.7" }, "keywords": [ @@ -24,25 +24,26 @@ "module": "./esm/batchIndex.js", "types": "./esm/batchIndex.d.ts", "devDependencies": { - "@types/chai": "^4.1.6", + "@azure/ms-rest-nodeauth": "^3.0.3", + "@types/chai": "^4.2.11", "@types/jssha": "^2.0.0", "@types/mocha": "^7.0.2", "@types/url-parse": "^1.4.3", "adal-node": "^0.2.1", "chai": "^4.2.0", "dotenv": "^8.2.0", - "mocha": "^7.1.1", + "mocha": "^7.2.0", "moment": "^2.24.0", - "rollup": "^1.16.3", + "rollup": "^1.18.0", "rollup-plugin-commonjs": "^10.1.0", "rollup-plugin-inject": "^3.0.2", "rollup-plugin-json": "^4.0.0", "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-sourcemaps": "^0.4.2", "ts-mocha": "^7.0.0", - "typescript": "~3.9.3", + "typescript": "^3.9.5", "uglify-js": "^3.4.9", - "uuid": "^8.3.0" + "uuid": "^7.0.3" }, "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/batch/batch", "repository": { From be477b0b9c7e0340adc28767e4b8c34805a19bc7 Mon Sep 17 00:00:00 2001 From: Xing Wu Date: Tue, 20 Oct 2020 12:32:41 -0700 Subject: [PATCH 7/8] Update based on feedback. --- .../test/batchManagementClient.spec.ts | 3 +- sdk/batch/arm-batch/test/sample.env | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 sdk/batch/arm-batch/test/sample.env diff --git a/sdk/batch/arm-batch/test/batchManagementClient.spec.ts b/sdk/batch/arm-batch/test/batchManagementClient.spec.ts index 6eb8191ccbc6..974f8dd717bd 100644 --- a/sdk/batch/arm-batch/test/batchManagementClient.spec.ts +++ b/sdk/batch/arm-batch/test/batchManagementClient.spec.ts @@ -5,9 +5,8 @@ import { assert } from "chai"; import * as dotenv from "dotenv"; import * as util from "util"; import * as fs from "fs"; -import { ServiceClient, WebResource } from "@azure/core-http"; import { AuthenticationContext } from "adal-node"; -import { TokenCredentials, RestError } from "@azure/ms-rest-js"; +import { TokenCredentials, RestError, ServiceClient, WebResource } from "@azure/ms-rest-js"; import { CertificateCreateOrUpdateParameters } from "../src/models"; dotenv.config(); diff --git a/sdk/batch/arm-batch/test/sample.env b/sdk/batch/arm-batch/test/sample.env new file mode 100644 index 000000000000..7f216b25bcdf --- /dev/null +++ b/sdk/batch/arm-batch/test/sample.env @@ -0,0 +1,30 @@ +Test Configuration Instructions +================================ + + +In Live Mode +------------- + +- First create a Service Principal for the subscription you wish to test against. + Follow the instructions here on creating a Service Principal using the Azure CLI: + https://github.com/Azure/azure-sdk-for-node/blob/master/Documentation/Authentication.md + +- Once the Service Principal is configured, set the following env variables. + + AZURE_SUBSCRIPTION_ID: Azure subscription GUID + AZURE_CLIENT_ID: The Service Principal Application ID + AZURE_CLIENT_SECRET: The password configured for the AAD Application + AZURE_TENANT_ID: Tenant (e.g. microsoft.com) + +- The tests are configured by default to run with in japaneast, using a resource group of + 'default-azurebatch-japaneast'. To change this location set: + + AZURE_TEST_LOCATION: Location name + +- The tests require a storage account to be configured. Using the CLI: + >> az storage account create -n -l -g --sku Standard_LRS + + The tests have been configured against a of nodesdkteststorage. If you have set up + a different name, then set: + + AZURE_AUTOSTORAGE: Your storage account name From c407eea7c6e867594f6afcdc98e540fb2bc5765f Mon Sep 17 00:00:00 2001 From: Xing Wu Date: Wed, 21 Oct 2020 11:54:31 -0700 Subject: [PATCH 8/8] update based on feedback --- sdk/batch/arm-batch/test/sample.env | 45 +++++++++----------------- sdk/batch/arm-batch/tsconfig.test.json | 19 ----------- 2 files changed, 15 insertions(+), 49 deletions(-) delete mode 100644 sdk/batch/arm-batch/tsconfig.test.json diff --git a/sdk/batch/arm-batch/test/sample.env b/sdk/batch/arm-batch/test/sample.env index 7f216b25bcdf..d5472d5d1ed2 100644 --- a/sdk/batch/arm-batch/test/sample.env +++ b/sdk/batch/arm-batch/test/sample.env @@ -1,30 +1,15 @@ -Test Configuration Instructions -================================ - - -In Live Mode -------------- - -- First create a Service Principal for the subscription you wish to test against. - Follow the instructions here on creating a Service Principal using the Azure CLI: - https://github.com/Azure/azure-sdk-for-node/blob/master/Documentation/Authentication.md - -- Once the Service Principal is configured, set the following env variables. - - AZURE_SUBSCRIPTION_ID: Azure subscription GUID - AZURE_CLIENT_ID: The Service Principal Application ID - AZURE_CLIENT_SECRET: The password configured for the AAD Application - AZURE_TENANT_ID: Tenant (e.g. microsoft.com) - -- The tests are configured by default to run with in japaneast, using a resource group of - 'default-azurebatch-japaneast'. To change this location set: - - AZURE_TEST_LOCATION: Location name - -- The tests require a storage account to be configured. Using the CLI: - >> az storage account create -n -l -g --sku Standard_LRS - - The tests have been configured against a of nodesdkteststorage. If you have set up - a different name, then set: - - AZURE_AUTOSTORAGE: Your storage account name +# First create a Service Principal for the subscription you wish to test against. +# Follow the instructions here on creating a Service Principal using the Azure CLI: +# https://github.com/Azure/azure-sdk-for-node/blob/master/Documentation/Authentication.md +AZURE_SUBSCRIPTION_ID= +AZURE_CLIENT_ID= +AZURE_CLIENT_SECRET= +AZURE_TENANT_ID= +# The tests are configured by default to run with in japaneast, using a resource group of +# 'default-azurebatch-japaneast'. To change this location set: +AZURE_TEST_LOCATION="japaneast" +# The tests require a storage account to be configured. Using the CLI: +# >> az storage account create -n -l -g --sku Standard_LRS +# The tests have been configured against nodesdkteststorage. If you have set up +# a different name, then set this var: +AZURE_AUTOSTORAGE="nodesdkteststorage" \ No newline at end of file diff --git a/sdk/batch/arm-batch/tsconfig.test.json b/sdk/batch/arm-batch/tsconfig.test.json deleted file mode 100644 index fd35f8c6793b..000000000000 --- a/sdk/batch/arm-batch/tsconfig.test.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "moduleResolution": "node", - "strict": true, - "target": "es5", - "sourceMap": true, - "declarationMap": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "lib": ["es6", "dom"], - "declaration": true, - "outDir": "./esm", - "importHelpers": true - }, - "include": ["./test/**/*.ts"], - "exclude": ["node_modules"] -}