diff --git a/packages/@azure/arm-compute/.npmignore b/packages/@azure/arm-compute/.npmignore new file mode 100644 index 000000000000..a07a455ac10c --- /dev/null +++ b/packages/@azure/arm-compute/.npmignore @@ -0,0 +1,35 @@ +#git +.git +.gitignore +#gulp +gulpfile.js +#documentation +doc/ +docs/ +#dependencies +node_modules/ +#samples +sample/ +samples/ +#tests +test/ +tests/ +coverage/ +#tools and scripts +tools/ +scripts/ +#IDE settings +*.sln +.vscode/ +.idea +.editorconfig +.ntvs_analysis.* +#build tools +.travis.yml +.jenkins.yml +.codeclimate.yml +appveyor.yml +# Nuget packages # +.nuget/ +packages/ +packages.config diff --git a/packages/@azure/arm-compute/LICENSE.txt b/packages/@azure/arm-compute/LICENSE.txt new file mode 100644 index 000000000000..5431ba98b936 --- /dev/null +++ b/packages/@azure/arm-compute/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 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 +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/@azure/arm-compute/README.md b/packages/@azure/arm-compute/README.md new file mode 100644 index 000000000000..475461583484 --- /dev/null +++ b/packages/@azure/arm-compute/README.md @@ -0,0 +1,77 @@ +# Azure ComputeManagementClient SDK for JavaScript +This package contains an isomorphic SDK for ComputeManagementClient. + +## Currently supported environments +- Node.js version 6.x.x or higher +- Browser JavaScript + +## How to Install +``` +npm install @azure/arm-compute +``` + + +## How to use + +### nodejs - Authentication, client creation and list operations as an example written in TypeScript. + +```ts +import * as msRest from "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as msRestNodeAuth from "ms-rest-nodeauth"; +import { ComputeManagementClient, ComputeManagementModels, ComputeManagementMappers } from "@azure/arm-compute"; +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +msRestNodeAuth.interactiveLogin().then((creds) => { + const client = new ComputeManagementClient(creds, subscriptionId); + client.operations.list().then((result) => { + console.log("The result is:"); + console.log(result); + }); +}).catch((err) => { + console.error(err); +}); +``` + +### browser - Authentication, client creation and list operations as an example written in JavaScript. +See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. + +- index.html +```html + + + + @azure/arm-compute sample + + + + + + + + + +``` + +# Related projects + - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) diff --git a/packages/@azure/arm-compute/lib/computeManagementClient.ts b/packages/@azure/arm-compute/lib/computeManagementClient.ts new file mode 100644 index 000000000000..8f852c570d34 --- /dev/null +++ b/packages/@azure/arm-compute/lib/computeManagementClient.ts @@ -0,0 +1,85 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "./models"; +import * as Mappers from "./models/mappers"; +import * as operations from "./operations"; +import { ComputeManagementClientContext } from "./computeManagementClientContext"; + + +class ComputeManagementClient extends ComputeManagementClientContext { + // Operation groups + operations: operations.Operations; + availabilitySets: operations.AvailabilitySets; + virtualMachineExtensionImages: operations.VirtualMachineExtensionImages; + virtualMachineExtensions: operations.VirtualMachineExtensions; + virtualMachineImages: operations.VirtualMachineImages; + usage: operations.UsageOperations; + virtualMachines: operations.VirtualMachines; + virtualMachineSizes: operations.VirtualMachineSizes; + images: operations.Images; + virtualMachineScaleSets: operations.VirtualMachineScaleSets; + virtualMachineScaleSetExtensions: operations.VirtualMachineScaleSetExtensions; + virtualMachineScaleSetRollingUpgrades: operations.VirtualMachineScaleSetRollingUpgrades; + virtualMachineScaleSetVMs: operations.VirtualMachineScaleSetVMs; + logAnalytics: operations.LogAnalytics; + virtualMachineRunCommands: operations.VirtualMachineRunCommands; + resourceSkus: operations.ResourceSkus; + disks: operations.Disks; + snapshots: operations.Snapshots; + galleries: operations.Galleries; + galleryImages: operations.GalleryImages; + galleryImageVersions: operations.GalleryImageVersions; + containerServices: operations.ContainerServices; + + /** + * Initializes a new instance of the ComputeManagementClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure + * subscription. The subscription ID forms part of the URI for every service call. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ComputeManagementClientOptions) { + super(credentials, subscriptionId, options); + this.operations = new operations.Operations(this); + this.availabilitySets = new operations.AvailabilitySets(this); + this.virtualMachineExtensionImages = new operations.VirtualMachineExtensionImages(this); + this.virtualMachineExtensions = new operations.VirtualMachineExtensions(this); + this.virtualMachineImages = new operations.VirtualMachineImages(this); + this.usage = new operations.UsageOperations(this); + this.virtualMachines = new operations.VirtualMachines(this); + this.virtualMachineSizes = new operations.VirtualMachineSizes(this); + this.images = new operations.Images(this); + this.virtualMachineScaleSets = new operations.VirtualMachineScaleSets(this); + this.virtualMachineScaleSetExtensions = new operations.VirtualMachineScaleSetExtensions(this); + this.virtualMachineScaleSetRollingUpgrades = new operations.VirtualMachineScaleSetRollingUpgrades(this); + this.virtualMachineScaleSetVMs = new operations.VirtualMachineScaleSetVMs(this); + this.logAnalytics = new operations.LogAnalytics(this); + this.virtualMachineRunCommands = new operations.VirtualMachineRunCommands(this); + this.resourceSkus = new operations.ResourceSkus(this); + this.disks = new operations.Disks(this); + this.snapshots = new operations.Snapshots(this); + this.galleries = new operations.Galleries(this); + this.galleryImages = new operations.GalleryImages(this); + this.galleryImageVersions = new operations.GalleryImageVersions(this); + this.containerServices = new operations.ContainerServices(this); + } +} + +// Operation Specifications + +export { + ComputeManagementClient, + ComputeManagementClientContext, + Models as ComputeManagementModels, + Mappers as ComputeManagementMappers +}; +export * from "./operations"; diff --git a/packages/@azure/arm-compute/lib/computeManagementClientContext.ts b/packages/@azure/arm-compute/lib/computeManagementClientContext.ts new file mode 100644 index 000000000000..4b640c8b6c17 --- /dev/null +++ b/packages/@azure/arm-compute/lib/computeManagementClientContext.ts @@ -0,0 +1,63 @@ +/* + * 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 Models from "./models"; +import * as msRest from "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; + +const packageName = "@azure/arm-compute"; +const packageVersion = "1.0.0"; + +export class ComputeManagementClientContext extends msRestAzure.AzureServiceClient { + + credentials: msRest.ServiceClientCredentials; + + subscriptionId: string; + + acceptLanguage: string; + + longRunningOperationRetryTimeout: number; + + /** + * Initializes a new instance of the ComputeManagementClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure + * subscription. The subscription ID forms part of the URI for every service call. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ComputeManagementClientOptions) { + if (credentials == undefined) { + throw new Error('\'credentials\' cannot be null.'); + } + if (subscriptionId == undefined) { + throw new Error('\'subscriptionId\' cannot be null.'); + } + + if (!options) { + options = {}; + } + super(credentials, options); + + this.acceptLanguage = 'en-US'; + this.longRunningOperationRetryTimeout = 30; + this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; + this.requestContentType = "application/json; charset=utf-8"; + this.credentials = credentials; + this.subscriptionId = subscriptionId; + + this.addUserAgentInfo(`${packageName}/${packageVersion}`); + if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + this.acceptLanguage = options.acceptLanguage; + } + if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; + } + } +} diff --git a/packages/@azure/arm-compute/lib/models/availabilitySetsMappers.ts b/packages/@azure/arm-compute/lib/models/availabilitySetsMappers.ts new file mode 100644 index 000000000000..39dd68c1f530 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/availabilitySetsMappers.ts @@ -0,0 +1,162 @@ +/* + * 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 { + AvailabilitySet, + Resource, + BaseResource, + SubResource, + InstanceViewStatus, + Sku, + CloudError, + AvailabilitySetUpdate, + UpdateResource, + AvailabilitySetListResult, + VirtualMachineSizeListResult, + VirtualMachineSize, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineExtensionUpdate, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + VirtualMachineUpdate, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + ImageUpdate, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/containerServicesMappers.ts b/packages/@azure/arm-compute/lib/models/containerServicesMappers.ts new file mode 100644 index 000000000000..1180a7b9070f --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/containerServicesMappers.ts @@ -0,0 +1,160 @@ +/* + * 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 { + ContainerServiceListResult, + ContainerService, + Resource, + BaseResource, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + CloudError, + SubResource, + AvailabilitySet, + InstanceViewStatus, + Sku, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/disksMappers.ts b/packages/@azure/arm-compute/lib/models/disksMappers.ts new file mode 100644 index 000000000000..d027bdbd0c37 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/disksMappers.ts @@ -0,0 +1,163 @@ +/* + * 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 { + Disk, + Resource, + BaseResource, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + CloudError, + DiskUpdate, + DiskList, + GrantAccessData, + AccessUri, + SubResource, + AvailabilitySet, + InstanceViewStatus, + Sku, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + UpdateResource, + InGuestSoftwareItem, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/galleriesMappers.ts b/packages/@azure/arm-compute/lib/models/galleriesMappers.ts new file mode 100644 index 000000000000..308001826148 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/galleriesMappers.ts @@ -0,0 +1,160 @@ +/* + * 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 { + Gallery, + Resource, + BaseResource, + GalleryIdentifier, + CloudError, + ApiError, + ApiErrorBase, + InnerError, + GalleryList, + SubResource, + AvailabilitySet, + InstanceViewStatus, + Sku, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/galleryImageVersionsMappers.ts b/packages/@azure/arm-compute/lib/models/galleryImageVersionsMappers.ts new file mode 100644 index 000000000000..15c004da6ff9 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/galleryImageVersionsMappers.ts @@ -0,0 +1,160 @@ +/* + * 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 { + GalleryImageVersion, + Resource, + BaseResource, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + CloudError, + ApiError, + ApiErrorBase, + InnerError, + GalleryImageVersionList, + SubResource, + AvailabilitySet, + InstanceViewStatus, + Sku, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/galleryImagesMappers.ts b/packages/@azure/arm-compute/lib/models/galleryImagesMappers.ts new file mode 100644 index 000000000000..96ab0bd7b45b --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/galleryImagesMappers.ts @@ -0,0 +1,160 @@ +/* + * 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 { + GalleryImage, + Resource, + BaseResource, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + CloudError, + ApiError, + ApiErrorBase, + InnerError, + GalleryImageList, + SubResource, + AvailabilitySet, + InstanceViewStatus, + Sku, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/imagesMappers.ts b/packages/@azure/arm-compute/lib/models/imagesMappers.ts new file mode 100644 index 000000000000..ee776461e8f0 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/imagesMappers.ts @@ -0,0 +1,160 @@ +/* + * 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 { + Image, + Resource, + BaseResource, + SubResource, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + CloudError, + ImageUpdate, + UpdateResource, + ImageListResult, + AvailabilitySet, + InstanceViewStatus, + Sku, + AvailabilitySetUpdate, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineExtensionUpdate, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + VirtualMachineUpdate, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/index.ts b/packages/@azure/arm-compute/lib/models/index.ts new file mode 100644 index 000000000000..d468edc757d6 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/index.ts @@ -0,0 +1,10023 @@ +/* + * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "ms-rest-azure-js"; +import * as msRest from "ms-rest-js"; + +export { BaseResource, CloudError }; + + +/** + * @interface + * An interface representing ComputeOperationValue. + * Describes the properties of a Compute Operation value. + * + */ +export interface ComputeOperationValue { + /** + * @member {string} [origin] The origin of the compute operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly origin?: string; + /** + * @member {string} [name] The name of the compute operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly name?: string; + /** + * @member {string} [operation] The display name of the compute operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly operation?: string; + /** + * @member {string} [resource] The display name of the resource the operation + * applies to. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly resource?: string; + /** + * @member {string} [description] The description of the operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly description?: string; + /** + * @member {string} [provider] The resource provider for the operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provider?: string; +} + +/** + * @interface + * An interface representing InstanceViewStatus. + * Instance view status. + * + */ +export interface InstanceViewStatus { + /** + * @member {string} [code] The status code. + */ + code?: string; + /** + * @member {StatusLevelTypes} [level] The level code. Possible values + * include: 'Info', 'Warning', 'Error' + */ + level?: StatusLevelTypes; + /** + * @member {string} [displayStatus] The short localizable label for the + * status. + */ + displayStatus?: string; + /** + * @member {string} [message] The detailed status message, including for + * alerts and error messages. + */ + message?: string; + /** + * @member {Date} [time] The time of the status. + */ + time?: Date; +} + +/** + * @interface + * An interface representing SubResource. + * @extends BaseResource + */ +export interface SubResource extends BaseResource { + /** + * @member {string} [id] Resource Id + */ + id?: string; +} + +/** + * @interface + * An interface representing Sku. + * Describes a virtual machine scale set sku. + * + */ +export interface Sku { + /** + * @member {string} [name] The sku name. + */ + name?: string; + /** + * @member {string} [tier] Specifies the tier of virtual machines in a scale + * set.

Possible Values:

**Standard**

+ * **Basic** + */ + tier?: string; + /** + * @member {number} [capacity] Specifies the number of virtual machines in + * the scale set. + */ + capacity?: number; +} + +/** + * @interface + * An interface representing Resource. + * The Resource model definition. + * + * @extends BaseResource + */ +export interface Resource extends BaseResource { + /** + * @member {string} [id] Resource Id + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {string} [name] Resource name + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly name?: string; + /** + * @member {string} [type] Resource type + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly type?: string; + /** + * @member {string} location Resource location + */ + location: string; + /** + * @member {{ [propertyName: string]: string }} [tags] Resource tags + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing AvailabilitySet. + * Specifies information about the availability set that the virtual machine + * should be assigned to. Virtual machines specified in the same availability + * set are allocated to different nodes to maximize availability. For more + * information about availability sets, see [Manage the availability of virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + *

For more information on Azure planned maintainance, see [Planned + * maintenance for virtual machines in + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

Currently, a VM can only be added to availability set at creation + * time. An existing VM cannot be added to an availability set. + * + * @extends Resource + */ +export interface AvailabilitySet extends Resource { + /** + * @member {number} [platformUpdateDomainCount] Update Domain count. + */ + platformUpdateDomainCount?: number; + /** + * @member {number} [platformFaultDomainCount] Fault Domain count. + */ + platformFaultDomainCount?: number; + /** + * @member {SubResource[]} [virtualMachines] A list of references to all + * virtual machines in the availability set. + */ + virtualMachines?: SubResource[]; + /** + * @member {InstanceViewStatus[]} [statuses] The resource status information. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly statuses?: InstanceViewStatus[]; + /** + * @member {Sku} [sku] Sku of the availability set, only name is required to + * be set. See AvailabilitySetSkuTypes for possible set of values. Use + * 'Aligned' for virtual machines with managed disks and 'Classic' for + * virtual machines with unmanaged disks. Default value is 'Classic'. + */ + sku?: Sku; +} + +/** + * @interface + * An interface representing UpdateResource. + * The Update Resource model definition. + * + * @extends BaseResource + */ +export interface UpdateResource extends BaseResource { + /** + * @member {{ [propertyName: string]: string }} [tags] Resource tags + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing AvailabilitySetUpdate. + * Specifies information about the availability set that the virtual machine + * should be assigned to. Only tags may be updated. + * + * @extends UpdateResource + */ +export interface AvailabilitySetUpdate extends UpdateResource { + /** + * @member {number} [platformUpdateDomainCount] Update Domain count. + */ + platformUpdateDomainCount?: number; + /** + * @member {number} [platformFaultDomainCount] Fault Domain count. + */ + platformFaultDomainCount?: number; + /** + * @member {SubResource[]} [virtualMachines] A list of references to all + * virtual machines in the availability set. + */ + virtualMachines?: SubResource[]; + /** + * @member {InstanceViewStatus[]} [statuses] The resource status information. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly statuses?: InstanceViewStatus[]; + /** + * @member {Sku} [sku] Sku of the availability set + */ + sku?: Sku; +} + +/** + * @interface + * An interface representing VirtualMachineSize. + * Describes the properties of a VM size. + * + */ +export interface VirtualMachineSize { + /** + * @member {string} [name] The name of the virtual machine size. + */ + name?: string; + /** + * @member {number} [numberOfCores] The number of cores supported by the + * virtual machine size. + */ + numberOfCores?: number; + /** + * @member {number} [osDiskSizeInMB] The OS disk size, in MB, allowed by the + * virtual machine size. + */ + osDiskSizeInMB?: number; + /** + * @member {number} [resourceDiskSizeInMB] The resource disk size, in MB, + * allowed by the virtual machine size. + */ + resourceDiskSizeInMB?: number; + /** + * @member {number} [memoryInMB] The amount of memory, in MB, supported by + * the virtual machine size. + */ + memoryInMB?: number; + /** + * @member {number} [maxDataDiskCount] The maximum number of data disks that + * can be attached to the virtual machine size. + */ + maxDataDiskCount?: number; +} + +/** + * @interface + * An interface representing VirtualMachineExtensionImage. + * Describes a Virtual Machine Extension Image. + * + * @extends Resource + */ +export interface VirtualMachineExtensionImage extends Resource { + /** + * @member {string} operatingSystem The operating system this extension + * supports. + */ + operatingSystem: string; + /** + * @member {string} computeRole The type of role (IaaS or PaaS) this + * extension supports. + */ + computeRole: string; + /** + * @member {string} handlerSchema The schema defined by publisher, where + * extension consumers should provide settings in a matching schema. + */ + handlerSchema: string; + /** + * @member {boolean} [vmScaleSetEnabled] Whether the extension can be used on + * xRP VMScaleSets. By default existing extensions are usable on scalesets, + * but there might be cases where a publisher wants to explicitly indicate + * the extension is only enabled for CRP VMs but not VMSS. + */ + vmScaleSetEnabled?: boolean; + /** + * @member {boolean} [supportsMultipleExtensions] Whether the handler can + * support multiple extensions. + */ + supportsMultipleExtensions?: boolean; +} + +/** + * @interface + * An interface representing VirtualMachineImageResource. + * Virtual machine image resource information. + * + * @extends SubResource + */ +export interface VirtualMachineImageResource extends SubResource { + /** + * @member {string} name The name of the resource. + */ + name: string; + /** + * @member {string} location The supported Azure location of the resource. + */ + location: string; + /** + * @member {{ [propertyName: string]: string }} [tags] Specifies the tags + * that are assigned to the virtual machine. For more information about using + * tags, see [Using tags to organize your Azure + * resources](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md). + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing VirtualMachineExtensionInstanceView. + * The instance view of a virtual machine extension. + * + */ +export interface VirtualMachineExtensionInstanceView { + /** + * @member {string} [name] The virtual machine extension name. + */ + name?: string; + /** + * @member {string} [type] Specifies the type of the extension; an example is + * "CustomScriptExtension". + */ + type?: string; + /** + * @member {string} [typeHandlerVersion] Specifies the version of the script + * handler. + */ + typeHandlerVersion?: string; + /** + * @member {InstanceViewStatus[]} [substatuses] The resource status + * information. + */ + substatuses?: InstanceViewStatus[]; + /** + * @member {InstanceViewStatus[]} [statuses] The resource status information. + */ + statuses?: InstanceViewStatus[]; +} + +/** + * @interface + * An interface representing VirtualMachineExtension. + * Describes a Virtual Machine Extension. + * + * @extends Resource + */ +export interface VirtualMachineExtension extends Resource { + /** + * @member {string} [forceUpdateTag] How the extension handler should be + * forced to update even if the extension configuration has not changed. + */ + forceUpdateTag?: string; + /** + * @member {string} [publisher] The name of the extension handler publisher. + */ + publisher?: string; + /** + * @member {string} [virtualMachineExtensionType] Specifies the type of the + * extension; an example is "CustomScriptExtension". + */ + virtualMachineExtensionType?: string; + /** + * @member {string} [typeHandlerVersion] Specifies the version of the script + * handler. + */ + typeHandlerVersion?: string; + /** + * @member {boolean} [autoUpgradeMinorVersion] Indicates whether the + * extension should use a newer minor version if one is available at + * deployment time. Once deployed, however, the extension will not upgrade + * minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: boolean; + /** + * @member {any} [settings] Json formatted public settings for the extension. + */ + settings?: any; + /** + * @member {any} [protectedSettings] The extension can contain either + * protectedSettings or protectedSettingsFromKeyVault or no protected + * settings at all. + */ + protectedSettings?: any; + /** + * @member {string} [provisioningState] The provisioning state, which only + * appears in the response. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; + /** + * @member {VirtualMachineExtensionInstanceView} [instanceView] The virtual + * machine extension instance view. + */ + instanceView?: VirtualMachineExtensionInstanceView; +} + +/** + * @interface + * An interface representing VirtualMachineExtensionUpdate. + * Describes a Virtual Machine Extension. + * + * @extends UpdateResource + */ +export interface VirtualMachineExtensionUpdate extends UpdateResource { + /** + * @member {string} [forceUpdateTag] How the extension handler should be + * forced to update even if the extension configuration has not changed. + */ + forceUpdateTag?: string; + /** + * @member {string} [publisher] The name of the extension handler publisher. + */ + publisher?: string; + /** + * @member {string} [type] Specifies the type of the extension; an example is + * "CustomScriptExtension". + */ + type?: string; + /** + * @member {string} [typeHandlerVersion] Specifies the version of the script + * handler. + */ + typeHandlerVersion?: string; + /** + * @member {boolean} [autoUpgradeMinorVersion] Indicates whether the + * extension should use a newer minor version if one is available at + * deployment time. Once deployed, however, the extension will not upgrade + * minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: boolean; + /** + * @member {any} [settings] Json formatted public settings for the extension. + */ + settings?: any; + /** + * @member {any} [protectedSettings] The extension can contain either + * protectedSettings or protectedSettingsFromKeyVault or no protected + * settings at all. + */ + protectedSettings?: any; +} + +/** + * @interface + * An interface representing VirtualMachineExtensionsListResult. + * The List Extension operation response + * + */ +export interface VirtualMachineExtensionsListResult { + /** + * @member {VirtualMachineExtension[]} [value] The list of extensions + */ + value?: VirtualMachineExtension[]; +} + +/** + * @interface + * An interface representing PurchasePlan. + * Used for establishing the purchase context of any 3rd Party artifact through + * MarketPlace. + * + */ +export interface PurchasePlan { + /** + * @member {string} publisher The publisher ID. + */ + publisher: string; + /** + * @member {string} name The plan ID. + */ + name: string; + /** + * @member {string} product Specifies the product of the image from the + * marketplace. This is the same value as Offer under the imageReference + * element. + */ + product: string; +} + +/** + * @interface + * An interface representing OSDiskImage. + * Contains the os disk image information. + * + */ +export interface OSDiskImage { + /** + * @member {OperatingSystemTypes} operatingSystem The operating system of the + * osDiskImage. Possible values include: 'Windows', 'Linux' + */ + operatingSystem: OperatingSystemTypes; +} + +/** + * @interface + * An interface representing DataDiskImage. + * Contains the data disk images information. + * + */ +export interface DataDiskImage { + /** + * @member {number} [lun] Specifies the logical unit number of the data disk. + * This value is used to identify data disks within the VM and therefore must + * be unique for each data disk attached to a VM. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly lun?: number; +} + +/** + * @interface + * An interface representing AutomaticOSUpgradeProperties. + * Describes automatic OS upgrade properties on the image. + * + */ +export interface AutomaticOSUpgradeProperties { + /** + * @member {boolean} automaticOSUpgradeSupported Specifies whether automatic + * OS upgrade is supported on the image. + */ + automaticOSUpgradeSupported: boolean; +} + +/** + * @interface + * An interface representing VirtualMachineImage. + * Describes a Virtual Machine Image. + * + * @extends VirtualMachineImageResource + */ +export interface VirtualMachineImage extends VirtualMachineImageResource { + /** + * @member {PurchasePlan} [plan] + */ + plan?: PurchasePlan; + /** + * @member {OSDiskImage} [osDiskImage] + */ + osDiskImage?: OSDiskImage; + /** + * @member {DataDiskImage[]} [dataDiskImages] + */ + dataDiskImages?: DataDiskImage[]; + /** + * @member {AutomaticOSUpgradeProperties} [automaticOSUpgradeProperties] + */ + automaticOSUpgradeProperties?: AutomaticOSUpgradeProperties; +} + +/** + * @interface + * An interface representing UsageName. + * The Usage Names. + * + */ +export interface UsageName { + /** + * @member {string} [value] The name of the resource. + */ + value?: string; + /** + * @member {string} [localizedValue] The localized name of the resource. + */ + localizedValue?: string; +} + +/** + * @interface + * An interface representing Usage. + * Describes Compute Resource Usage. + * + */ +export interface Usage { + /** + * @member {number} currentValue The current usage of the resource. + */ + currentValue: number; + /** + * @member {number} limit The maximum permitted usage of the resource. + */ + limit: number; + /** + * @member {UsageName} name The name of the type of usage. + */ + name: UsageName; +} + +/** + * @interface + * An interface representing VirtualMachineCaptureParameters. + * Capture Virtual Machine parameters. + * + */ +export interface VirtualMachineCaptureParameters { + /** + * @member {string} vhdPrefix The captured virtual hard disk's name prefix. + */ + vhdPrefix: string; + /** + * @member {string} destinationContainerName The destination container name. + */ + destinationContainerName: string; + /** + * @member {boolean} overwriteVhds Specifies whether to overwrite the + * destination virtual hard disk, in case of conflict. + */ + overwriteVhds: boolean; +} + +/** + * @interface + * An interface representing VirtualMachineCaptureResult. + * Output of virtual machine capture operation. + * + * @extends SubResource + */ +export interface VirtualMachineCaptureResult extends SubResource { + /** + * @member {string} [schema] the schema of the captured virtual machine + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly schema?: string; + /** + * @member {string} [contentVersion] the version of the content + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly contentVersion?: string; + /** + * @member {any} [parameters] parameters of the captured virtual machine + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly parameters?: any; + /** + * @member {any[]} [resources] a list of resource items of the captured + * virtual machine + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly resources?: any[]; +} + +/** + * @interface + * An interface representing Plan. + * Specifies information about the marketplace image used to create the virtual + * machine. This element is only used for marketplace images. Before you can + * use a marketplace image from an API, you must enable the image for + * programmatic use. In the Azure portal, find the marketplace image that you + * want to use and then click **Want to deploy programmatically, Get Started + * ->**. Enter any required information and then click **Save**. + * + */ +export interface Plan { + /** + * @member {string} [name] The plan ID. + */ + name?: string; + /** + * @member {string} [publisher] The publisher ID. + */ + publisher?: string; + /** + * @member {string} [product] Specifies the product of the image from the + * marketplace. This is the same value as Offer under the imageReference + * element. + */ + product?: string; + /** + * @member {string} [promotionCode] The promotion code. + */ + promotionCode?: string; +} + +/** + * @interface + * An interface representing HardwareProfile. + * Specifies the hardware settings for the virtual machine. + * + */ +export interface HardwareProfile { + /** + * @member {VirtualMachineSizeTypes} [vmSize] Specifies the size of the + * virtual machine. For more information about virtual machine sizes, see + * [Sizes for virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + *

The available VM sizes depend on region and availability set. For + * a list of available sizes use these APIs:

[List all available + * virtual machine sizes in an availability + * set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes) + *

[List all available virtual machine sizes in a + * region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list) + *

[List all available virtual machine sizes for + * resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). + * Possible values include: 'Basic_A0', 'Basic_A1', 'Basic_A2', 'Basic_A3', + * 'Basic_A4', 'Standard_A0', 'Standard_A1', 'Standard_A2', 'Standard_A3', + * 'Standard_A4', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', + * 'Standard_A9', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + * 'Standard_A2_v2', 'Standard_A4_v2', 'Standard_A8_v2', 'Standard_A2m_v2', + * 'Standard_A4m_v2', 'Standard_A8m_v2', 'Standard_B1s', 'Standard_B1ms', + * 'Standard_B2s', 'Standard_B2ms', 'Standard_B4ms', 'Standard_B8ms', + * 'Standard_D1', 'Standard_D2', 'Standard_D3', 'Standard_D4', + * 'Standard_D11', 'Standard_D12', 'Standard_D13', 'Standard_D14', + * 'Standard_D1_v2', 'Standard_D2_v2', 'Standard_D3_v2', 'Standard_D4_v2', + * 'Standard_D5_v2', 'Standard_D2_v3', 'Standard_D4_v3', 'Standard_D8_v3', + * 'Standard_D16_v3', 'Standard_D32_v3', 'Standard_D64_v3', + * 'Standard_D2s_v3', 'Standard_D4s_v3', 'Standard_D8s_v3', + * 'Standard_D16s_v3', 'Standard_D32s_v3', 'Standard_D64s_v3', + * 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_D13_v2', + * 'Standard_D14_v2', 'Standard_D15_v2', 'Standard_DS1', 'Standard_DS2', + * 'Standard_DS3', 'Standard_DS4', 'Standard_DS11', 'Standard_DS12', + * 'Standard_DS13', 'Standard_DS14', 'Standard_DS1_v2', 'Standard_DS2_v2', + * 'Standard_DS3_v2', 'Standard_DS4_v2', 'Standard_DS5_v2', + * 'Standard_DS11_v2', 'Standard_DS12_v2', 'Standard_DS13_v2', + * 'Standard_DS14_v2', 'Standard_DS15_v2', 'Standard_DS13-4_v2', + * 'Standard_DS13-2_v2', 'Standard_DS14-8_v2', 'Standard_DS14-4_v2', + * 'Standard_E2_v3', 'Standard_E4_v3', 'Standard_E8_v3', 'Standard_E16_v3', + * 'Standard_E32_v3', 'Standard_E64_v3', 'Standard_E2s_v3', + * 'Standard_E4s_v3', 'Standard_E8s_v3', 'Standard_E16s_v3', + * 'Standard_E32s_v3', 'Standard_E64s_v3', 'Standard_E32-16_v3', + * 'Standard_E32-8s_v3', 'Standard_E64-32s_v3', 'Standard_E64-16s_v3', + * 'Standard_F1', 'Standard_F2', 'Standard_F4', 'Standard_F8', + * 'Standard_F16', 'Standard_F1s', 'Standard_F2s', 'Standard_F4s', + * 'Standard_F8s', 'Standard_F16s', 'Standard_F2s_v2', 'Standard_F4s_v2', + * 'Standard_F8s_v2', 'Standard_F16s_v2', 'Standard_F32s_v2', + * 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_G1', 'Standard_G2', + * 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', + * 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5', + * 'Standard_GS4-8', 'Standard_GS4-4', 'Standard_GS5-16', 'Standard_GS5-8', + * 'Standard_H8', 'Standard_H16', 'Standard_H8m', 'Standard_H16m', + * 'Standard_H16r', 'Standard_H16mr', 'Standard_L4s', 'Standard_L8s', + * 'Standard_L16s', 'Standard_L32s', 'Standard_M64s', 'Standard_M64ms', + * 'Standard_M128s', 'Standard_M128ms', 'Standard_M64-32ms', + * 'Standard_M64-16ms', 'Standard_M128-64ms', 'Standard_M128-32ms', + * 'Standard_NC6', 'Standard_NC12', 'Standard_NC24', 'Standard_NC24r', + * 'Standard_NC6s_v2', 'Standard_NC12s_v2', 'Standard_NC24s_v2', + * 'Standard_NC24rs_v2', 'Standard_NC6s_v3', 'Standard_NC12s_v3', + * 'Standard_NC24s_v3', 'Standard_NC24rs_v3', 'Standard_ND6s', + * 'Standard_ND12s', 'Standard_ND24s', 'Standard_ND24rs', 'Standard_NV6', + * 'Standard_NV12', 'Standard_NV24' + */ + vmSize?: VirtualMachineSizeTypes; +} + +/** + * @interface + * An interface representing ImageReference. + * Specifies information about the image to use. You can specify information + * about platform images, marketplace images, or virtual machine images. This + * element is required when you want to use a platform image, marketplace + * image, or virtual machine image, but is not used in other creation + * operations. + * + * @extends SubResource + */ +export interface ImageReference extends SubResource { + /** + * @member {string} [publisher] The image publisher. + */ + publisher?: string; + /** + * @member {string} [offer] Specifies the offer of the platform image or + * marketplace image used to create the virtual machine. + */ + offer?: string; + /** + * @member {string} [sku] The image SKU. + */ + sku?: string; + /** + * @member {string} [version] Specifies the version of the platform image or + * marketplace image used to create the virtual machine. The allowed formats + * are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal + * numbers. Specify 'latest' to use the latest version of an image available + * at deploy time. Even if you use 'latest', the VM image will not + * automatically update after deploy time even if a new version becomes + * available. + */ + version?: string; +} + +/** + * @interface + * An interface representing KeyVaultSecretReference. + * Describes a reference to Key Vault Secret + * + */ +export interface KeyVaultSecretReference { + /** + * @member {string} secretUrl The URL referencing a secret in a Key Vault. + */ + secretUrl: string; + /** + * @member {SubResource} sourceVault The relative URL of the Key Vault + * containing the secret. + */ + sourceVault: SubResource; +} + +/** + * @interface + * An interface representing KeyVaultKeyReference. + * Describes a reference to Key Vault Key + * + */ +export interface KeyVaultKeyReference { + /** + * @member {string} keyUrl The URL referencing a key encryption key in Key + * Vault. + */ + keyUrl: string; + /** + * @member {SubResource} sourceVault The relative URL of the Key Vault + * containing the key. + */ + sourceVault: SubResource; +} + +/** + * @interface + * An interface representing DiskEncryptionSettings. + * Describes a Encryption Settings for a Disk + * + */ +export interface DiskEncryptionSettings { + /** + * @member {KeyVaultSecretReference} [diskEncryptionKey] Specifies the + * location of the disk encryption key, which is a Key Vault Secret. + */ + diskEncryptionKey?: KeyVaultSecretReference; + /** + * @member {KeyVaultKeyReference} [keyEncryptionKey] Specifies the location + * of the key encryption key in Key Vault. + */ + keyEncryptionKey?: KeyVaultKeyReference; + /** + * @member {boolean} [enabled] Specifies whether disk encryption should be + * enabled on the virtual machine. + */ + enabled?: boolean; +} + +/** + * @interface + * An interface representing VirtualHardDisk. + * Describes the uri of a disk. + * + */ +export interface VirtualHardDisk { + /** + * @member {string} [uri] Specifies the virtual hard disk's uri. + */ + uri?: string; +} + +/** + * @interface + * An interface representing DiffDiskSettings. + * Describes the parameters of differencing disk settings that can be be + * specified for operating system disk.

NOTE: The differencing disk + * settings can only be specified for managed disk. + * + */ +export interface DiffDiskSettings { + /** + * @member {DiffDiskOptions} [option] Specifies the differencing disk + * settings for operating system disk. Possible values include: 'Local' + */ + option?: DiffDiskOptions; +} + +/** + * @interface + * An interface representing ManagedDiskParameters. + * The parameters of a managed disk. + * + * @extends SubResource + */ +export interface ManagedDiskParameters extends SubResource { + /** + * @member {StorageAccountTypes} [storageAccountType] Specifies the storage + * account type for the managed disk. NOTE: UltraSSD_LRS can only be used + * with data disks, it cannot be used with OS Disk. Possible values include: + * 'Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', 'UltraSSD_LRS' + */ + storageAccountType?: StorageAccountTypes; +} + +/** + * @interface + * An interface representing OSDisk. + * Specifies information about the operating system disk used by the virtual + * machine.

For more information about disks, see [About disks and + * VHDs for Azure virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + * + */ +export interface OSDisk { + /** + * @member {OperatingSystemTypes} [osType] This property allows you to + * specify the type of the OS that is included in the disk if creating a VM + * from user-image or a specialized VHD.

Possible values are: + *

**Windows**

**Linux**. Possible values include: + * 'Windows', 'Linux' + */ + osType?: OperatingSystemTypes; + /** + * @member {DiskEncryptionSettings} [encryptionSettings] Specifies the + * encryption settings for the OS Disk.

Minimum api-version: + * 2015-06-15 + */ + encryptionSettings?: DiskEncryptionSettings; + /** + * @member {string} [name] The disk name. + */ + name?: string; + /** + * @member {VirtualHardDisk} [vhd] The virtual hard disk. + */ + vhd?: VirtualHardDisk; + /** + * @member {VirtualHardDisk} [image] The source user image virtual hard disk. + * The virtual hard disk will be copied before being attached to the virtual + * machine. If SourceImage is provided, the destination virtual hard drive + * must not exist. + */ + image?: VirtualHardDisk; + /** + * @member {CachingTypes} [caching] Specifies the caching requirements. + *

Possible values are:

**None**

**ReadOnly** + *

**ReadWrite**

Default: **None for Standard storage. + * ReadOnly for Premium storage**. Possible values include: 'None', + * 'ReadOnly', 'ReadWrite' + */ + caching?: CachingTypes; + /** + * @member {boolean} [writeAcceleratorEnabled] Specifies whether + * writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: boolean; + /** + * @member {DiffDiskSettings} [diffDiskSettings] Specifies the differencing + * Disk Settings for the operating system disk used by the virtual machine. + */ + diffDiskSettings?: DiffDiskSettings; + /** + * @member {DiskCreateOptionTypes} createOption Specifies how the virtual + * machine should be created.

Possible values are:

**Attach** + * \u2013 This value is used when you are using a specialized disk to create + * the virtual machine.

**FromImage** \u2013 This value is used when + * you are using an image to create the virtual machine. If you are using a + * platform image, you also use the imageReference element described above. + * If you are using a marketplace image, you also use the plan element + * previously described. Possible values include: 'FromImage', 'Empty', + * 'Attach' + */ + createOption: DiskCreateOptionTypes; + /** + * @member {number} [diskSizeGB] Specifies the size of an empty data disk in + * gigabytes. This element can be used to overwrite the size of the disk in a + * virtual machine image.

This value cannot be larger than 1023 GB + */ + diskSizeGB?: number; + /** + * @member {ManagedDiskParameters} [managedDisk] The managed disk parameters. + */ + managedDisk?: ManagedDiskParameters; +} + +/** + * @interface + * An interface representing DataDisk. + * Describes a data disk. + * + */ +export interface DataDisk { + /** + * @member {number} lun Specifies the logical unit number of the data disk. + * This value is used to identify data disks within the VM and therefore must + * be unique for each data disk attached to a VM. + */ + lun: number; + /** + * @member {string} [name] The disk name. + */ + name?: string; + /** + * @member {VirtualHardDisk} [vhd] The virtual hard disk. + */ + vhd?: VirtualHardDisk; + /** + * @member {VirtualHardDisk} [image] The source user image virtual hard disk. + * The virtual hard disk will be copied before being attached to the virtual + * machine. If SourceImage is provided, the destination virtual hard drive + * must not exist. + */ + image?: VirtualHardDisk; + /** + * @member {CachingTypes} [caching] Specifies the caching requirements. + *

Possible values are:

**None**

**ReadOnly** + *

**ReadWrite**

Default: **None for Standard storage. + * ReadOnly for Premium storage**. Possible values include: 'None', + * 'ReadOnly', 'ReadWrite' + */ + caching?: CachingTypes; + /** + * @member {boolean} [writeAcceleratorEnabled] Specifies whether + * writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: boolean; + /** + * @member {DiskCreateOptionTypes} createOption Specifies how the virtual + * machine should be created.

Possible values are:

**Attach** + * \u2013 This value is used when you are using a specialized disk to create + * the virtual machine.

**FromImage** \u2013 This value is used when + * you are using an image to create the virtual machine. If you are using a + * platform image, you also use the imageReference element described above. + * If you are using a marketplace image, you also use the plan element + * previously described. Possible values include: 'FromImage', 'Empty', + * 'Attach' + */ + createOption: DiskCreateOptionTypes; + /** + * @member {number} [diskSizeGB] Specifies the size of an empty data disk in + * gigabytes. This element can be used to overwrite the size of the disk in a + * virtual machine image.

This value cannot be larger than 1023 GB + */ + diskSizeGB?: number; + /** + * @member {ManagedDiskParameters} [managedDisk] The managed disk parameters. + */ + managedDisk?: ManagedDiskParameters; +} + +/** + * @interface + * An interface representing StorageProfile. + * Specifies the storage settings for the virtual machine disks. + * + */ +export interface StorageProfile { + /** + * @member {ImageReference} [imageReference] Specifies information about the + * image to use. You can specify information about platform images, + * marketplace images, or virtual machine images. This element is required + * when you want to use a platform image, marketplace image, or virtual + * machine image, but is not used in other creation operations. + */ + imageReference?: ImageReference; + /** + * @member {OSDisk} [osDisk] Specifies information about the operating system + * disk used by the virtual machine.

For more information about + * disks, see [About disks and VHDs for Azure virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + */ + osDisk?: OSDisk; + /** + * @member {DataDisk[]} [dataDisks] Specifies the parameters that are used to + * add a data disk to a virtual machine.

For more information about + * disks, see [About disks and VHDs for Azure virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + */ + dataDisks?: DataDisk[]; +} + +/** + * @interface + * An interface representing AdditionalCapabilities. + * Enables or disables a capability on the virtual machine or virtual machine + * scale set. + * + */ +export interface AdditionalCapabilities { + /** + * @member {boolean} [ultraSSDEnabled] The flag that enables or disables a + * capability to have one or more managed data disks with UltraSSD_LRS + * storage account type on the VM or VMSS. Managed disks with storage account + * type UltraSSD_LRS can be added to a virtual machine or virtual machine + * scale set only if this property is enabled. + */ + ultraSSDEnabled?: boolean; +} + +/** + * @interface + * An interface representing AdditionalUnattendContent. + * Specifies additional XML formatted information that can be included in the + * Unattend.xml file, which is used by Windows Setup. Contents are defined by + * setting name, component name, and the pass in which the content is applied. + * + */ +export interface AdditionalUnattendContent { + /** + * @member {PassNames} [passName] The pass name. Currently, the only + * allowable value is OobeSystem. Possible values include: 'OobeSystem' + */ + passName?: PassNames; + /** + * @member {ComponentNames} [componentName] The component name. Currently, + * the only allowable value is Microsoft-Windows-Shell-Setup. Possible values + * include: 'Microsoft-Windows-Shell-Setup' + */ + componentName?: ComponentNames; + /** + * @member {SettingNames} [settingName] Specifies the name of the setting to + * which the content applies. Possible values are: FirstLogonCommands and + * AutoLogon. Possible values include: 'AutoLogon', 'FirstLogonCommands' + */ + settingName?: SettingNames; + /** + * @member {string} [content] Specifies the XML formatted content that is + * added to the unattend.xml file for the specified path and component. The + * XML must be less than 4KB and must include the root element for the + * setting or feature that is being inserted. + */ + content?: string; +} + +/** + * @interface + * An interface representing WinRMListener. + * Describes Protocol and thumbprint of Windows Remote Management listener + * + */ +export interface WinRMListener { + /** + * @member {ProtocolTypes} [protocol] Specifies the protocol of listener. + *

Possible values are:
**http**

**https**. Possible + * values include: 'Http', 'Https' + */ + protocol?: ProtocolTypes; + /** + * @member {string} [certificateUrl] This is the URL of a certificate that + * has been uploaded to Key Vault as a secret. For adding a secret to the Key + * Vault, see [Add a key or secret to the key + * vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). + * In this case, your certificate needs to be It is the Base64 encoding of + * the following JSON Object which is encoded in UTF-8:

{
+ * "data":"",
"dataType":"pfx",
+ * "password":""
} + */ + certificateUrl?: string; +} + +/** + * @interface + * An interface representing WinRMConfiguration. + * Describes Windows Remote Management configuration of the VM + * + */ +export interface WinRMConfiguration { + /** + * @member {WinRMListener[]} [listeners] The list of Windows Remote + * Management listeners + */ + listeners?: WinRMListener[]; +} + +/** + * @interface + * An interface representing WindowsConfiguration. + * Specifies Windows operating system settings on the virtual machine. + * + */ +export interface WindowsConfiguration { + /** + * @member {boolean} [provisionVMAgent] Indicates whether virtual machine + * agent should be provisioned on the virtual machine.

When this + * property is not specified in the request body, default behavior is to set + * it to true. This will ensure that VM Agent is installed on the VM so that + * extensions can be added to the VM later. + */ + provisionVMAgent?: boolean; + /** + * @member {boolean} [enableAutomaticUpdates] Indicates whether virtual + * machine is enabled for automatic updates. + */ + enableAutomaticUpdates?: boolean; + /** + * @member {string} [timeZone] Specifies the time zone of the virtual + * machine. e.g. "Pacific Standard Time" + */ + timeZone?: string; + /** + * @member {AdditionalUnattendContent[]} [additionalUnattendContent] + * Specifies additional base-64 encoded XML formatted information that can be + * included in the Unattend.xml file, which is used by Windows Setup. + */ + additionalUnattendContent?: AdditionalUnattendContent[]; + /** + * @member {WinRMConfiguration} [winRM] Specifies the Windows Remote + * Management listeners. This enables remote Windows PowerShell. + */ + winRM?: WinRMConfiguration; +} + +/** + * @interface + * An interface representing SshPublicKey. + * Contains information about SSH certificate public key and the path on the + * Linux VM where the public key is placed. + * + */ +export interface SshPublicKey { + /** + * @member {string} [path] Specifies the full path on the created VM where + * ssh public key is stored. If the file already exists, the specified key is + * appended to the file. Example: /home/user/.ssh/authorized_keys + */ + path?: string; + /** + * @member {string} [keyData] SSH public key certificate used to authenticate + * with the VM through ssh. The key needs to be at least 2048-bit and in + * ssh-rsa format.

For creating ssh keys, see [Create SSH keys on + * Linux and Mac for Linux VMs in + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + */ + keyData?: string; +} + +/** + * @interface + * An interface representing SshConfiguration. + * SSH configuration for Linux based VMs running on Azure + * + */ +export interface SshConfiguration { + /** + * @member {SshPublicKey[]} [publicKeys] The list of SSH public keys used to + * authenticate with linux based VMs. + */ + publicKeys?: SshPublicKey[]; +} + +/** + * @interface + * An interface representing LinuxConfiguration. + * Specifies the Linux operating system settings on the virtual machine. + *

For a list of supported Linux distributions, see [Linux on + * Azure-Endorsed + * Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + *

For running non-endorsed distributions, see [Information for + * Non-Endorsed + * Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + * + */ +export interface LinuxConfiguration { + /** + * @member {boolean} [disablePasswordAuthentication] Specifies whether + * password authentication should be disabled. + */ + disablePasswordAuthentication?: boolean; + /** + * @member {SshConfiguration} [ssh] Specifies the ssh key configuration for a + * Linux OS. + */ + ssh?: SshConfiguration; + /** + * @member {boolean} [provisionVMAgent] Indicates whether virtual machine + * agent should be provisioned on the virtual machine.

When this + * property is not specified in the request body, default behavior is to set + * it to true. This will ensure that VM Agent is installed on the VM so that + * extensions can be added to the VM later. + */ + provisionVMAgent?: boolean; +} + +/** + * @interface + * An interface representing VaultCertificate. + * Describes a single certificate reference in a Key Vault, and where the + * certificate should reside on the VM. + * + */ +export interface VaultCertificate { + /** + * @member {string} [certificateUrl] This is the URL of a certificate that + * has been uploaded to Key Vault as a secret. For adding a secret to the Key + * Vault, see [Add a key or secret to the key + * vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). + * In this case, your certificate needs to be It is the Base64 encoding of + * the following JSON Object which is encoded in UTF-8:

{
+ * "data":"",
"dataType":"pfx",
+ * "password":""
} + */ + certificateUrl?: string; + /** + * @member {string} [certificateStore] For Windows VMs, specifies the + * certificate store on the Virtual Machine to which the certificate should + * be added. The specified certificate store is implicitly in the + * LocalMachine account.

For Linux VMs, the certificate file is + * placed under the /var/lib/waagent directory, with the file name + * .crt for the X509 certificate file and + * .prv for private key. Both of these files are .pem + * formatted. + */ + certificateStore?: string; +} + +/** + * @interface + * An interface representing VaultSecretGroup. + * Describes a set of certificates which are all in the same Key Vault. + * + */ +export interface VaultSecretGroup { + /** + * @member {SubResource} [sourceVault] The relative URL of the Key Vault + * containing all of the certificates in VaultCertificates. + */ + sourceVault?: SubResource; + /** + * @member {VaultCertificate[]} [vaultCertificates] The list of key vault + * references in SourceVault which contain certificates. + */ + vaultCertificates?: VaultCertificate[]; +} + +/** + * @interface + * An interface representing OSProfile. + * Specifies the operating system settings for the virtual machine. + * + */ +export interface OSProfile { + /** + * @member {string} [computerName] Specifies the host OS name of the virtual + * machine.

**Max-length (Windows):** 15 characters

+ * **Max-length (Linux):** 64 characters.

For naming conventions and + * restrictions see [Azure infrastructure services implementation + * guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions). + */ + computerName?: string; + /** + * @member {string} [adminUsername] Specifies the name of the administrator + * account.

**Windows-only restriction:** Cannot end in "."

+ * **Disallowed values:** "administrator", "admin", "user", "user1", "test", + * "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", + * "admin2", "aspnet", "backup", "console", "david", "guest", "john", + * "owner", "root", "server", "sql", "support", "support_388945a0", "sys", + * "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 + * character

**Max-length (Linux):** 64 characters

+ * **Max-length (Windows):** 20 characters

  • For root access to + * the Linux VM, see [Using root privileges on Linux virtual machines in + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • + * For a list of built-in system users on Linux that should not be used in + * this field, see [Selecting User Names for Linux on + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + */ + adminUsername?: string; + /** + * @member {string} [adminPassword] Specifies the password of the + * administrator account.

    **Minimum-length (Windows):** 8 characters + *

    **Minimum-length (Linux):** 6 characters

    **Max-length + * (Windows):** 123 characters

    **Max-length (Linux):** 72 characters + *

    **Complexity requirements:** 3 out of 4 conditions below need to + * be fulfilled
    Has lower characters
    Has upper characters
    Has a + * digit
    Has a special character (Regex match [\W_])

    + * **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", + * "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", + * "iloveyou!"

    For resetting the password, see [How to reset the + * Remote Desktop service or its login password in a Windows + * VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    For resetting root password, see [Manage users, SSH, and check or + * repair disks on Azure Linux VMs using the VMAccess + * Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password) + */ + adminPassword?: string; + /** + * @member {string} [customData] Specifies a base-64 encoded string of custom + * data. The base-64 encoded string is decoded to a binary array that is + * saved as a file on the Virtual Machine. The maximum length of the binary + * array is 65535 bytes.

    For using cloud-init for your VM, see + * [Using cloud-init to customize a Linux VM during + * creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + */ + customData?: string; + /** + * @member {WindowsConfiguration} [windowsConfiguration] Specifies Windows + * operating system settings on the virtual machine. + */ + windowsConfiguration?: WindowsConfiguration; + /** + * @member {LinuxConfiguration} [linuxConfiguration] Specifies the Linux + * operating system settings on the virtual machine.

    For a list of + * supported Linux distributions, see [Linux on Azure-Endorsed + * Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + *

    For running non-endorsed distributions, see [Information for + * Non-Endorsed + * Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + */ + linuxConfiguration?: LinuxConfiguration; + /** + * @member {VaultSecretGroup[]} [secrets] Specifies set of certificates that + * should be installed onto the virtual machine. + */ + secrets?: VaultSecretGroup[]; + /** + * @member {boolean} [allowExtensionOperations] Specifies whether extension + * operations should be allowed on the virtual machine.

    This may only + * be set to False when no extensions are present on the virtual machine. + */ + allowExtensionOperations?: boolean; +} + +/** + * @interface + * An interface representing NetworkInterfaceReference. + * Describes a network interface reference. + * + * @extends SubResource + */ +export interface NetworkInterfaceReference extends SubResource { + /** + * @member {boolean} [primary] Specifies the primary network interface in + * case the virtual machine has more than 1 network interface. + */ + primary?: boolean; +} + +/** + * @interface + * An interface representing NetworkProfile. + * Specifies the network interfaces of the virtual machine. + * + */ +export interface NetworkProfile { + /** + * @member {NetworkInterfaceReference[]} [networkInterfaces] Specifies the + * list of resource Ids for the network interfaces associated with the + * virtual machine. + */ + networkInterfaces?: NetworkInterfaceReference[]; +} + +/** + * @interface + * An interface representing BootDiagnostics. + * Boot Diagnostics is a debugging feature which allows you to view Console + * Output and Screenshot to diagnose VM status.

    You can easily view + * the output of your console log.

    Azure also enables you to see a + * screenshot of the VM from the hypervisor. + * + */ +export interface BootDiagnostics { + /** + * @member {boolean} [enabled] Whether boot diagnostics should be enabled on + * the Virtual Machine. + */ + enabled?: boolean; + /** + * @member {string} [storageUri] Uri of the storage account to use for + * placing the console output and screenshot. + */ + storageUri?: string; +} + +/** + * @interface + * An interface representing DiagnosticsProfile. + * Specifies the boot diagnostic settings state.

    Minimum api-version: + * 2015-06-15. + * + */ +export interface DiagnosticsProfile { + /** + * @member {BootDiagnostics} [bootDiagnostics] Boot Diagnostics is a + * debugging feature which allows you to view Console Output and Screenshot + * to diagnose VM status.

    You can easily view the output of your + * console log.

    Azure also enables you to see a screenshot of the VM + * from the hypervisor. + */ + bootDiagnostics?: BootDiagnostics; +} + +/** + * @interface + * An interface representing VirtualMachineExtensionHandlerInstanceView. + * The instance view of a virtual machine extension handler. + * + */ +export interface VirtualMachineExtensionHandlerInstanceView { + /** + * @member {string} [type] Specifies the type of the extension; an example is + * "CustomScriptExtension". + */ + type?: string; + /** + * @member {string} [typeHandlerVersion] Specifies the version of the script + * handler. + */ + typeHandlerVersion?: string; + /** + * @member {InstanceViewStatus} [status] The extension handler status. + */ + status?: InstanceViewStatus; +} + +/** + * @interface + * An interface representing VirtualMachineAgentInstanceView. + * The instance view of the VM Agent running on the virtual machine. + * + */ +export interface VirtualMachineAgentInstanceView { + /** + * @member {string} [vmAgentVersion] The VM Agent full version. + */ + vmAgentVersion?: string; + /** + * @member {VirtualMachineExtensionHandlerInstanceView[]} [extensionHandlers] + * The virtual machine extension handler instance view. + */ + extensionHandlers?: VirtualMachineExtensionHandlerInstanceView[]; + /** + * @member {InstanceViewStatus[]} [statuses] The resource status information. + */ + statuses?: InstanceViewStatus[]; +} + +/** + * @interface + * An interface representing DiskInstanceView. + * The instance view of the disk. + * + */ +export interface DiskInstanceView { + /** + * @member {string} [name] The disk name. + */ + name?: string; + /** + * @member {DiskEncryptionSettings[]} [encryptionSettings] Specifies the + * encryption settings for the OS Disk.

    Minimum api-version: + * 2015-06-15 + */ + encryptionSettings?: DiskEncryptionSettings[]; + /** + * @member {InstanceViewStatus[]} [statuses] The resource status information. + */ + statuses?: InstanceViewStatus[]; +} + +/** + * @interface + * An interface representing BootDiagnosticsInstanceView. + * The instance view of a virtual machine boot diagnostics. + * + */ +export interface BootDiagnosticsInstanceView { + /** + * @member {string} [consoleScreenshotBlobUri] The console screenshot blob + * URI. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly consoleScreenshotBlobUri?: string; + /** + * @member {string} [serialConsoleLogBlobUri] The Linux serial console log + * blob Uri. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly serialConsoleLogBlobUri?: string; + /** + * @member {InstanceViewStatus} [status] The boot diagnostics status + * information for the VM.

    NOTE: It will be set only if there are + * errors encountered in enabling boot diagnostics. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly status?: InstanceViewStatus; +} + +/** + * @interface + * An interface representing VirtualMachineIdentityUserAssignedIdentitiesValue. + */ +export interface VirtualMachineIdentityUserAssignedIdentitiesValue { + /** + * @member {string} [principalId] The principal id of user assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly principalId?: string; + /** + * @member {string} [clientId] The client id of user assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly clientId?: string; +} + +/** + * @interface + * An interface representing VirtualMachineIdentity. + * Identity for the virtual machine. + * + */ +export interface VirtualMachineIdentity { + /** + * @member {string} [principalId] The principal id of virtual machine + * identity. 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; + /** + * @member {string} [tenantId] The tenant id associated with the virtual + * machine. 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; + /** + * @member {ResourceIdentityType} [type] The type of identity used for the + * virtual machine. The type 'SystemAssigned, UserAssigned' includes both an + * implicitly created identity and a set of user assigned identities. The + * type 'None' will remove any identities from the virtual machine. Possible + * values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, + * UserAssigned', 'None' + */ + type?: ResourceIdentityType; + /** + * @member {{ [propertyName: string]: + * VirtualMachineIdentityUserAssignedIdentitiesValue }} + * [userAssignedIdentities] The list of user identities associated with the + * Virtual Machine. The user identity dictionary key references will be ARM + * resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: { [propertyName: string]: VirtualMachineIdentityUserAssignedIdentitiesValue }; +} + +/** + * @interface + * An interface representing MaintenanceRedeployStatus. + * Maintenance Operation Status. + * + */ +export interface MaintenanceRedeployStatus { + /** + * @member {boolean} [isCustomerInitiatedMaintenanceAllowed] True, if + * customer is allowed to perform Maintenance. + */ + isCustomerInitiatedMaintenanceAllowed?: boolean; + /** + * @member {Date} [preMaintenanceWindowStartTime] Start Time for the Pre + * Maintenance Window. + */ + preMaintenanceWindowStartTime?: Date; + /** + * @member {Date} [preMaintenanceWindowEndTime] End Time for the Pre + * Maintenance Window. + */ + preMaintenanceWindowEndTime?: Date; + /** + * @member {Date} [maintenanceWindowStartTime] Start Time for the Maintenance + * Window. + */ + maintenanceWindowStartTime?: Date; + /** + * @member {Date} [maintenanceWindowEndTime] End Time for the Maintenance + * Window. + */ + maintenanceWindowEndTime?: Date; + /** + * @member {MaintenanceOperationResultCodeTypes} [lastOperationResultCode] + * The Last Maintenance Operation Result Code. Possible values include: + * 'None', 'RetryLater', 'MaintenanceAborted', 'MaintenanceCompleted' + */ + lastOperationResultCode?: MaintenanceOperationResultCodeTypes; + /** + * @member {string} [lastOperationMessage] Message returned for the last + * Maintenance Operation. + */ + lastOperationMessage?: string; +} + +/** + * @interface + * An interface representing VirtualMachineInstanceView. + * The instance view of a virtual machine. + * + */ +export interface VirtualMachineInstanceView { + /** + * @member {number} [platformUpdateDomain] Specifies the update domain of the + * virtual machine. + */ + platformUpdateDomain?: number; + /** + * @member {number} [platformFaultDomain] Specifies the fault domain of the + * virtual machine. + */ + platformFaultDomain?: number; + /** + * @member {string} [computerName] The computer name assigned to the virtual + * machine. + */ + computerName?: string; + /** + * @member {string} [osName] The Operating System running on the virtual + * machine. + */ + osName?: string; + /** + * @member {string} [osVersion] The version of Operating System running on + * the virtual machine. + */ + osVersion?: string; + /** + * @member {string} [rdpThumbPrint] The Remote desktop certificate + * thumbprint. + */ + rdpThumbPrint?: string; + /** + * @member {VirtualMachineAgentInstanceView} [vmAgent] The VM Agent running + * on the virtual machine. + */ + vmAgent?: VirtualMachineAgentInstanceView; + /** + * @member {MaintenanceRedeployStatus} [maintenanceRedeployStatus] The + * Maintenance Operation status on the virtual machine. + */ + maintenanceRedeployStatus?: MaintenanceRedeployStatus; + /** + * @member {DiskInstanceView[]} [disks] The virtual machine disk information. + */ + disks?: DiskInstanceView[]; + /** + * @member {VirtualMachineExtensionInstanceView[]} [extensions] The + * extensions information. + */ + extensions?: VirtualMachineExtensionInstanceView[]; + /** + * @member {BootDiagnosticsInstanceView} [bootDiagnostics] Boot Diagnostics + * is a debugging feature which allows you to view Console Output and + * Screenshot to diagnose VM status.

    You can easily view the output + * of your console log.

    Azure also enables you to see a screenshot + * of the VM from the hypervisor. + */ + bootDiagnostics?: BootDiagnosticsInstanceView; + /** + * @member {InstanceViewStatus[]} [statuses] The resource status information. + */ + statuses?: InstanceViewStatus[]; +} + +/** + * @interface + * An interface representing VirtualMachine. + * Describes a Virtual Machine. + * + * @extends Resource + */ +export interface VirtualMachine extends Resource { + /** + * @member {Plan} [plan] Specifies information about the marketplace image + * used to create the virtual machine. This element is only used for + * marketplace images. Before you can use a marketplace image from an API, + * you must enable the image for programmatic use. In the Azure portal, find + * the marketplace image that you want to use and then click **Want to deploy + * programmatically, Get Started ->**. Enter any required information and + * then click **Save**. + */ + plan?: Plan; + /** + * @member {HardwareProfile} [hardwareProfile] Specifies the hardware + * settings for the virtual machine. + */ + hardwareProfile?: HardwareProfile; + /** + * @member {StorageProfile} [storageProfile] Specifies the storage settings + * for the virtual machine disks. + */ + storageProfile?: StorageProfile; + /** + * @member {AdditionalCapabilities} [additionalCapabilities] Specifies + * additional capabilities enabled or disabled on the virtual machine. + */ + additionalCapabilities?: AdditionalCapabilities; + /** + * @member {OSProfile} [osProfile] Specifies the operating system settings + * for the virtual machine. + */ + osProfile?: OSProfile; + /** + * @member {NetworkProfile} [networkProfile] Specifies the network interfaces + * of the virtual machine. + */ + networkProfile?: NetworkProfile; + /** + * @member {DiagnosticsProfile} [diagnosticsProfile] Specifies the boot + * diagnostic settings state.

    Minimum api-version: 2015-06-15. + */ + diagnosticsProfile?: DiagnosticsProfile; + /** + * @member {SubResource} [availabilitySet] Specifies information about the + * availability set that the virtual machine should be assigned to. Virtual + * machines specified in the same availability set are allocated to different + * nodes to maximize availability. For more information about availability + * sets, see [Manage the availability of virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + *

    For more information on Azure planned maintainance, see [Planned + * maintenance for virtual machines in + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    Currently, a VM can only be added to availability set at creation + * time. An existing VM cannot be added to an availability set. + */ + availabilitySet?: SubResource; + /** + * @member {string} [provisioningState] The provisioning state, which only + * appears in the response. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; + /** + * @member {VirtualMachineInstanceView} [instanceView] The virtual machine + * instance view. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly instanceView?: VirtualMachineInstanceView; + /** + * @member {string} [licenseType] Specifies that the image or disk that is + * being used was licensed on-premises. This element is only used for images + * that contain the Windows Server operating system.

    Possible values + * are:

    Windows_Client

    Windows_Server

    If this + * element is included in a request for an update, the value must match the + * initial value. This value cannot be updated.

    For more + * information, see [Azure Hybrid Use Benefit for Windows + * Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    Minimum api-version: 2015-06-15 + */ + licenseType?: string; + /** + * @member {string} [vmId] Specifies the VM unique ID which is a 128-bits + * identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can + * be read using platform BIOS commands. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly vmId?: string; + /** + * @member {VirtualMachineExtension[]} [resources] The virtual machine child + * extension resources. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly resources?: VirtualMachineExtension[]; + /** + * @member {VirtualMachineIdentity} [identity] The identity of the virtual + * machine, if configured. + */ + identity?: VirtualMachineIdentity; + /** + * @member {string[]} [zones] The virtual machine zones. + */ + zones?: string[]; +} + +/** + * @interface + * An interface representing VirtualMachineUpdate. + * Describes a Virtual Machine Update. + * + * @extends UpdateResource + */ +export interface VirtualMachineUpdate extends UpdateResource { + /** + * @member {Plan} [plan] Specifies information about the marketplace image + * used to create the virtual machine. This element is only used for + * marketplace images. Before you can use a marketplace image from an API, + * you must enable the image for programmatic use. In the Azure portal, find + * the marketplace image that you want to use and then click **Want to deploy + * programmatically, Get Started ->**. Enter any required information and + * then click **Save**. + */ + plan?: Plan; + /** + * @member {HardwareProfile} [hardwareProfile] Specifies the hardware + * settings for the virtual machine. + */ + hardwareProfile?: HardwareProfile; + /** + * @member {StorageProfile} [storageProfile] Specifies the storage settings + * for the virtual machine disks. + */ + storageProfile?: StorageProfile; + /** + * @member {AdditionalCapabilities} [additionalCapabilities] Specifies + * additional capabilities enabled or disabled on the virtual machine. + */ + additionalCapabilities?: AdditionalCapabilities; + /** + * @member {OSProfile} [osProfile] Specifies the operating system settings + * for the virtual machine. + */ + osProfile?: OSProfile; + /** + * @member {NetworkProfile} [networkProfile] Specifies the network interfaces + * of the virtual machine. + */ + networkProfile?: NetworkProfile; + /** + * @member {DiagnosticsProfile} [diagnosticsProfile] Specifies the boot + * diagnostic settings state.

    Minimum api-version: 2015-06-15. + */ + diagnosticsProfile?: DiagnosticsProfile; + /** + * @member {SubResource} [availabilitySet] Specifies information about the + * availability set that the virtual machine should be assigned to. Virtual + * machines specified in the same availability set are allocated to different + * nodes to maximize availability. For more information about availability + * sets, see [Manage the availability of virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + *

    For more information on Azure planned maintainance, see [Planned + * maintenance for virtual machines in + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    Currently, a VM can only be added to availability set at creation + * time. An existing VM cannot be added to an availability set. + */ + availabilitySet?: SubResource; + /** + * @member {string} [provisioningState] The provisioning state, which only + * appears in the response. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; + /** + * @member {VirtualMachineInstanceView} [instanceView] The virtual machine + * instance view. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly instanceView?: VirtualMachineInstanceView; + /** + * @member {string} [licenseType] Specifies that the image or disk that is + * being used was licensed on-premises. This element is only used for images + * that contain the Windows Server operating system.

    Possible values + * are:

    Windows_Client

    Windows_Server

    If this + * element is included in a request for an update, the value must match the + * initial value. This value cannot be updated.

    For more + * information, see [Azure Hybrid Use Benefit for Windows + * Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    Minimum api-version: 2015-06-15 + */ + licenseType?: string; + /** + * @member {string} [vmId] Specifies the VM unique ID which is a 128-bits + * identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can + * be read using platform BIOS commands. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly vmId?: string; + /** + * @member {VirtualMachineIdentity} [identity] The identity of the virtual + * machine, if configured. + */ + identity?: VirtualMachineIdentity; + /** + * @member {string[]} [zones] The virtual machine zones. + */ + zones?: string[]; +} + +/** + * @interface + * An interface representing AutomaticOSUpgradePolicy. + * The configuration parameters used for performing automatic OS upgrade. + * + */ +export interface AutomaticOSUpgradePolicy { + /** + * @member {boolean} [enableAutomaticOSUpgrade] Whether OS upgrades should + * automatically be applied to scale set instances in a rolling fashion when + * a newer version of the image becomes available. Default value is false. + */ + enableAutomaticOSUpgrade?: boolean; + /** + * @member {boolean} [disableAutomaticRollback] Whether OS image rollback + * feature should be disabled. Default value is false. + */ + disableAutomaticRollback?: boolean; +} + +/** + * @interface + * An interface representing RollingUpgradePolicy. + * The configuration parameters used while performing a rolling upgrade. + * + */ +export interface RollingUpgradePolicy { + /** + * @member {number} [maxBatchInstancePercent] The maximum percent of total + * virtual machine instances that will be upgraded simultaneously by the + * rolling upgrade in one batch. As this is a maximum, unhealthy instances in + * previous or future batches can cause the percentage of instances in a + * batch to decrease to ensure higher reliability. The default value for this + * parameter is 20%. + */ + maxBatchInstancePercent?: number; + /** + * @member {number} [maxUnhealthyInstancePercent] The maximum percentage of + * the total virtual machine instances in the scale set that can be + * simultaneously unhealthy, either as a result of being upgraded, or by + * being found in an unhealthy state by the virtual machine health checks + * before the rolling upgrade aborts. This constraint will be checked prior + * to starting any batch. The default value for this parameter is 20%. + */ + maxUnhealthyInstancePercent?: number; + /** + * @member {number} [maxUnhealthyUpgradedInstancePercent] The maximum + * percentage of upgraded virtual machine instances that can be found to be + * in an unhealthy state. This check will happen after each batch is + * upgraded. If this percentage is ever exceeded, the rolling update aborts. + * The default value for this parameter is 20%. + */ + maxUnhealthyUpgradedInstancePercent?: number; + /** + * @member {string} [pauseTimeBetweenBatches] The wait time between + * completing the update for all virtual machines in one batch and starting + * the next batch. The time duration should be specified in ISO 8601 format. + * The default value is 0 seconds (PT0S). + */ + pauseTimeBetweenBatches?: string; +} + +/** + * @interface + * An interface representing UpgradePolicy. + * Describes an upgrade policy - automatic, manual, or rolling. + * + */ +export interface UpgradePolicy { + /** + * @member {UpgradeMode} [mode] Specifies the mode of an upgrade to virtual + * machines in the scale set.

    Possible values are:

    + * **Manual** - You control the application of updates to virtual machines + * in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are + * automatically updated at the same time. Possible values include: + * 'Automatic', 'Manual', 'Rolling' + */ + mode?: UpgradeMode; + /** + * @member {RollingUpgradePolicy} [rollingUpgradePolicy] The configuration + * parameters used while performing a rolling upgrade. + */ + rollingUpgradePolicy?: RollingUpgradePolicy; + /** + * @member {AutomaticOSUpgradePolicy} [automaticOSUpgradePolicy] + * Configuration parameters used for performing automatic OS Upgrade. + */ + automaticOSUpgradePolicy?: AutomaticOSUpgradePolicy; +} + +/** + * @interface + * An interface representing ImageOSDisk. + * Describes an Operating System disk. + * + */ +export interface ImageOSDisk { + /** + * @member {OperatingSystemTypes} osType This property allows you to specify + * the type of the OS that is included in the disk if creating a VM from a + * custom image.

    Possible values are:

    **Windows**

    + * **Linux**. Possible values include: 'Windows', 'Linux' + */ + osType: OperatingSystemTypes; + /** + * @member {OperatingSystemStateTypes} osState The OS State. Possible values + * include: 'Generalized', 'Specialized' + */ + osState: OperatingSystemStateTypes; + /** + * @member {SubResource} [snapshot] The snapshot. + */ + snapshot?: SubResource; + /** + * @member {SubResource} [managedDisk] The managedDisk. + */ + managedDisk?: SubResource; + /** + * @member {string} [blobUri] The Virtual Hard Disk. + */ + blobUri?: string; + /** + * @member {CachingTypes} [caching] Specifies the caching requirements. + *

    Possible values are:

    **None**

    **ReadOnly** + *

    **ReadWrite**

    Default: **None for Standard storage. + * ReadOnly for Premium storage**. Possible values include: 'None', + * 'ReadOnly', 'ReadWrite' + */ + caching?: CachingTypes; + /** + * @member {number} [diskSizeGB] Specifies the size of empty data disks in + * gigabytes. This element can be used to overwrite the name of the disk in a + * virtual machine image.

    This value cannot be larger than 1023 GB + */ + diskSizeGB?: number; + /** + * @member {StorageAccountTypes} [storageAccountType] Specifies the storage + * account type for the managed disk. UltraSSD_LRS cannot be used with OS + * Disk. Possible values include: 'Standard_LRS', 'Premium_LRS', + * 'StandardSSD_LRS', 'UltraSSD_LRS' + */ + storageAccountType?: StorageAccountTypes; +} + +/** + * @interface + * An interface representing ImageDataDisk. + * Describes a data disk. + * + */ +export interface ImageDataDisk { + /** + * @member {number} lun Specifies the logical unit number of the data disk. + * This value is used to identify data disks within the VM and therefore must + * be unique for each data disk attached to a VM. + */ + lun: number; + /** + * @member {SubResource} [snapshot] The snapshot. + */ + snapshot?: SubResource; + /** + * @member {SubResource} [managedDisk] The managedDisk. + */ + managedDisk?: SubResource; + /** + * @member {string} [blobUri] The Virtual Hard Disk. + */ + blobUri?: string; + /** + * @member {CachingTypes} [caching] Specifies the caching requirements. + *

    Possible values are:

    **None**

    **ReadOnly** + *

    **ReadWrite**

    Default: **None for Standard storage. + * ReadOnly for Premium storage**. Possible values include: 'None', + * 'ReadOnly', 'ReadWrite' + */ + caching?: CachingTypes; + /** + * @member {number} [diskSizeGB] Specifies the size of empty data disks in + * gigabytes. This element can be used to overwrite the name of the disk in a + * virtual machine image.

    This value cannot be larger than 1023 GB + */ + diskSizeGB?: number; + /** + * @member {StorageAccountTypes} [storageAccountType] Specifies the storage + * account type for the managed disk. NOTE: UltraSSD_LRS can only be used + * with data disks, it cannot be used with OS Disk. Possible values include: + * 'Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', 'UltraSSD_LRS' + */ + storageAccountType?: StorageAccountTypes; +} + +/** + * @interface + * An interface representing ImageStorageProfile. + * Describes a storage profile. + * + */ +export interface ImageStorageProfile { + /** + * @member {ImageOSDisk} [osDisk] Specifies information about the operating + * system disk used by the virtual machine.

    For more information + * about disks, see [About disks and VHDs for Azure virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + */ + osDisk?: ImageOSDisk; + /** + * @member {ImageDataDisk[]} [dataDisks] Specifies the parameters that are + * used to add a data disk to a virtual machine.

    For more + * information about disks, see [About disks and VHDs for Azure virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + */ + dataDisks?: ImageDataDisk[]; + /** + * @member {boolean} [zoneResilient] Specifies whether an image is zone + * resilient or not. Default is false. Zone resilient images can be created + * only in regions that provide Zone Redundant Storage (ZRS). + */ + zoneResilient?: boolean; +} + +/** + * @interface + * An interface representing Image. + * The source user image virtual hard disk. The virtual hard disk will be + * copied before being attached to the virtual machine. If SourceImage is + * provided, the destination virtual hard drive must not exist. + * + * @extends Resource + */ +export interface Image extends Resource { + /** + * @member {SubResource} [sourceVirtualMachine] The source virtual machine + * from which Image is created. + */ + sourceVirtualMachine?: SubResource; + /** + * @member {ImageStorageProfile} [storageProfile] Specifies the storage + * settings for the virtual machine disks. + */ + storageProfile?: ImageStorageProfile; + /** + * @member {string} [provisioningState] The provisioning state. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; +} + +/** + * @interface + * An interface representing ImageUpdate. + * The source user image virtual hard disk. Only tags may be updated. + * + * @extends UpdateResource + */ +export interface ImageUpdate extends UpdateResource { + /** + * @member {SubResource} [sourceVirtualMachine] The source virtual machine + * from which Image is created. + */ + sourceVirtualMachine?: SubResource; + /** + * @member {ImageStorageProfile} [storageProfile] Specifies the storage + * settings for the virtual machine disks. + */ + storageProfile?: ImageStorageProfile; + /** + * @member {string} [provisioningState] The provisioning state. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue. + */ +export interface VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue { + /** + * @member {string} [principalId] The principal id of user assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly principalId?: string; + /** + * @member {string} [clientId] The client id of user assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly clientId?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetIdentity. + * Identity for the virtual machine scale set. + * + */ +export interface VirtualMachineScaleSetIdentity { + /** + * @member {string} [principalId] The principal id of virtual machine scale + * set identity. 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; + /** + * @member {string} [tenantId] The tenant id associated with the virtual + * machine scale set. 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; + /** + * @member {ResourceIdentityType} [type] The type of identity used for the + * virtual machine scale set. The type 'SystemAssigned, UserAssigned' + * includes both an implicitly created identity and a set of user assigned + * identities. The type 'None' will remove any identities from the virtual + * machine scale set. Possible values include: 'SystemAssigned', + * 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + */ + type?: ResourceIdentityType; + /** + * @member {{ [propertyName: string]: + * VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue }} + * [userAssignedIdentities] The list of user identities associated with the + * virtual machine scale set. The user identity dictionary key references + * will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: { [propertyName: string]: VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue }; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetOSProfile. + * Describes a virtual machine scale set OS profile. + * + */ +export interface VirtualMachineScaleSetOSProfile { + /** + * @member {string} [computerNamePrefix] Specifies the computer name prefix + * for all of the virtual machines in the scale set. Computer name prefixes + * must be 1 to 15 characters long. + */ + computerNamePrefix?: string; + /** + * @member {string} [adminUsername] Specifies the name of the administrator + * account.

    **Windows-only restriction:** Cannot end in "."

    + * **Disallowed values:** "administrator", "admin", "user", "user1", "test", + * "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", + * "admin2", "aspnet", "backup", "console", "david", "guest", "john", + * "owner", "root", "server", "sql", "support", "support_388945a0", "sys", + * "test2", "test3", "user4", "user5".

    **Minimum-length (Linux):** 1 + * character

    **Max-length (Linux):** 64 characters

    + * **Max-length (Windows):** 20 characters

  • For root access to + * the Linux VM, see [Using root privileges on Linux virtual machines in + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • + * For a list of built-in system users on Linux that should not be used in + * this field, see [Selecting User Names for Linux on + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + */ + adminUsername?: string; + /** + * @member {string} [adminPassword] Specifies the password of the + * administrator account.

    **Minimum-length (Windows):** 8 characters + *

    **Minimum-length (Linux):** 6 characters

    **Max-length + * (Windows):** 123 characters

    **Max-length (Linux):** 72 characters + *

    **Complexity requirements:** 3 out of 4 conditions below need to + * be fulfilled
    Has lower characters
    Has upper characters
    Has a + * digit
    Has a special character (Regex match [\W_])

    + * **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", + * "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", + * "iloveyou!"

    For resetting the password, see [How to reset the + * Remote Desktop service or its login password in a Windows + * VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    For resetting root password, see [Manage users, SSH, and check or + * repair disks on Azure Linux VMs using the VMAccess + * Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password) + */ + adminPassword?: string; + /** + * @member {string} [customData] Specifies a base-64 encoded string of custom + * data. The base-64 encoded string is decoded to a binary array that is + * saved as a file on the Virtual Machine. The maximum length of the binary + * array is 65535 bytes.

    For using cloud-init for your VM, see + * [Using cloud-init to customize a Linux VM during + * creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + */ + customData?: string; + /** + * @member {WindowsConfiguration} [windowsConfiguration] Specifies Windows + * operating system settings on the virtual machine. + */ + windowsConfiguration?: WindowsConfiguration; + /** + * @member {LinuxConfiguration} [linuxConfiguration] Specifies the Linux + * operating system settings on the virtual machine.

    For a list of + * supported Linux distributions, see [Linux on Azure-Endorsed + * Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + *

    For running non-endorsed distributions, see [Information for + * Non-Endorsed + * Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + */ + linuxConfiguration?: LinuxConfiguration; + /** + * @member {VaultSecretGroup[]} [secrets] Specifies set of certificates that + * should be installed onto the virtual machines in the scale set. + */ + secrets?: VaultSecretGroup[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdateOSProfile. + * Describes a virtual machine scale set OS profile. + * + */ +export interface VirtualMachineScaleSetUpdateOSProfile { + /** + * @member {string} [customData] A base-64 encoded string of custom data. + */ + customData?: string; + /** + * @member {WindowsConfiguration} [windowsConfiguration] The Windows + * Configuration of the OS profile. + */ + windowsConfiguration?: WindowsConfiguration; + /** + * @member {LinuxConfiguration} [linuxConfiguration] The Linux Configuration + * of the OS profile. + */ + linuxConfiguration?: LinuxConfiguration; + /** + * @member {VaultSecretGroup[]} [secrets] The List of certificates for + * addition to the VM. + */ + secrets?: VaultSecretGroup[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetManagedDiskParameters. + * Describes the parameters of a ScaleSet managed disk. + * + */ +export interface VirtualMachineScaleSetManagedDiskParameters { + /** + * @member {StorageAccountTypes} [storageAccountType] Specifies the storage + * account type for the managed disk. NOTE: UltraSSD_LRS can only be used + * with data disks, it cannot be used with OS Disk. Possible values include: + * 'Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', 'UltraSSD_LRS' + */ + storageAccountType?: StorageAccountTypes; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetOSDisk. + * Describes a virtual machine scale set operating system disk. + * + */ +export interface VirtualMachineScaleSetOSDisk { + /** + * @member {string} [name] The disk name. + */ + name?: string; + /** + * @member {CachingTypes} [caching] Specifies the caching requirements. + *

    Possible values are:

    **None**

    **ReadOnly** + *

    **ReadWrite**

    Default: **None for Standard storage. + * ReadOnly for Premium storage**. Possible values include: 'None', + * 'ReadOnly', 'ReadWrite' + */ + caching?: CachingTypes; + /** + * @member {boolean} [writeAcceleratorEnabled] Specifies whether + * writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: boolean; + /** + * @member {DiskCreateOptionTypes} createOption Specifies how the virtual + * machines in the scale set should be created.

    The only allowed + * value is: **FromImage** \u2013 This value is used when you are using an + * image to create the virtual machine. If you are using a platform image, + * you also use the imageReference element described above. If you are using + * a marketplace image, you also use the plan element previously described. + * Possible values include: 'FromImage', 'Empty', 'Attach' + */ + createOption: DiskCreateOptionTypes; + /** + * @member {DiffDiskSettings} [diffDiskSettings] Specifies the differencing + * Disk Settings for the operating system disk used by the virtual machine + * scale set. + */ + diffDiskSettings?: DiffDiskSettings; + /** + * @member {number} [diskSizeGB] Specifies the size of the operating system + * disk in gigabytes. This element can be used to overwrite the size of the + * disk in a virtual machine image.

    This value cannot be larger than + * 1023 GB + */ + diskSizeGB?: number; + /** + * @member {OperatingSystemTypes} [osType] This property allows you to + * specify the type of the OS that is included in the disk if creating a VM + * from user-image or a specialized VHD.

    Possible values are: + *

    **Windows**

    **Linux**. Possible values include: + * 'Windows', 'Linux' + */ + osType?: OperatingSystemTypes; + /** + * @member {VirtualHardDisk} [image] Specifies information about the + * unmanaged user image to base the scale set on. + */ + image?: VirtualHardDisk; + /** + * @member {string[]} [vhdContainers] Specifies the container urls that are + * used to store operating system disks for the scale set. + */ + vhdContainers?: string[]; + /** + * @member {VirtualMachineScaleSetManagedDiskParameters} [managedDisk] The + * managed disk parameters. + */ + managedDisk?: VirtualMachineScaleSetManagedDiskParameters; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdateOSDisk. + * Describes virtual machine scale set operating system disk Update Object. + * This should be used for Updating VMSS OS Disk. + * + */ +export interface VirtualMachineScaleSetUpdateOSDisk { + /** + * @member {CachingTypes} [caching] The caching type. Possible values + * include: 'None', 'ReadOnly', 'ReadWrite' + */ + caching?: CachingTypes; + /** + * @member {boolean} [writeAcceleratorEnabled] Specifies whether + * writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: boolean; + /** + * @member {number} [diskSizeGB] Specifies the size of the operating system + * disk in gigabytes. This element can be used to overwrite the size of the + * disk in a virtual machine image.

    This value cannot be larger than + * 1023 GB + */ + diskSizeGB?: number; + /** + * @member {VirtualHardDisk} [image] The Source User Image VirtualHardDisk. + * This VirtualHardDisk will be copied before using it to attach to the + * Virtual Machine. If SourceImage is provided, the destination + * VirtualHardDisk should not exist. + */ + image?: VirtualHardDisk; + /** + * @member {string[]} [vhdContainers] The list of virtual hard disk container + * uris. + */ + vhdContainers?: string[]; + /** + * @member {VirtualMachineScaleSetManagedDiskParameters} [managedDisk] The + * managed disk parameters. + */ + managedDisk?: VirtualMachineScaleSetManagedDiskParameters; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetDataDisk. + * Describes a virtual machine scale set data disk. + * + */ +export interface VirtualMachineScaleSetDataDisk { + /** + * @member {string} [name] The disk name. + */ + name?: string; + /** + * @member {number} lun Specifies the logical unit number of the data disk. + * This value is used to identify data disks within the VM and therefore must + * be unique for each data disk attached to a VM. + */ + lun: number; + /** + * @member {CachingTypes} [caching] Specifies the caching requirements. + *

    Possible values are:

    **None**

    **ReadOnly** + *

    **ReadWrite**

    Default: **None for Standard storage. + * ReadOnly for Premium storage**. Possible values include: 'None', + * 'ReadOnly', 'ReadWrite' + */ + caching?: CachingTypes; + /** + * @member {boolean} [writeAcceleratorEnabled] Specifies whether + * writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: boolean; + /** + * @member {DiskCreateOptionTypes} createOption The create option. Possible + * values include: 'FromImage', 'Empty', 'Attach' + */ + createOption: DiskCreateOptionTypes; + /** + * @member {number} [diskSizeGB] Specifies the size of an empty data disk in + * gigabytes. This element can be used to overwrite the size of the disk in a + * virtual machine image.

    This value cannot be larger than 1023 GB + */ + diskSizeGB?: number; + /** + * @member {VirtualMachineScaleSetManagedDiskParameters} [managedDisk] The + * managed disk parameters. + */ + managedDisk?: VirtualMachineScaleSetManagedDiskParameters; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetStorageProfile. + * Describes a virtual machine scale set storage profile. + * + */ +export interface VirtualMachineScaleSetStorageProfile { + /** + * @member {ImageReference} [imageReference] Specifies information about the + * image to use. You can specify information about platform images, + * marketplace images, or virtual machine images. This element is required + * when you want to use a platform image, marketplace image, or virtual + * machine image, but is not used in other creation operations. + */ + imageReference?: ImageReference; + /** + * @member {VirtualMachineScaleSetOSDisk} [osDisk] Specifies information + * about the operating system disk used by the virtual machines in the scale + * set.

    For more information about disks, see [About disks and VHDs + * for Azure virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + */ + osDisk?: VirtualMachineScaleSetOSDisk; + /** + * @member {VirtualMachineScaleSetDataDisk[]} [dataDisks] Specifies the + * parameters that are used to add data disks to the virtual machines in the + * scale set.

    For more information about disks, see [About disks and + * VHDs for Azure virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + */ + dataDisks?: VirtualMachineScaleSetDataDisk[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdateStorageProfile. + * Describes a virtual machine scale set storage profile. + * + */ +export interface VirtualMachineScaleSetUpdateStorageProfile { + /** + * @member {ImageReference} [imageReference] The image reference. + */ + imageReference?: ImageReference; + /** + * @member {VirtualMachineScaleSetUpdateOSDisk} [osDisk] The OS disk. + */ + osDisk?: VirtualMachineScaleSetUpdateOSDisk; + /** + * @member {VirtualMachineScaleSetDataDisk[]} [dataDisks] The data disks. + */ + dataDisks?: VirtualMachineScaleSetDataDisk[]; +} + +/** + * @interface + * An interface representing ApiEntityReference. + * The API entity reference. + * + */ +export interface ApiEntityReference { + /** + * @member {string} [id] The ARM resource id in the form of + * /subscriptions/{SubcriptionId}/resourceGroups/{ResourceGroupName}/... + */ + id?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings. + * Describes a virtual machines scale sets network configuration's DNS + * settings. + * + */ +export interface VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings { + /** + * @member {string} domainNameLabel The Domain name label.The concatenation + * of the domain name label and vm index will be the domain name labels of + * the PublicIPAddress resources that will be created + */ + domainNameLabel: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetIpTag. + * Contains the IP tag associated with the public IP address. + * + */ +export interface VirtualMachineScaleSetIpTag { + /** + * @member {string} [ipTagType] IP tag type. Example: FirstPartyUsage. + */ + ipTagType?: string; + /** + * @member {string} [tag] IP tag associated with the public IP. Example: SQL, + * Storage etc. + */ + tag?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetPublicIPAddressConfiguration. + * Describes a virtual machines scale set IP Configuration's PublicIPAddress + * configuration + * + */ +export interface VirtualMachineScaleSetPublicIPAddressConfiguration { + /** + * @member {string} name The publicIP address configuration name. + */ + name: string; + /** + * @member {number} [idleTimeoutInMinutes] The idle timeout of the public IP + * address. + */ + idleTimeoutInMinutes?: number; + /** + * @member {VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings} + * [dnsSettings] The dns settings to be applied on the publicIP addresses . + */ + dnsSettings?: VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings; + /** + * @member {VirtualMachineScaleSetIpTag[]} [ipTags] The list of IP tags + * associated with the public IP address. + */ + ipTags?: VirtualMachineScaleSetIpTag[]; + /** + * @member {SubResource} [publicIPPrefix] The PublicIPPrefix from which to + * allocate publicIP addresses. + */ + publicIPPrefix?: SubResource; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdatePublicIPAddressConfiguration. + * Describes a virtual machines scale set IP Configuration's PublicIPAddress + * configuration + * + */ +export interface VirtualMachineScaleSetUpdatePublicIPAddressConfiguration { + /** + * @member {string} [name] The publicIP address configuration name. + */ + name?: string; + /** + * @member {number} [idleTimeoutInMinutes] The idle timeout of the public IP + * address. + */ + idleTimeoutInMinutes?: number; + /** + * @member {VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings} + * [dnsSettings] The dns settings to be applied on the publicIP addresses . + */ + dnsSettings?: VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetIPConfiguration. + * Describes a virtual machine scale set network profile's IP configuration. + * + * @extends SubResource + */ +export interface VirtualMachineScaleSetIPConfiguration extends SubResource { + /** + * @member {string} name The IP configuration name. + */ + name: string; + /** + * @member {ApiEntityReference} [subnet] Specifies the identifier of the + * subnet. + */ + subnet?: ApiEntityReference; + /** + * @member {boolean} [primary] Specifies the primary network interface in + * case the virtual machine has more than 1 network interface. + */ + primary?: boolean; + /** + * @member {VirtualMachineScaleSetPublicIPAddressConfiguration} + * [publicIPAddressConfiguration] The publicIPAddressConfiguration. + */ + publicIPAddressConfiguration?: VirtualMachineScaleSetPublicIPAddressConfiguration; + /** + * @member {IPVersion} [privateIPAddressVersion] Available from Api-Version + * 2017-03-30 onwards, it represents whether the specific ipconfiguration is + * IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and + * 'IPv6'. Possible values include: 'IPv4', 'IPv6' + */ + privateIPAddressVersion?: IPVersion; + /** + * @member {SubResource[]} [applicationGatewayBackendAddressPools] Specifies + * an array of references to backend address pools of application gateways. A + * scale set can reference backend address pools of multiple application + * gateways. Multiple scale sets cannot use the same application gateway. + */ + applicationGatewayBackendAddressPools?: SubResource[]; + /** + * @member {SubResource[]} [applicationSecurityGroups] Specifies an array of + * references to application security group. + */ + applicationSecurityGroups?: SubResource[]; + /** + * @member {SubResource[]} [loadBalancerBackendAddressPools] Specifies an + * array of references to backend address pools of load balancers. A scale + * set can reference backend address pools of one public and one internal + * load balancer. Multiple scale sets cannot use the same load balancer. + */ + loadBalancerBackendAddressPools?: SubResource[]; + /** + * @member {SubResource[]} [loadBalancerInboundNatPools] Specifies an array + * of references to inbound Nat pools of the load balancers. A scale set can + * reference inbound nat pools of one public and one internal load balancer. + * Multiple scale sets cannot use the same load balancer + */ + loadBalancerInboundNatPools?: SubResource[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdateIPConfiguration. + * Describes a virtual machine scale set network profile's IP configuration. + * + * @extends SubResource + */ +export interface VirtualMachineScaleSetUpdateIPConfiguration extends SubResource { + /** + * @member {string} [name] The IP configuration name. + */ + name?: string; + /** + * @member {ApiEntityReference} [subnet] The subnet. + */ + subnet?: ApiEntityReference; + /** + * @member {boolean} [primary] Specifies the primary IP Configuration in case + * the network interface has more than one IP Configuration. + */ + primary?: boolean; + /** + * @member {VirtualMachineScaleSetUpdatePublicIPAddressConfiguration} + * [publicIPAddressConfiguration] The publicIPAddressConfiguration. + */ + publicIPAddressConfiguration?: VirtualMachineScaleSetUpdatePublicIPAddressConfiguration; + /** + * @member {IPVersion} [privateIPAddressVersion] Available from Api-Version + * 2017-03-30 onwards, it represents whether the specific ipconfiguration is + * IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and + * 'IPv6'. Possible values include: 'IPv4', 'IPv6' + */ + privateIPAddressVersion?: IPVersion; + /** + * @member {SubResource[]} [applicationGatewayBackendAddressPools] The + * application gateway backend address pools. + */ + applicationGatewayBackendAddressPools?: SubResource[]; + /** + * @member {SubResource[]} [applicationSecurityGroups] Specifies an array of + * references to application security group. + */ + applicationSecurityGroups?: SubResource[]; + /** + * @member {SubResource[]} [loadBalancerBackendAddressPools] The load + * balancer backend address pools. + */ + loadBalancerBackendAddressPools?: SubResource[]; + /** + * @member {SubResource[]} [loadBalancerInboundNatPools] The load balancer + * inbound nat pools. + */ + loadBalancerInboundNatPools?: SubResource[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetNetworkConfigurationDnsSettings. + * Describes a virtual machines scale sets network configuration's DNS + * settings. + * + */ +export interface VirtualMachineScaleSetNetworkConfigurationDnsSettings { + /** + * @member {string[]} [dnsServers] List of DNS servers IP addresses + */ + dnsServers?: string[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetNetworkConfiguration. + * Describes a virtual machine scale set network profile's network + * configurations. + * + * @extends SubResource + */ +export interface VirtualMachineScaleSetNetworkConfiguration extends SubResource { + /** + * @member {string} name The network configuration name. + */ + name: string; + /** + * @member {boolean} [primary] Specifies the primary network interface in + * case the virtual machine has more than 1 network interface. + */ + primary?: boolean; + /** + * @member {boolean} [enableAcceleratedNetworking] Specifies whether the + * network interface is accelerated networking-enabled. + */ + enableAcceleratedNetworking?: boolean; + /** + * @member {SubResource} [networkSecurityGroup] The network security group. + */ + networkSecurityGroup?: SubResource; + /** + * @member {VirtualMachineScaleSetNetworkConfigurationDnsSettings} + * [dnsSettings] The dns settings to be applied on the network interfaces. + */ + dnsSettings?: VirtualMachineScaleSetNetworkConfigurationDnsSettings; + /** + * @member {VirtualMachineScaleSetIPConfiguration[]} ipConfigurations + * Specifies the IP configurations of the network interface. + */ + ipConfigurations: VirtualMachineScaleSetIPConfiguration[]; + /** + * @member {boolean} [enableIPForwarding] Whether IP forwarding enabled on + * this NIC. + */ + enableIPForwarding?: boolean; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdateNetworkConfiguration. + * Describes a virtual machine scale set network profile's network + * configurations. + * + * @extends SubResource + */ +export interface VirtualMachineScaleSetUpdateNetworkConfiguration extends SubResource { + /** + * @member {string} [name] The network configuration name. + */ + name?: string; + /** + * @member {boolean} [primary] Whether this is a primary NIC on a virtual + * machine. + */ + primary?: boolean; + /** + * @member {boolean} [enableAcceleratedNetworking] Specifies whether the + * network interface is accelerated networking-enabled. + */ + enableAcceleratedNetworking?: boolean; + /** + * @member {SubResource} [networkSecurityGroup] The network security group. + */ + networkSecurityGroup?: SubResource; + /** + * @member {VirtualMachineScaleSetNetworkConfigurationDnsSettings} + * [dnsSettings] The dns settings to be applied on the network interfaces. + */ + dnsSettings?: VirtualMachineScaleSetNetworkConfigurationDnsSettings; + /** + * @member {VirtualMachineScaleSetUpdateIPConfiguration[]} [ipConfigurations] + * The virtual machine scale set IP Configuration. + */ + ipConfigurations?: VirtualMachineScaleSetUpdateIPConfiguration[]; + /** + * @member {boolean} [enableIPForwarding] Whether IP forwarding enabled on + * this NIC. + */ + enableIPForwarding?: boolean; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetNetworkProfile. + * Describes a virtual machine scale set network profile. + * + */ +export interface VirtualMachineScaleSetNetworkProfile { + /** + * @member {ApiEntityReference} [healthProbe] A reference to a load balancer + * probe used to determine the health of an instance in the virtual machine + * scale set. The reference will be in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + */ + healthProbe?: ApiEntityReference; + /** + * @member {VirtualMachineScaleSetNetworkConfiguration[]} + * [networkInterfaceConfigurations] The list of network configurations. + */ + networkInterfaceConfigurations?: VirtualMachineScaleSetNetworkConfiguration[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdateNetworkProfile. + * Describes a virtual machine scale set network profile. + * + */ +export interface VirtualMachineScaleSetUpdateNetworkProfile { + /** + * @member {VirtualMachineScaleSetUpdateNetworkConfiguration[]} + * [networkInterfaceConfigurations] The list of network configurations. + */ + networkInterfaceConfigurations?: VirtualMachineScaleSetUpdateNetworkConfiguration[]; +} + +/** + * @interface + * An interface representing SubResourceReadOnly. + * @extends BaseResource + */ +export interface SubResourceReadOnly extends BaseResource { + /** + * @member {string} [id] Resource Id + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetExtension. + * Describes a Virtual Machine Scale Set Extension. + * + * @extends SubResourceReadOnly + */ +export interface VirtualMachineScaleSetExtension extends SubResourceReadOnly { + /** + * @member {string} [name] The name of the extension. + */ + name?: string; + /** + * @member {string} [forceUpdateTag] If a value is provided and is different + * from the previous value, the extension handler will be forced to update + * even if the extension configuration has not changed. + */ + forceUpdateTag?: string; + /** + * @member {string} [publisher] The name of the extension handler publisher. + */ + publisher?: string; + /** + * @member {string} [type] Specifies the type of the extension; an example is + * "CustomScriptExtension". + */ + type?: string; + /** + * @member {string} [typeHandlerVersion] Specifies the version of the script + * handler. + */ + typeHandlerVersion?: string; + /** + * @member {boolean} [autoUpgradeMinorVersion] Indicates whether the + * extension should use a newer minor version if one is available at + * deployment time. Once deployed, however, the extension will not upgrade + * minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: boolean; + /** + * @member {any} [settings] Json formatted public settings for the extension. + */ + settings?: any; + /** + * @member {any} [protectedSettings] The extension can contain either + * protectedSettings or protectedSettingsFromKeyVault or no protected + * settings at all. + */ + protectedSettings?: any; + /** + * @member {string} [provisioningState] The provisioning state, which only + * appears in the response. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetExtensionProfile. + * Describes a virtual machine scale set extension profile. + * + */ +export interface VirtualMachineScaleSetExtensionProfile { + /** + * @member {VirtualMachineScaleSetExtension[]} [extensions] The virtual + * machine scale set child extension resources. + */ + extensions?: VirtualMachineScaleSetExtension[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetVMProfile. + * Describes a virtual machine scale set virtual machine profile. + * + */ +export interface VirtualMachineScaleSetVMProfile { + /** + * @member {VirtualMachineScaleSetOSProfile} [osProfile] Specifies the + * operating system settings for the virtual machines in the scale set. + */ + osProfile?: VirtualMachineScaleSetOSProfile; + /** + * @member {VirtualMachineScaleSetStorageProfile} [storageProfile] Specifies + * the storage settings for the virtual machine disks. + */ + storageProfile?: VirtualMachineScaleSetStorageProfile; + /** + * @member {AdditionalCapabilities} [additionalCapabilities] Specifies + * additional capabilities enabled or disabled on the virtual machine in the + * scale set. For instance: whether the virtual machine has the capability to + * support attaching managed data disks with UltraSSD_LRS storage account + * type. + */ + additionalCapabilities?: AdditionalCapabilities; + /** + * @member {VirtualMachineScaleSetNetworkProfile} [networkProfile] Specifies + * properties of the network interfaces of the virtual machines in the scale + * set. + */ + networkProfile?: VirtualMachineScaleSetNetworkProfile; + /** + * @member {DiagnosticsProfile} [diagnosticsProfile] Specifies the boot + * diagnostic settings state.

    Minimum api-version: 2015-06-15. + */ + diagnosticsProfile?: DiagnosticsProfile; + /** + * @member {VirtualMachineScaleSetExtensionProfile} [extensionProfile] + * Specifies a collection of settings for extensions installed on virtual + * machines in the scale set. + */ + extensionProfile?: VirtualMachineScaleSetExtensionProfile; + /** + * @member {string} [licenseType] Specifies that the image or disk that is + * being used was licensed on-premises. This element is only used for images + * that contain the Windows Server operating system.

    Possible values + * are:

    Windows_Client

    Windows_Server

    If this + * element is included in a request for an update, the value must match the + * initial value. This value cannot be updated.

    For more + * information, see [Azure Hybrid Use Benefit for Windows + * Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    Minimum api-version: 2015-06-15 + */ + licenseType?: string; + /** + * @member {VirtualMachinePriorityTypes} [priority] Specifies the priority + * for the virtual machines in the scale set.

    Minimum api-version: + * 2017-10-30-preview. Possible values include: 'Regular', 'Low' + */ + priority?: VirtualMachinePriorityTypes; + /** + * @member {VirtualMachineEvictionPolicyTypes} [evictionPolicy] Specifies the + * eviction policy for virtual machines in a low priority scale set. + *

    Minimum api-version: 2017-10-30-preview. Possible values include: + * 'Deallocate', 'Delete' + */ + evictionPolicy?: VirtualMachineEvictionPolicyTypes; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdateVMProfile. + * Describes a virtual machine scale set virtual machine profile. + * + */ +export interface VirtualMachineScaleSetUpdateVMProfile { + /** + * @member {VirtualMachineScaleSetUpdateOSProfile} [osProfile] The virtual + * machine scale set OS profile. + */ + osProfile?: VirtualMachineScaleSetUpdateOSProfile; + /** + * @member {VirtualMachineScaleSetUpdateStorageProfile} [storageProfile] The + * virtual machine scale set storage profile. + */ + storageProfile?: VirtualMachineScaleSetUpdateStorageProfile; + /** + * @member {VirtualMachineScaleSetUpdateNetworkProfile} [networkProfile] The + * virtual machine scale set network profile. + */ + networkProfile?: VirtualMachineScaleSetUpdateNetworkProfile; + /** + * @member {DiagnosticsProfile} [diagnosticsProfile] The virtual machine + * scale set diagnostics profile. + */ + diagnosticsProfile?: DiagnosticsProfile; + /** + * @member {VirtualMachineScaleSetExtensionProfile} [extensionProfile] The + * virtual machine scale set extension profile. + */ + extensionProfile?: VirtualMachineScaleSetExtensionProfile; + /** + * @member {string} [licenseType] The license type, which is for bring your + * own license scenario. + */ + licenseType?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSet. + * Describes a Virtual Machine Scale Set. + * + * @extends Resource + */ +export interface VirtualMachineScaleSet extends Resource { + /** + * @member {Sku} [sku] The virtual machine scale set sku. + */ + sku?: Sku; + /** + * @member {Plan} [plan] Specifies information about the marketplace image + * used to create the virtual machine. This element is only used for + * marketplace images. Before you can use a marketplace image from an API, + * you must enable the image for programmatic use. In the Azure portal, find + * the marketplace image that you want to use and then click **Want to deploy + * programmatically, Get Started ->**. Enter any required information and + * then click **Save**. + */ + plan?: Plan; + /** + * @member {UpgradePolicy} [upgradePolicy] The upgrade policy. + */ + upgradePolicy?: UpgradePolicy; + /** + * @member {VirtualMachineScaleSetVMProfile} [virtualMachineProfile] The + * virtual machine profile. + */ + virtualMachineProfile?: VirtualMachineScaleSetVMProfile; + /** + * @member {string} [provisioningState] The provisioning state, which only + * appears in the response. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; + /** + * @member {boolean} [overprovision] Specifies whether the Virtual Machine + * Scale Set should be overprovisioned. + */ + overprovision?: boolean; + /** + * @member {string} [uniqueId] Specifies the ID which uniquely identifies a + * Virtual Machine Scale Set. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly uniqueId?: string; + /** + * @member {boolean} [singlePlacementGroup] When true this limits the scale + * set to a single placement group, of max size 100 virtual machines. + */ + singlePlacementGroup?: boolean; + /** + * @member {boolean} [zoneBalance] Whether to force stictly even Virtual + * Machine distribution cross x-zones in case there is zone outage. + */ + zoneBalance?: boolean; + /** + * @member {number} [platformFaultDomainCount] Fault Domain count for each + * placement group. + */ + platformFaultDomainCount?: number; + /** + * @member {VirtualMachineScaleSetIdentity} [identity] The identity of the + * virtual machine scale set, if configured. + */ + identity?: VirtualMachineScaleSetIdentity; + /** + * @member {string[]} [zones] The virtual machine scale set zones. + */ + zones?: string[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetUpdate. + * Describes a Virtual Machine Scale Set. + * + * @extends UpdateResource + */ +export interface VirtualMachineScaleSetUpdate extends UpdateResource { + /** + * @member {Sku} [sku] The virtual machine scale set sku. + */ + sku?: Sku; + /** + * @member {Plan} [plan] The purchase plan when deploying a virtual machine + * scale set from VM Marketplace images. + */ + plan?: Plan; + /** + * @member {UpgradePolicy} [upgradePolicy] The upgrade policy. + */ + upgradePolicy?: UpgradePolicy; + /** + * @member {VirtualMachineScaleSetUpdateVMProfile} [virtualMachineProfile] + * The virtual machine profile. + */ + virtualMachineProfile?: VirtualMachineScaleSetUpdateVMProfile; + /** + * @member {boolean} [overprovision] Specifies whether the Virtual Machine + * Scale Set should be overprovisioned. + */ + overprovision?: boolean; + /** + * @member {boolean} [singlePlacementGroup] When true this limits the scale + * set to a single placement group, of max size 100 virtual machines. + */ + singlePlacementGroup?: boolean; + /** + * @member {VirtualMachineScaleSetIdentity} [identity] The identity of the + * virtual machine scale set, if configured. + */ + identity?: VirtualMachineScaleSetIdentity; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetVMInstanceIDs. + * Specifies a list of virtual machine instance IDs from the VM scale set. + * + */ +export interface VirtualMachineScaleSetVMInstanceIDs { + /** + * @member {string[]} [instanceIds] The virtual machine scale set instance + * ids. Omitting the virtual machine scale set instance ids will result in + * the operation being performed on all virtual machines in the virtual + * machine scale set. + */ + instanceIds?: string[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetVMInstanceRequiredIDs. + * Specifies a list of virtual machine instance IDs from the VM scale set. + * + */ +export interface VirtualMachineScaleSetVMInstanceRequiredIDs { + /** + * @member {string[]} instanceIds The virtual machine scale set instance ids. + */ + instanceIds: string[]; +} + +/** + * @interface + * An interface representing VirtualMachineStatusCodeCount. + * The status code and count of the virtual machine scale set instance view + * status summary. + * + */ +export interface VirtualMachineStatusCodeCount { + /** + * @member {string} [code] The instance view status code. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly code?: string; + /** + * @member {number} [count] The number of instances having a particular + * status code. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly count?: number; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetInstanceViewStatusesSummary. + * Instance view statuses summary for virtual machines of a virtual machine + * scale set. + * + */ +export interface VirtualMachineScaleSetInstanceViewStatusesSummary { + /** + * @member {VirtualMachineStatusCodeCount[]} [statusesSummary] The extensions + * information. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly statusesSummary?: VirtualMachineStatusCodeCount[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetVMExtensionsSummary. + * Extensions summary for virtual machines of a virtual machine scale set. + * + */ +export interface VirtualMachineScaleSetVMExtensionsSummary { + /** + * @member {string} [name] The extension name. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly name?: string; + /** + * @member {VirtualMachineStatusCodeCount[]} [statusesSummary] The extensions + * information. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly statusesSummary?: VirtualMachineStatusCodeCount[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetInstanceView. + * The instance view of a virtual machine scale set. + * + */ +export interface VirtualMachineScaleSetInstanceView { + /** + * @member {VirtualMachineScaleSetInstanceViewStatusesSummary} + * [virtualMachine] The instance view status summary for the virtual machine + * scale set. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly virtualMachine?: VirtualMachineScaleSetInstanceViewStatusesSummary; + /** + * @member {VirtualMachineScaleSetVMExtensionsSummary[]} [extensions] The + * extensions information. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly extensions?: VirtualMachineScaleSetVMExtensionsSummary[]; + /** + * @member {InstanceViewStatus[]} [statuses] The resource status information. + */ + statuses?: InstanceViewStatus[]; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetSkuCapacity. + * Describes scaling information of a sku. + * + */ +export interface VirtualMachineScaleSetSkuCapacity { + /** + * @member {number} [minimum] The minimum capacity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly minimum?: number; + /** + * @member {number} [maximum] The maximum capacity that can be set. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly maximum?: number; + /** + * @member {number} [defaultCapacity] The default capacity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly defaultCapacity?: number; + /** + * @member {VirtualMachineScaleSetSkuScaleType} [scaleType] The scale type + * applicable to the sku. Possible values include: 'Automatic', 'None' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scaleType?: VirtualMachineScaleSetSkuScaleType; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetSku. + * Describes an available virtual machine scale set sku. + * + */ +export interface VirtualMachineScaleSetSku { + /** + * @member {string} [resourceType] The type of resource the sku applies to. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly resourceType?: string; + /** + * @member {Sku} [sku] The Sku. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly sku?: Sku; + /** + * @member {VirtualMachineScaleSetSkuCapacity} [capacity] Specifies the + * number of virtual machines in the scale set. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly capacity?: VirtualMachineScaleSetSkuCapacity; +} + +/** + * @interface + * An interface representing ApiErrorBase. + * Api error base. + * + */ +export interface ApiErrorBase { + /** + * @member {string} [code] The error code. + */ + code?: string; + /** + * @member {string} [target] The target of the particular error. + */ + target?: string; + /** + * @member {string} [message] The error message. + */ + message?: string; +} + +/** + * @interface + * An interface representing InnerError. + * Inner error details. + * + */ +export interface InnerError { + /** + * @member {string} [exceptiontype] The exception type. + */ + exceptiontype?: string; + /** + * @member {string} [errordetail] The internal error message or exception + * dump. + */ + errordetail?: string; +} + +/** + * @interface + * An interface representing ApiError. + * Api error. + * + */ +export interface ApiError { + /** + * @member {ApiErrorBase[]} [details] The Api error details + */ + details?: ApiErrorBase[]; + /** + * @member {InnerError} [innererror] The Api inner error + */ + innererror?: InnerError; + /** + * @member {string} [code] The error code. + */ + code?: string; + /** + * @member {string} [target] The target of the particular error. + */ + target?: string; + /** + * @member {string} [message] The error message. + */ + message?: string; +} + +/** + * @interface + * An interface representing RollbackStatusInfo. + * Information about rollback on failed VM instances after a OS Upgrade + * operation. + * + */ +export interface RollbackStatusInfo { + /** + * @member {number} [successfullyRolledbackInstanceCount] The number of + * instances which have been successfully rolled back. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly successfullyRolledbackInstanceCount?: number; + /** + * @member {number} [failedRolledbackInstanceCount] The number of instances + * which failed to rollback. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly failedRolledbackInstanceCount?: number; + /** + * @member {ApiError} [rollbackError] Error details if OS rollback failed. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly rollbackError?: ApiError; +} + +/** + * @interface + * An interface representing UpgradeOperationHistoryStatus. + * Information about the current running state of the overall upgrade. + * + */ +export interface UpgradeOperationHistoryStatus { + /** + * @member {UpgradeState} [code] Code indicating the current status of the + * upgrade. Possible values include: 'RollingForward', 'Cancelled', + * 'Completed', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly code?: UpgradeState; + /** + * @member {Date} [startTime] Start time of the upgrade. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly startTime?: Date; + /** + * @member {Date} [endTime] End time of the upgrade. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly endTime?: Date; +} + +/** + * @interface + * An interface representing RollingUpgradeProgressInfo. + * Information about the number of virtual machine instances in each upgrade + * state. + * + */ +export interface RollingUpgradeProgressInfo { + /** + * @member {number} [successfulInstanceCount] The number of instances that + * have been successfully upgraded. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly successfulInstanceCount?: number; + /** + * @member {number} [failedInstanceCount] The number of instances that have + * failed to be upgraded successfully. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly failedInstanceCount?: number; + /** + * @member {number} [inProgressInstanceCount] The number of instances that + * are currently being upgraded. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly inProgressInstanceCount?: number; + /** + * @member {number} [pendingInstanceCount] The number of instances that have + * not yet begun to be upgraded. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly pendingInstanceCount?: number; +} + +/** + * @interface + * An interface representing UpgradeOperationHistoricalStatusInfoProperties. + * Describes each OS upgrade on the Virtual Machine Scale Set. + * + */ +export interface UpgradeOperationHistoricalStatusInfoProperties { + /** + * @member {UpgradeOperationHistoryStatus} [runningStatus] Information about + * the overall status of the upgrade operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly runningStatus?: UpgradeOperationHistoryStatus; + /** + * @member {RollingUpgradeProgressInfo} [progress] Counts of the VM's in each + * state. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly progress?: RollingUpgradeProgressInfo; + /** + * @member {ApiError} [error] Error Details for this upgrade if there are + * any. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly error?: ApiError; + /** + * @member {UpgradeOperationInvoker} [startedBy] Invoker of the Upgrade + * Operation. Possible values include: 'Unknown', 'User', 'Platform' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly startedBy?: UpgradeOperationInvoker; + /** + * @member {ImageReference} [targetImageReference] Image Reference details + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly targetImageReference?: ImageReference; + /** + * @member {RollbackStatusInfo} [rollbackInfo] Information about OS rollback + * if performed + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly rollbackInfo?: RollbackStatusInfo; +} + +/** + * @interface + * An interface representing UpgradeOperationHistoricalStatusInfo. + * Virtual Machine Scale Set OS Upgrade History operation response. + * + */ +export interface UpgradeOperationHistoricalStatusInfo { + /** + * @member {UpgradeOperationHistoricalStatusInfoProperties} [properties] + * Information about the properties of the upgrade operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly properties?: UpgradeOperationHistoricalStatusInfoProperties; + /** + * @member {string} [type] Resource type + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly type?: string; + /** + * @member {string} [location] Resource location + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly location?: string; +} + +/** + * @interface + * An interface representing VirtualMachineHealthStatus. + * The health status of the VM. + * + */ +export interface VirtualMachineHealthStatus { + /** + * @member {InstanceViewStatus} [status] The health status information for + * the VM. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly status?: InstanceViewStatus; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetVMInstanceView. + * The instance view of a virtual machine scale set VM. + * + */ +export interface VirtualMachineScaleSetVMInstanceView { + /** + * @member {number} [platformUpdateDomain] The Update Domain count. + */ + platformUpdateDomain?: number; + /** + * @member {number} [platformFaultDomain] The Fault Domain count. + */ + platformFaultDomain?: number; + /** + * @member {string} [rdpThumbPrint] The Remote desktop certificate + * thumbprint. + */ + rdpThumbPrint?: string; + /** + * @member {VirtualMachineAgentInstanceView} [vmAgent] The VM Agent running + * on the virtual machine. + */ + vmAgent?: VirtualMachineAgentInstanceView; + /** + * @member {MaintenanceRedeployStatus} [maintenanceRedeployStatus] The + * Maintenance Operation status on the virtual machine. + */ + maintenanceRedeployStatus?: MaintenanceRedeployStatus; + /** + * @member {DiskInstanceView[]} [disks] The disks information. + */ + disks?: DiskInstanceView[]; + /** + * @member {VirtualMachineExtensionInstanceView[]} [extensions] The + * extensions information. + */ + extensions?: VirtualMachineExtensionInstanceView[]; + /** + * @member {VirtualMachineHealthStatus} [vmHealth] The health status for the + * VM. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly vmHealth?: VirtualMachineHealthStatus; + /** + * @member {BootDiagnosticsInstanceView} [bootDiagnostics] Boot Diagnostics + * is a debugging feature which allows you to view Console Output and + * Screenshot to diagnose VM status.

    You can easily view the output + * of your console log.

    Azure also enables you to see a screenshot + * of the VM from the hypervisor. + */ + bootDiagnostics?: BootDiagnosticsInstanceView; + /** + * @member {InstanceViewStatus[]} [statuses] The resource status information. + */ + statuses?: InstanceViewStatus[]; + /** + * @member {string} [placementGroupId] The placement group in which the VM is + * running. If the VM is deallocated it will not have a placementGroupId. + */ + placementGroupId?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetVM. + * Describes a virtual machine scale set virtual machine. + * + * @extends Resource + */ +export interface VirtualMachineScaleSetVM extends Resource { + /** + * @member {string} [instanceId] The virtual machine instance ID. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly instanceId?: string; + /** + * @member {Sku} [sku] The virtual machine SKU. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly sku?: Sku; + /** + * @member {boolean} [latestModelApplied] Specifies whether the latest model + * has been applied to the virtual machine. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly latestModelApplied?: boolean; + /** + * @member {string} [vmId] Azure VM unique ID. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly vmId?: string; + /** + * @member {VirtualMachineScaleSetVMInstanceView} [instanceView] The virtual + * machine instance view. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly instanceView?: VirtualMachineScaleSetVMInstanceView; + /** + * @member {HardwareProfile} [hardwareProfile] Specifies the hardware + * settings for the virtual machine. + */ + hardwareProfile?: HardwareProfile; + /** + * @member {StorageProfile} [storageProfile] Specifies the storage settings + * for the virtual machine disks. + */ + storageProfile?: StorageProfile; + /** + * @member {AdditionalCapabilities} [additionalCapabilities] Specifies + * additional capabilities enabled or disabled on the virtual machine in the + * scale set. For instance: whether the virtual machine has the capability to + * support attaching managed data disks with UltraSSD_LRS storage account + * type. + */ + additionalCapabilities?: AdditionalCapabilities; + /** + * @member {OSProfile} [osProfile] Specifies the operating system settings + * for the virtual machine. + */ + osProfile?: OSProfile; + /** + * @member {NetworkProfile} [networkProfile] Specifies the network interfaces + * of the virtual machine. + */ + networkProfile?: NetworkProfile; + /** + * @member {DiagnosticsProfile} [diagnosticsProfile] Specifies the boot + * diagnostic settings state.

    Minimum api-version: 2015-06-15. + */ + diagnosticsProfile?: DiagnosticsProfile; + /** + * @member {SubResource} [availabilitySet] Specifies information about the + * availability set that the virtual machine should be assigned to. Virtual + * machines specified in the same availability set are allocated to different + * nodes to maximize availability. For more information about availability + * sets, see [Manage the availability of virtual + * machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + *

    For more information on Azure planned maintainance, see [Planned + * maintenance for virtual machines in + * Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    Currently, a VM can only be added to availability set at creation + * time. An existing VM cannot be added to an availability set. + */ + availabilitySet?: SubResource; + /** + * @member {string} [provisioningState] The provisioning state, which only + * appears in the response. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; + /** + * @member {string} [licenseType] Specifies that the image or disk that is + * being used was licensed on-premises. This element is only used for images + * that contain the Windows Server operating system.

    Possible values + * are:

    Windows_Client

    Windows_Server

    If this + * element is included in a request for an update, the value must match the + * initial value. This value cannot be updated.

    For more + * information, see [Azure Hybrid Use Benefit for Windows + * Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + *

    Minimum api-version: 2015-06-15 + */ + licenseType?: string; + /** + * @member {Plan} [plan] Specifies information about the marketplace image + * used to create the virtual machine. This element is only used for + * marketplace images. Before you can use a marketplace image from an API, + * you must enable the image for programmatic use. In the Azure portal, find + * the marketplace image that you want to use and then click **Want to deploy + * programmatically, Get Started ->**. Enter any required information and + * then click **Save**. + */ + plan?: Plan; + /** + * @member {VirtualMachineExtension[]} [resources] The virtual machine child + * extension resources. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly resources?: VirtualMachineExtension[]; + /** + * @member {string[]} [zones] The virtual machine zones. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly zones?: string[]; +} + +/** + * @interface + * An interface representing RollingUpgradeRunningStatus. + * Information about the current running state of the overall upgrade. + * + */ +export interface RollingUpgradeRunningStatus { + /** + * @member {RollingUpgradeStatusCode} [code] Code indicating the current + * status of the upgrade. Possible values include: 'RollingForward', + * 'Cancelled', 'Completed', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly code?: RollingUpgradeStatusCode; + /** + * @member {Date} [startTime] Start time of the upgrade. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly startTime?: Date; + /** + * @member {RollingUpgradeActionType} [lastAction] The last action performed + * on the rolling upgrade. Possible values include: 'Start', 'Cancel' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly lastAction?: RollingUpgradeActionType; + /** + * @member {Date} [lastActionTime] Last action time of the upgrade. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly lastActionTime?: Date; +} + +/** + * @interface + * An interface representing RollingUpgradeStatusInfo. + * The status of the latest virtual machine scale set rolling upgrade. + * + * @extends Resource + */ +export interface RollingUpgradeStatusInfo extends Resource { + /** + * @member {RollingUpgradePolicy} [policy] The rolling upgrade policies + * applied for this upgrade. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly policy?: RollingUpgradePolicy; + /** + * @member {RollingUpgradeRunningStatus} [runningStatus] Information about + * the current running state of the overall upgrade. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly runningStatus?: RollingUpgradeRunningStatus; + /** + * @member {RollingUpgradeProgressInfo} [progress] Information about the + * number of virtual machine instances in each upgrade state. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly progress?: RollingUpgradeProgressInfo; + /** + * @member {ApiError} [error] Error details for this upgrade, if there are + * any. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly error?: ApiError; +} + +/** + * @interface + * An interface representing RecoveryWalkResponse. + * Response after calling a manual recovery walk + * + */ +export interface RecoveryWalkResponse { + /** + * @member {boolean} [walkPerformed] Whether the recovery walk was performed + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly walkPerformed?: boolean; + /** + * @member {number} [nextPlatformUpdateDomain] The next update domain that + * needs to be walked. Null means walk spanning all update domains has been + * completed + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextPlatformUpdateDomain?: number; +} + +/** + * @interface + * An interface representing LogAnalyticsInputBase. + * Api input base class for LogAnalytics Api. + * + */ +export interface LogAnalyticsInputBase { + /** + * @member {string} blobContainerSasUri SAS Uri of the logging blob container + * to which LogAnalytics Api writes output logs to. + */ + blobContainerSasUri: string; + /** + * @member {Date} fromTime From time of the query + */ + fromTime: Date; + /** + * @member {Date} toTime To time of the query + */ + toTime: Date; + /** + * @member {boolean} [groupByThrottlePolicy] Group query result by Throttle + * Policy applied. + */ + groupByThrottlePolicy?: boolean; + /** + * @member {boolean} [groupByOperationName] Group query result by by + * Operation Name. + */ + groupByOperationName?: boolean; + /** + * @member {boolean} [groupByResourceName] Group query result by Resource + * Name. + */ + groupByResourceName?: boolean; +} + +/** + * @interface + * An interface representing RequestRateByIntervalInput. + * Api request input for LogAnalytics getRequestRateByInterval Api. + * + * @extends LogAnalyticsInputBase + */ +export interface RequestRateByIntervalInput extends LogAnalyticsInputBase { + /** + * @member {IntervalInMins} intervalLength Interval value in minutes used to + * create LogAnalytics call rate logs. Possible values include: 'ThreeMins', + * 'FiveMins', 'ThirtyMins', 'SixtyMins' + */ + intervalLength: IntervalInMins; +} + +/** + * @interface + * An interface representing ThrottledRequestsInput. + * Api request input for LogAnalytics getThrottledRequests Api. + * + * @extends LogAnalyticsInputBase + */ +export interface ThrottledRequestsInput extends LogAnalyticsInputBase { +} + +/** + * @interface + * An interface representing LogAnalyticsOutput. + * LogAnalytics output properties + * + */ +export interface LogAnalyticsOutput { + /** + * @member {string} [output] Output file Uri path to blob container. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly output?: string; +} + +/** + * @interface + * An interface representing LogAnalyticsOperationResult. + * LogAnalytics operation status response + * + */ +export interface LogAnalyticsOperationResult { + /** + * @member {LogAnalyticsOutput} [properties] LogAnalyticsOutput + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly properties?: LogAnalyticsOutput; +} + +/** + * @interface + * An interface representing InGuestSoftwareItem. + * Describes a InGuest software item. + * + * @extends Resource + */ +export interface InGuestSoftwareItem extends Resource { + /** + * @member {string} [inGuestSoftwareItemName] Specifies the name of the + * software. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly inGuestSoftwareItemName?: string; + /** + * @member {string} [version] Specifies the version of the software. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly version?: string; + /** + * @member {string} [publisher] Specifies the publisher of the software. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly publisher?: string; +} + +/** + * @interface + * An interface representing RunCommandInputParameter. + * Describes the properties of a run command parameter. + * + */ +export interface RunCommandInputParameter { + /** + * @member {string} name The run command parameter name. + */ + name: string; + /** + * @member {string} value The run command parameter value. + */ + value: string; +} + +/** + * @interface + * An interface representing RunCommandInput. + * Capture Virtual Machine parameters. + * + */ +export interface RunCommandInput { + /** + * @member {string} commandId The run command id. + */ + commandId: string; + /** + * @member {string[]} [script] Optional. The script to be executed. When + * this value is given, the given script will override the default script of + * the command. + */ + script?: string[]; + /** + * @member {RunCommandInputParameter[]} [parameters] The run command + * parameters. + */ + parameters?: RunCommandInputParameter[]; +} + +/** + * @interface + * An interface representing RunCommandParameterDefinition. + * Describes the properties of a run command parameter. + * + */ +export interface RunCommandParameterDefinition { + /** + * @member {string} name The run command parameter name. + */ + name: string; + /** + * @member {string} type The run command parameter type. + */ + type: string; + /** + * @member {string} [defaultValue] The run command parameter default value. + */ + defaultValue?: string; + /** + * @member {boolean} [required] The run command parameter required. Default + * value: false . + */ + required?: boolean; +} + +/** + * @interface + * An interface representing RunCommandDocumentBase. + * Describes the properties of a Run Command metadata. + * + */ +export interface RunCommandDocumentBase { + /** + * @member {string} schema The VM run command schema. + */ + schema: string; + /** + * @member {string} id The VM run command id. + */ + id: string; + /** + * @member {OperatingSystemTypes} osType The Operating System type. Possible + * values include: 'Windows', 'Linux' + */ + osType: OperatingSystemTypes; + /** + * @member {string} label The VM run command label. + */ + label: string; + /** + * @member {string} description The VM run command description. + */ + description: string; +} + +/** + * @interface + * An interface representing RunCommandDocument. + * Describes the properties of a Run Command. + * + * @extends RunCommandDocumentBase + */ +export interface RunCommandDocument extends RunCommandDocumentBase { + /** + * @member {string[]} script The script to be executed. + */ + script: string[]; + /** + * @member {RunCommandParameterDefinition[]} [parameters] The parameters used + * by the script. + */ + parameters?: RunCommandParameterDefinition[]; +} + +/** + * @interface + * An interface representing RunCommandResult. + */ +export interface RunCommandResult { + /** + * @member {InstanceViewStatus[]} [value] Run command operation response. + */ + value?: InstanceViewStatus[]; +} + +/** + * @interface + * An interface representing ResourceSkuCapacity. + * Describes scaling information of a SKU. + * + */ +export interface ResourceSkuCapacity { + /** + * @member {number} [minimum] The minimum capacity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly minimum?: number; + /** + * @member {number} [maximum] The maximum capacity that can be set. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly maximum?: number; + /** + * @member {number} [default] The default capacity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly default?: number; + /** + * @member {ResourceSkuCapacityScaleType} [scaleType] The scale type + * applicable to the sku. Possible values include: 'Automatic', 'Manual', + * 'None' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scaleType?: ResourceSkuCapacityScaleType; +} + +/** + * @interface + * An interface representing ResourceSkuCosts. + * Describes metadata for retrieving price info. + * + */ +export interface ResourceSkuCosts { + /** + * @member {string} [meterID] Used for querying price from commerce. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly meterID?: string; + /** + * @member {number} [quantity] The multiplier is needed to extend the base + * metered cost. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly quantity?: number; + /** + * @member {string} [extendedUnit] An invariant to show the extended unit. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly extendedUnit?: string; +} + +/** + * @interface + * An interface representing ResourceSkuCapabilities. + * Describes The SKU capabilites object. + * + */ +export interface ResourceSkuCapabilities { + /** + * @member {string} [name] An invariant to describe the feature. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly name?: string; + /** + * @member {string} [value] An invariant if the feature is measured by + * quantity. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly value?: string; +} + +/** + * @interface + * An interface representing ResourceSkuRestrictionInfo. + */ +export interface ResourceSkuRestrictionInfo { + /** + * @member {string[]} [locations] Locations where the SKU is restricted + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly locations?: string[]; + /** + * @member {string[]} [zones] List of availability zones where the SKU is + * restricted. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly zones?: string[]; +} + +/** + * @interface + * An interface representing ResourceSkuRestrictions. + * Describes scaling information of a SKU. + * + */ +export interface ResourceSkuRestrictions { + /** + * @member {ResourceSkuRestrictionsType} [type] The type of restrictions. + * Possible values include: 'Location', 'Zone' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly type?: ResourceSkuRestrictionsType; + /** + * @member {string[]} [values] The value of restrictions. If the restriction + * type is set to location. This would be different locations where the SKU + * is restricted. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly values?: string[]; + /** + * @member {ResourceSkuRestrictionInfo} [restrictionInfo] The information + * about the restriction where the SKU cannot be used. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly restrictionInfo?: ResourceSkuRestrictionInfo; + /** + * @member {ResourceSkuRestrictionsReasonCode} [reasonCode] The reason for + * restriction. Possible values include: 'QuotaId', + * 'NotAvailableForSubscription' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly reasonCode?: ResourceSkuRestrictionsReasonCode; +} + +/** + * @interface + * An interface representing ResourceSkuLocationInfo. + */ +export interface ResourceSkuLocationInfo { + /** + * @member {string} [location] Location of the SKU + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly location?: string; + /** + * @member {string[]} [zones] List of availability zones where the SKU is + * supported. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly zones?: string[]; +} + +/** + * @interface + * An interface representing ResourceSku. + * Describes an available Compute SKU. + * + */ +export interface ResourceSku { + /** + * @member {string} [resourceType] The type of resource the SKU applies to. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly resourceType?: string; + /** + * @member {string} [name] The name of SKU. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly name?: string; + /** + * @member {string} [tier] Specifies the tier of virtual machines in a scale + * set.

    Possible Values:

    **Standard**

    + * **Basic** + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly tier?: string; + /** + * @member {string} [size] The Size of the SKU. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly size?: string; + /** + * @member {string} [family] The Family of this particular SKU. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly family?: string; + /** + * @member {string} [kind] The Kind of resources that are supported in this + * SKU. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly kind?: string; + /** + * @member {ResourceSkuCapacity} [capacity] Specifies the number of virtual + * machines in the scale set. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly capacity?: ResourceSkuCapacity; + /** + * @member {string[]} [locations] The set of locations that the SKU is + * available. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly locations?: string[]; + /** + * @member {ResourceSkuLocationInfo[]} [locationInfo] A list of locations and + * availability zones in those locations where the SKU is available. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly locationInfo?: ResourceSkuLocationInfo[]; + /** + * @member {string[]} [apiVersions] The api versions that support this SKU. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly apiVersions?: string[]; + /** + * @member {ResourceSkuCosts[]} [costs] Metadata for retrieving price info. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly costs?: ResourceSkuCosts[]; + /** + * @member {ResourceSkuCapabilities[]} [capabilities] A name value pair to + * describe the capability. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly capabilities?: ResourceSkuCapabilities[]; + /** + * @member {ResourceSkuRestrictions[]} [restrictions] The restrictions + * because of which SKU cannot be used. This is empty if there are no + * restrictions. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly restrictions?: ResourceSkuRestrictions[]; +} + +/** + * @interface + * An interface representing DiskSku. + * The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or + * UltraSSD_LRS. + * + */ +export interface DiskSku { + /** + * @member {DiskStorageAccountTypes} [name] The sku name. Possible values + * include: 'Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', 'UltraSSD_LRS' + */ + name?: DiskStorageAccountTypes; + /** + * @member {string} [tier] The sku tier. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.**. Default value: 'Standard' . + */ + readonly tier?: string; +} + +/** + * @interface + * An interface representing ImageDiskReference. + * The source image used for creating the disk. + * + */ +export interface ImageDiskReference { + /** + * @member {string} id A relative uri containing either a Platform Image + * Repository or user image reference. + */ + id: string; + /** + * @member {number} [lun] If the disk is created from an image's data disk, + * this is an index that indicates which of the data disks in the image to + * use. For OS disks, this field is null. + */ + lun?: number; +} + +/** + * @interface + * An interface representing CreationData. + * Data used when creating a disk. + * + */ +export interface CreationData { + /** + * @member {DiskCreateOption} createOption This enumerates the possible + * sources of a disk's creation. Possible values include: 'Empty', 'Attach', + * 'FromImage', 'Import', 'Copy', 'Restore' + */ + createOption: DiskCreateOption; + /** + * @member {string} [storageAccountId] If createOption is Import, the Azure + * Resource Manager identifier of the storage account containing the blob to + * import as a disk. Required only if the blob is in a different subscription + */ + storageAccountId?: string; + /** + * @member {ImageDiskReference} [imageReference] Disk source information. + */ + imageReference?: ImageDiskReference; + /** + * @member {string} [sourceUri] If createOption is Import, this is the URI of + * a blob to be imported into a managed disk. + */ + sourceUri?: string; + /** + * @member {string} [sourceResourceId] If createOption is Copy, this is the + * ARM id of the source snapshot or disk. + */ + sourceResourceId?: string; +} + +/** + * @interface + * An interface representing SourceVault. + * The vault id is an Azure Resource Manager Resoure id in the form + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + * + */ +export interface SourceVault { + /** + * @member {string} [id] Resource Id + */ + id?: string; +} + +/** + * @interface + * An interface representing KeyVaultAndSecretReference. + * Key Vault Secret Url and vault id of the encryption key + * + */ +export interface KeyVaultAndSecretReference { + /** + * @member {SourceVault} sourceVault Resource id of the KeyVault containing + * the key or secret + */ + sourceVault: SourceVault; + /** + * @member {string} secretUrl Url pointing to a key or secret in KeyVault + */ + secretUrl: string; +} + +/** + * @interface + * An interface representing KeyVaultAndKeyReference. + * Key Vault Key Url and vault id of KeK, KeK is optional and when provided is + * used to unwrap the encryptionKey + * + */ +export interface KeyVaultAndKeyReference { + /** + * @member {SourceVault} sourceVault Resource id of the KeyVault containing + * the key or secret + */ + sourceVault: SourceVault; + /** + * @member {string} keyUrl Url pointing to a key or secret in KeyVault + */ + keyUrl: string; +} + +/** + * @interface + * An interface representing EncryptionSettings. + * Encryption settings for disk or snapshot + * + */ +export interface EncryptionSettings { + /** + * @member {boolean} [enabled] Set this flag to true and provide + * DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + * this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to + * disable encryption. If EncryptionSettings is null in the request object, + * the existing settings remain unchanged. + */ + enabled?: boolean; + /** + * @member {KeyVaultAndSecretReference} [diskEncryptionKey] Key Vault Secret + * Url and vault id of the disk encryption key + */ + diskEncryptionKey?: KeyVaultAndSecretReference; + /** + * @member {KeyVaultAndKeyReference} [keyEncryptionKey] Key Vault Key Url and + * vault id of the key encryption key + */ + keyEncryptionKey?: KeyVaultAndKeyReference; +} + +/** + * @interface + * An interface representing Disk. + * Disk resource. + * + * @extends Resource + */ +export interface Disk extends Resource { + /** + * @member {string} [managedBy] A relative URI containing the ID of the VM + * that has the disk attached. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly managedBy?: string; + /** + * @member {DiskSku} [sku] + */ + sku?: DiskSku; + /** + * @member {string[]} [zones] The Logical zone list for Disk. + */ + zones?: string[]; + /** + * @member {Date} [timeCreated] The time when the disk was created. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly timeCreated?: Date; + /** + * @member {OperatingSystemTypes} [osType] The Operating System type. + * Possible values include: 'Windows', 'Linux' + */ + osType?: OperatingSystemTypes; + /** + * @member {CreationData} creationData Disk source information. CreationData + * information cannot be changed after the disk has been created. + */ + creationData: CreationData; + /** + * @member {number} [diskSizeGB] If creationData.createOption is Empty, this + * field is mandatory and it indicates the size of the VHD to create. If this + * field is present for updates or creation with other options, it indicates + * a resize. Resizes are only allowed if the disk is not attached to a + * running VM, and can only increase the disk's size. + */ + diskSizeGB?: number; + /** + * @member {EncryptionSettings} [encryptionSettings] Encryption settings for + * disk or snapshot + */ + encryptionSettings?: EncryptionSettings; + /** + * @member {string} [provisioningState] The disk provisioning state. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; + /** + * @member {number} [diskIOPSReadWrite] The number of IOPS allowed for this + * disk; only settable for UltraSSD disks. One operation can transfer between + * 4k and 256k bytes. + */ + diskIOPSReadWrite?: number; + /** + * @member {number} [diskMBpsReadWrite] The bandwidth allowed for this disk; + * only settable for UltraSSD disks. MBps means millions of bytes per second + * - MB here uses the ISO notation, of powers of 10. + */ + diskMBpsReadWrite?: number; +} + +/** + * @interface + * An interface representing DiskUpdate. + * Disk update resource. + * + */ +export interface DiskUpdate { + /** + * @member {OperatingSystemTypes} [osType] the Operating System type. + * Possible values include: 'Windows', 'Linux' + */ + osType?: OperatingSystemTypes; + /** + * @member {number} [diskSizeGB] If creationData.createOption is Empty, this + * field is mandatory and it indicates the size of the VHD to create. If this + * field is present for updates or creation with other options, it indicates + * a resize. Resizes are only allowed if the disk is not attached to a + * running VM, and can only increase the disk's size. + */ + diskSizeGB?: number; + /** + * @member {EncryptionSettings} [encryptionSettings] Encryption settings for + * disk or snapshot + */ + encryptionSettings?: EncryptionSettings; + /** + * @member {number} [diskIOPSReadWrite] The number of IOPS allowed for this + * disk; only settable for UltraSSD disks. One operation can transfer between + * 4k and 256k bytes. + */ + diskIOPSReadWrite?: number; + /** + * @member {number} [diskMBpsReadWrite] The bandwidth allowed for this disk; + * only settable for UltraSSD disks. MBps means millions of bytes per second + * - MB here uses the ISO notation, of powers of 10. + */ + diskMBpsReadWrite?: number; + /** + * @member {{ [propertyName: string]: string }} [tags] Resource tags + */ + tags?: { [propertyName: string]: string }; + /** + * @member {DiskSku} [sku] + */ + sku?: DiskSku; +} + +/** + * @interface + * An interface representing SnapshotSku. + * The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. + * + */ +export interface SnapshotSku { + /** + * @member {SnapshotStorageAccountTypes} [name] The sku name. Possible values + * include: 'Standard_LRS', 'Premium_LRS', 'Standard_ZRS' + */ + name?: SnapshotStorageAccountTypes; + /** + * @member {string} [tier] The sku tier. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.**. Default value: 'Standard' . + */ + readonly tier?: string; +} + +/** + * @interface + * An interface representing GrantAccessData. + * Data used for requesting a SAS. + * + */ +export interface GrantAccessData { + /** + * @member {AccessLevel} access Possible values include: 'None', 'Read' + */ + access: AccessLevel; + /** + * @member {number} durationInSeconds Time duration in seconds until the SAS + * access expires. + */ + durationInSeconds: number; +} + +/** + * @interface + * An interface representing AccessUri. + * A disk access SAS uri. + * + */ +export interface AccessUri { + /** + * @member {string} [accessSAS] A SAS uri for accessing a disk. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly accessSAS?: string; +} + +/** + * @interface + * An interface representing Snapshot. + * Snapshot resource. + * + * @extends Resource + */ +export interface Snapshot extends Resource { + /** + * @member {string} [managedBy] Unused. Always Null. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly managedBy?: string; + /** + * @member {SnapshotSku} [sku] + */ + sku?: SnapshotSku; + /** + * @member {Date} [timeCreated] The time when the disk was created. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly timeCreated?: Date; + /** + * @member {OperatingSystemTypes} [osType] The Operating System type. + * Possible values include: 'Windows', 'Linux' + */ + osType?: OperatingSystemTypes; + /** + * @member {CreationData} creationData Disk source information. CreationData + * information cannot be changed after the disk has been created. + */ + creationData: CreationData; + /** + * @member {number} [diskSizeGB] If creationData.createOption is Empty, this + * field is mandatory and it indicates the size of the VHD to create. If this + * field is present for updates or creation with other options, it indicates + * a resize. Resizes are only allowed if the disk is not attached to a + * running VM, and can only increase the disk's size. + */ + diskSizeGB?: number; + /** + * @member {EncryptionSettings} [encryptionSettings] Encryption settings for + * disk or snapshot + */ + encryptionSettings?: EncryptionSettings; + /** + * @member {string} [provisioningState] The disk provisioning state. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; +} + +/** + * @interface + * An interface representing SnapshotUpdate. + * Snapshot update resource. + * + */ +export interface SnapshotUpdate { + /** + * @member {OperatingSystemTypes} [osType] the Operating System type. + * Possible values include: 'Windows', 'Linux' + */ + osType?: OperatingSystemTypes; + /** + * @member {number} [diskSizeGB] If creationData.createOption is Empty, this + * field is mandatory and it indicates the size of the VHD to create. If this + * field is present for updates or creation with other options, it indicates + * a resize. Resizes are only allowed if the disk is not attached to a + * running VM, and can only increase the disk's size. + */ + diskSizeGB?: number; + /** + * @member {EncryptionSettings} [encryptionSettings] Encryption settings for + * disk or snapshot + */ + encryptionSettings?: EncryptionSettings; + /** + * @member {{ [propertyName: string]: string }} [tags] Resource tags + */ + tags?: { [propertyName: string]: string }; + /** + * @member {SnapshotSku} [sku] + */ + sku?: SnapshotSku; +} + +/** + * @interface + * An interface representing GalleryIdentifier. + * Describes the gallery unique name. + * + */ +export interface GalleryIdentifier { + /** + * @member {string} [uniqueName] The unique name of the Shared Image Gallery. + * This name is generated automatically by Azure. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly uniqueName?: string; +} + +/** + * @interface + * An interface representing Gallery. + * Specifies information about the Shared Image Gallery that you want to create + * or update. + * + * @extends Resource + */ +export interface Gallery extends Resource { + /** + * @member {string} [description] The description of this Shared Image + * Gallery resource. This property is updateable. + */ + description?: string; + /** + * @member {GalleryIdentifier} [identifier] + */ + identifier?: GalleryIdentifier; + /** + * @member {ProvisioningState} [provisioningState] The current state of the + * gallery. The provisioning state, which only appears in the response. + * Possible values include: 'Creating', 'Updating', 'Failed', 'Succeeded', + * 'Deleting', 'Migrating' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: ProvisioningState; +} + +/** + * @interface + * An interface representing GalleryImageIdentifier. + * This is the gallery Image Definition identifier. + * + */ +export interface GalleryImageIdentifier { + /** + * @member {string} publisher The name of the gallery Image Definition + * publisher. + */ + publisher: string; + /** + * @member {string} offer The name of the gallery Image Definition offer. + */ + offer: string; + /** + * @member {string} sku The name of the gallery Image Definition SKU. + */ + sku: string; +} + +/** + * @interface + * An interface representing ResourceRange. + * Describes the resource range. + * + */ +export interface ResourceRange { + /** + * @member {number} [min] The minimum number of the resource. + */ + min?: number; + /** + * @member {number} [max] The maximum number of the resource. + */ + max?: number; +} + +/** + * @interface + * An interface representing RecommendedMachineConfiguration. + * The properties describe the recommended machine configuration for this Image + * Definition. These properties are updateable. + * + */ +export interface RecommendedMachineConfiguration { + /** + * @member {ResourceRange} [vCPUs] + */ + vCPUs?: ResourceRange; + /** + * @member {ResourceRange} [memory] + */ + memory?: ResourceRange; +} + +/** + * @interface + * An interface representing Disallowed. + * Describes the disallowed disk types. + * + */ +export interface Disallowed { + /** + * @member {string[]} [diskTypes] A list of disk types. + */ + diskTypes?: string[]; +} + +/** + * @interface + * An interface representing ImagePurchasePlan. + * Describes the gallery Image Definition purchase plan. This is used by + * marketplace images. + * + */ +export interface ImagePurchasePlan { + /** + * @member {string} [name] The plan ID. + */ + name?: string; + /** + * @member {string} [publisher] The publisher ID. + */ + publisher?: string; + /** + * @member {string} [product] The product ID. + */ + product?: string; +} + +/** + * @interface + * An interface representing GalleryImage. + * Specifies information about the gallery Image Definition that you want to + * create or update. + * + * @extends Resource + */ +export interface GalleryImage extends Resource { + /** + * @member {string} [description] The description of this gallery Image + * Definition resource. This property is updateable. + */ + description?: string; + /** + * @member {string} [eula] The Eula agreement for the gallery Image + * Definition. + */ + eula?: string; + /** + * @member {string} [privacyStatementUri] The privacy statement uri. + */ + privacyStatementUri?: string; + /** + * @member {string} [releaseNoteUri] The release note uri. + */ + releaseNoteUri?: string; + /** + * @member {OperatingSystemTypes} osType This property allows you to specify + * the type of the OS that is included in the disk when creating a VM from a + * managed image.

    Possible values are:

    **Windows**

    + * **Linux**. Possible values include: 'Windows', 'Linux' + */ + osType: OperatingSystemTypes; + /** + * @member {OperatingSystemStateTypes} osState The allowed values for OS + * State are 'Generalized'. Possible values include: 'Generalized', + * 'Specialized' + */ + osState: OperatingSystemStateTypes; + /** + * @member {Date} [endOfLifeDate] The end of life date of the gallery Image + * Definition. This property can be used for decommissioning purposes. This + * property is updateable. + */ + endOfLifeDate?: Date; + /** + * @member {GalleryImageIdentifier} identifier + */ + identifier: GalleryImageIdentifier; + /** + * @member {RecommendedMachineConfiguration} [recommended] + */ + recommended?: RecommendedMachineConfiguration; + /** + * @member {Disallowed} [disallowed] + */ + disallowed?: Disallowed; + /** + * @member {ImagePurchasePlan} [purchasePlan] + */ + purchasePlan?: ImagePurchasePlan; + /** + * @member {ProvisioningState1} [provisioningState] The current state of the + * gallery Image Definition. The provisioning state, which only appears in + * the response. Possible values include: 'Creating', 'Updating', 'Failed', + * 'Succeeded', 'Deleting', 'Migrating' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: ProvisioningState1; +} + +/** + * @interface + * An interface representing GalleryArtifactPublishingProfileBase. + * Describes the basic gallery artifact publishing profile. + * + */ +export interface GalleryArtifactPublishingProfileBase { + /** + * @member {TargetRegion[]} [targetRegions] The target regions where the + * Image Version is going to be replicated to. This property is updateable. + */ + targetRegions?: TargetRegion[]; + /** + * @member {GalleryArtifactSource} source + */ + source: GalleryArtifactSource; +} + +/** + * @interface + * An interface representing GalleryImageVersionPublishingProfile. + * The publishing profile of a gallery Image Version. + * + * @extends GalleryArtifactPublishingProfileBase + */ +export interface GalleryImageVersionPublishingProfile extends GalleryArtifactPublishingProfileBase { + /** + * @member {number} [replicaCount] The number of replicas of the Image + * Version to be created per region. This property would take effect for a + * region when regionalReplicaCount is not specified. This property is + * updateable. + */ + replicaCount?: number; + /** + * @member {boolean} [excludeFromLatest] If set to true, Virtual Machines + * deployed from the latest version of the Image Definition won't use this + * Image Version. + */ + excludeFromLatest?: boolean; + /** + * @member {Date} [publishedDate] The timestamp for when the gallery Image + * Version is published. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly publishedDate?: Date; + /** + * @member {Date} [endOfLifeDate] The end of life date of the gallery Image + * Version. This property can be used for decommissioning purposes. This + * property is updateable. + */ + endOfLifeDate?: Date; +} + +/** + * @interface + * An interface representing GalleryDiskImage. + * This is the disk image base class. + * + */ +export interface GalleryDiskImage { + /** + * @member {number} [sizeInGB] This property indicates the size of the VHD to + * be created. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly sizeInGB?: number; + /** + * @member {HostCaching} [hostCaching] The host caching of the disk. Valid + * values are 'None', 'ReadOnly', and 'ReadWrite'. Possible values include: + * 'None', 'ReadOnly', 'ReadWrite' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly hostCaching?: HostCaching; +} + +/** + * @interface + * An interface representing GalleryOSDiskImage. + * This is the OS disk image. + * + * @extends GalleryDiskImage + */ +export interface GalleryOSDiskImage extends GalleryDiskImage { +} + +/** + * @interface + * An interface representing GalleryDataDiskImage. + * This is the data disk image. + * + * @extends GalleryDiskImage + */ +export interface GalleryDataDiskImage extends GalleryDiskImage { + /** + * @member {number} [lun] This property specifies the logical unit number of + * the data disk. This value is used to identify data disks within the + * Virtual Machine and therefore must be unique for each data disk attached + * to the Virtual Machine. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly lun?: number; +} + +/** + * @interface + * An interface representing GalleryImageVersionStorageProfile. + * This is the storage profile of a gallery Image Version. + * + */ +export interface GalleryImageVersionStorageProfile { + /** + * @member {GalleryOSDiskImage} [osDiskImage] **NOTE: This property will not + * be serialized. It can only be populated by the server.** + */ + readonly osDiskImage?: GalleryOSDiskImage; + /** + * @member {GalleryDataDiskImage[]} [dataDiskImages] A list of data disk + * images. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly dataDiskImages?: GalleryDataDiskImage[]; +} + +/** + * @interface + * An interface representing RegionalReplicationStatus. + * This is the regional replication status. + * + */ +export interface RegionalReplicationStatus { + /** + * @member {string} [region] The region to which the gallery Image Version is + * being replicated to. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly region?: string; + /** + * @member {ReplicationState} [state] This is the regional replication state. + * Possible values include: 'Unknown', 'Replicating', 'Completed', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly state?: ReplicationState; + /** + * @member {string} [details] The details of the replication status. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly details?: string; + /** + * @member {number} [progress] It indicates progress of the replication job. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly progress?: number; +} + +/** + * @interface + * An interface representing ReplicationStatus. + * This is the replication status of the gallery Image Version. + * + */ +export interface ReplicationStatus { + /** + * @member {AggregatedReplicationState} [aggregatedState] This is the + * aggregated replication status based on all the regional replication status + * flags. Possible values include: 'Unknown', 'InProgress', 'Completed', + * 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly aggregatedState?: AggregatedReplicationState; + /** + * @member {RegionalReplicationStatus[]} [summary] This is a summary of + * replication status for each region. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly summary?: RegionalReplicationStatus[]; +} + +/** + * @interface + * An interface representing GalleryImageVersion. + * Specifies information about the gallery Image Version that you want to + * create or update. + * + * @extends Resource + */ +export interface GalleryImageVersion extends Resource { + /** + * @member {GalleryImageVersionPublishingProfile} publishingProfile + */ + publishingProfile: GalleryImageVersionPublishingProfile; + /** + * @member {ProvisioningState2} [provisioningState] The current state of the + * gallery Image Version. The provisioning state, which only appears in the + * response. Possible values include: 'Creating', 'Updating', 'Failed', + * 'Succeeded', 'Deleting', 'Migrating' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: ProvisioningState2; + /** + * @member {GalleryImageVersionStorageProfile} [storageProfile] **NOTE: This + * property will not be serialized. It can only be populated by the server.** + */ + readonly storageProfile?: GalleryImageVersionStorageProfile; + /** + * @member {ReplicationStatus} [replicationStatus] **NOTE: This property will + * not be serialized. It can only be populated by the server.** + */ + readonly replicationStatus?: ReplicationStatus; +} + +/** + * @interface + * An interface representing TargetRegion. + * Describes the target region information. + * + */ +export interface TargetRegion { + /** + * @member {string} name The name of the region. + */ + name: string; + /** + * @member {number} [regionalReplicaCount] The number of replicas of the + * Image Version to be created per region. This property is updateable. + */ + regionalReplicaCount?: number; +} + +/** + * @interface + * An interface representing ManagedArtifact. + * The managed artifact. + * + */ +export interface ManagedArtifact { + /** + * @member {string} id The managed artifact id. + */ + id: string; +} + +/** + * @interface + * An interface representing GalleryArtifactSource. + * The source image from which the Image Version is going to be created. + * + */ +export interface GalleryArtifactSource { + /** + * @member {ManagedArtifact} managedImage + */ + managedImage: ManagedArtifact; +} + +/** + * @interface + * An interface representing ContainerServiceCustomProfile. + * Properties to configure a custom container service cluster. + * + */ +export interface ContainerServiceCustomProfile { + /** + * @member {string} orchestrator The name of the custom orchestrator to use. + */ + orchestrator: string; +} + +/** + * @interface + * An interface representing ContainerServiceServicePrincipalProfile. + * Information about a service principal identity for the cluster to use for + * manipulating Azure APIs. + * + */ +export interface ContainerServiceServicePrincipalProfile { + /** + * @member {string} clientId The ID for the service principal. + */ + clientId: string; + /** + * @member {string} secret The secret password associated with the service + * principal. + */ + secret: string; +} + +/** + * @interface + * An interface representing ContainerServiceOrchestratorProfile. + * Profile for the container service orchestrator. + * + */ +export interface ContainerServiceOrchestratorProfile { + /** + * @member {ContainerServiceOrchestratorTypes} orchestratorType The + * orchestrator to use to manage container service cluster resources. Valid + * values are Swarm, DCOS, and Custom. Possible values include: 'Swarm', + * 'DCOS', 'Custom', 'Kubernetes' + */ + orchestratorType: ContainerServiceOrchestratorTypes; +} + +/** + * @interface + * An interface representing ContainerServiceMasterProfile. + * Profile for the container service master. + * + */ +export interface ContainerServiceMasterProfile { + /** + * @member {number} [count] Number of masters (VMs) in the container service + * cluster. Allowed values are 1, 3, and 5. The default value is 1. Default + * value: 1 . + */ + count?: number; + /** + * @member {string} dnsPrefix DNS prefix to be used to create the FQDN for + * master. + */ + dnsPrefix: string; + /** + * @member {string} [fqdn] FDQN for the master. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly fqdn?: string; +} + +/** + * @interface + * An interface representing ContainerServiceAgentPoolProfile. + * Profile for the container service agent pool. + * + */ +export interface ContainerServiceAgentPoolProfile { + /** + * @member {string} name Unique name of the agent pool profile in the context + * of the subscription and resource group. + */ + name: string; + /** + * @member {number} count Number of agents (VMs) to host docker containers. + * Allowed values must be in the range of 1 to 100 (inclusive). The default + * value is 1. . Default value: 1 . + */ + count: number; + /** + * @member {ContainerServiceVMSizeTypes} vmSize Size of agent VMs. Possible + * values include: 'Standard_A0', 'Standard_A1', 'Standard_A2', + * 'Standard_A3', 'Standard_A4', 'Standard_A5', 'Standard_A6', 'Standard_A7', + * 'Standard_A8', 'Standard_A9', 'Standard_A10', 'Standard_A11', + * 'Standard_D1', 'Standard_D2', 'Standard_D3', 'Standard_D4', + * 'Standard_D11', 'Standard_D12', 'Standard_D13', 'Standard_D14', + * 'Standard_D1_v2', 'Standard_D2_v2', 'Standard_D3_v2', 'Standard_D4_v2', + * 'Standard_D5_v2', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_D13_v2', + * 'Standard_D14_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', + * 'Standard_G4', 'Standard_G5', 'Standard_DS1', 'Standard_DS2', + * 'Standard_DS3', 'Standard_DS4', 'Standard_DS11', 'Standard_DS12', + * 'Standard_DS13', 'Standard_DS14', 'Standard_GS1', 'Standard_GS2', + * 'Standard_GS3', 'Standard_GS4', 'Standard_GS5' + */ + vmSize: ContainerServiceVMSizeTypes; + /** + * @member {string} dnsPrefix DNS prefix to be used to create the FQDN for + * the agent pool. + */ + dnsPrefix: string; + /** + * @member {string} [fqdn] FDQN for the agent pool. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly fqdn?: string; +} + +/** + * @interface + * An interface representing ContainerServiceWindowsProfile. + * Profile for Windows VMs in the container service cluster. + * + */ +export interface ContainerServiceWindowsProfile { + /** + * @member {string} adminUsername The administrator username to use for + * Windows VMs. + */ + adminUsername: string; + /** + * @member {string} adminPassword The administrator password to use for + * Windows VMs. + */ + adminPassword: string; +} + +/** + * @interface + * An interface representing ContainerServiceSshPublicKey. + * Contains information about SSH certificate public key data. + * + */ +export interface ContainerServiceSshPublicKey { + /** + * @member {string} keyData Certificate public key used to authenticate with + * VMs through SSH. The certificate must be in PEM format with or without + * headers. + */ + keyData: string; +} + +/** + * @interface + * An interface representing ContainerServiceSshConfiguration. + * SSH configuration for Linux-based VMs running on Azure. + * + */ +export interface ContainerServiceSshConfiguration { + /** + * @member {ContainerServiceSshPublicKey[]} publicKeys the list of SSH public + * keys used to authenticate with Linux-based VMs. + */ + publicKeys: ContainerServiceSshPublicKey[]; +} + +/** + * @interface + * An interface representing ContainerServiceLinuxProfile. + * Profile for Linux VMs in the container service cluster. + * + */ +export interface ContainerServiceLinuxProfile { + /** + * @member {string} adminUsername The administrator username to use for Linux + * VMs. + */ + adminUsername: string; + /** + * @member {ContainerServiceSshConfiguration} ssh The ssh key configuration + * for Linux VMs. + */ + ssh: ContainerServiceSshConfiguration; +} + +/** + * @interface + * An interface representing ContainerServiceVMDiagnostics. + * Profile for diagnostics on the container service VMs. + * + */ +export interface ContainerServiceVMDiagnostics { + /** + * @member {boolean} enabled Whether the VM diagnostic agent is provisioned + * on the VM. + */ + enabled: boolean; + /** + * @member {string} [storageUri] The URI of the storage account where + * diagnostics are stored. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly storageUri?: string; +} + +/** + * @interface + * An interface representing ContainerServiceDiagnosticsProfile. + */ +export interface ContainerServiceDiagnosticsProfile { + /** + * @member {ContainerServiceVMDiagnostics} vmDiagnostics Profile for the + * container service VM diagnostic agent. + */ + vmDiagnostics: ContainerServiceVMDiagnostics; +} + +/** + * @interface + * An interface representing ContainerService. + * Container service. + * + * @extends Resource + */ +export interface ContainerService extends Resource { + /** + * @member {string} [provisioningState] the current deployment or + * provisioning state, which only appears in the response. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; + /** + * @member {ContainerServiceOrchestratorProfile} [orchestratorProfile] + * Properties of the orchestrator. + */ + orchestratorProfile?: ContainerServiceOrchestratorProfile; + /** + * @member {ContainerServiceCustomProfile} [customProfile] Properties for + * custom clusters. + */ + customProfile?: ContainerServiceCustomProfile; + /** + * @member {ContainerServiceServicePrincipalProfile} + * [servicePrincipalProfile] Properties for cluster service principals. + */ + servicePrincipalProfile?: ContainerServiceServicePrincipalProfile; + /** + * @member {ContainerServiceMasterProfile} masterProfile Properties of master + * agents. + */ + masterProfile: ContainerServiceMasterProfile; + /** + * @member {ContainerServiceAgentPoolProfile[]} agentPoolProfiles Properties + * of the agent pool. + */ + agentPoolProfiles: ContainerServiceAgentPoolProfile[]; + /** + * @member {ContainerServiceWindowsProfile} [windowsProfile] Properties of + * Windows VMs. + */ + windowsProfile?: ContainerServiceWindowsProfile; + /** + * @member {ContainerServiceLinuxProfile} linuxProfile Properties of Linux + * VMs. + */ + linuxProfile: ContainerServiceLinuxProfile; + /** + * @member {ContainerServiceDiagnosticsProfile} [diagnosticsProfile] + * Properties of the diagnostic agent. + */ + diagnosticsProfile?: ContainerServiceDiagnosticsProfile; +} + +/** + * @interface + * An interface representing VirtualMachineExtensionImagesListVersionsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineExtensionImagesListVersionsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [filter] The filter to apply on the operation. + */ + filter?: string; + /** + * @member {number} [top] + */ + top?: number; + /** + * @member {string} [orderby] + */ + orderby?: string; +} + +/** + * @interface + * An interface representing VirtualMachineExtensionsGetOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineExtensionsGetOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [expand] The expand expression to apply on the operation. + */ + expand?: string; +} + +/** + * @interface + * An interface representing VirtualMachineExtensionsListOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineExtensionsListOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [expand] The expand expression to apply on the operation. + */ + expand?: string; +} + +/** + * @interface + * An interface representing VirtualMachineImagesListOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineImagesListOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [filter] The filter to apply on the operation. + */ + filter?: string; + /** + * @member {number} [top] + */ + top?: number; + /** + * @member {string} [orderby] + */ + orderby?: string; +} + +/** + * @interface + * An interface representing VirtualMachinesGetOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachinesGetOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {InstanceViewTypes} [expand] The expand expression to apply on the + * operation. Possible values include: 'instanceView' + */ + expand?: InstanceViewTypes; +} + +/** + * @interface + * An interface representing ImagesGetOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface ImagesGetOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [expand] The expand expression to apply on the operation. + */ + expand?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsDeallocateOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsDeallocateOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsPowerOffOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsPowerOffOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsRestartOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsRestartOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsStartOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsStartOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsRedeployOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsRedeployOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsPerformMaintenanceOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsPerformMaintenanceOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsReimageOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsReimageOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsReimageAllOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsReimageAllOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsBeginDeallocateOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsBeginDeallocateOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsBeginPowerOffOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsBeginPowerOffOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsBeginRestartOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsBeginRestartOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsBeginStartOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsBeginStartOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsBeginRedeployOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsBeginRedeployOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsBeginPerformMaintenanceOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsBeginPerformMaintenanceOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsBeginReimageOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsBeginReimageOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetsBeginReimageAllOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetsBeginReimageAllOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {VirtualMachineScaleSetVMInstanceIDs} [vmInstanceIDs] A list of + * virtual machine instance IDs from the VM scale set. + */ + vmInstanceIDs?: VirtualMachineScaleSetVMInstanceIDs; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetExtensionsGetOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetExtensionsGetOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [expand] The expand expression to apply on the operation. + */ + expand?: string; +} + +/** + * @interface + * An interface representing VirtualMachineScaleSetVMsListOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface VirtualMachineScaleSetVMsListOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [filter] The filter to apply to the operation. + */ + filter?: string; + /** + * @member {string} [select] The list parameters. + */ + select?: string; + /** + * @member {string} [expand] The expand expression to apply to the operation. + */ + expand?: string; +} + +/** + * @interface + * An interface representing GalleryImageVersionsGetOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface GalleryImageVersionsGetOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {ReplicationStatusTypes} [expand] The expand expression to apply + * on the operation. Possible values include: 'ReplicationStatus' + */ + expand?: ReplicationStatusTypes; +} + +/** + * @interface + * An interface representing ComputeManagementClientOptions. + * @extends AzureServiceClientOptions + */ +export interface ComputeManagementClientOptions extends AzureServiceClientOptions { + /** + * @member {string} [baseUri] + */ + baseUri?: string; +} + + +/** + * @interface + * An interface representing the ComputeOperationListResult. + * The List Compute Operation operation response. + * + * @extends Array + */ +export interface ComputeOperationListResult extends Array { +} + +/** + * @interface + * An interface representing the AvailabilitySetListResult. + * The List Availability Set operation response. + * + * @extends Array + */ +export interface AvailabilitySetListResult extends Array { + /** + * @member {string} [nextLink] The URI to fetch the next page of + * AvailabilitySets. Call ListNext() with this URI to fetch the next page of + * AvailabilitySets. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the VirtualMachineSizeListResult. + * The List Virtual Machine operation response. + * + * @extends Array + */ +export interface VirtualMachineSizeListResult extends Array { +} + +/** + * @interface + * An interface representing the ListUsagesResult. + * The List Usages operation response. + * + * @extends Array + */ +export interface ListUsagesResult extends Array { + /** + * @member {string} [nextLink] The URI to fetch the next page of compute + * resource usage information. Call ListNext() with this to fetch the next + * page of compute resource usage information. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the VirtualMachineListResult. + * The List Virtual Machine operation response. + * + * @extends Array + */ +export interface VirtualMachineListResult extends Array { + /** + * @member {string} [nextLink] The URI to fetch the next page of VMs. Call + * ListNext() with this URI to fetch the next page of Virtual Machines. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the InGuestSoftwareItemsListResult. + * The List of Software items operation response. + * + * @extends Array + */ +export interface InGuestSoftwareItemsListResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of InGuest + * software items on the VM. Call ListNext() with this to fetch the next page + * of items. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the ImageListResult. + * The List Image operation response. + * + * @extends Array + */ +export interface ImageListResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of Images. Call + * ListNext() with this to fetch the next page of Images. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the VirtualMachineScaleSetListResult. + * The List Virtual Machine operation response. + * + * @extends Array + */ +export interface VirtualMachineScaleSetListResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of Virtual + * Machine Scale Sets. Call ListNext() with this to fetch the next page of + * VMSS. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the VirtualMachineScaleSetListWithLinkResult. + * The List Virtual Machine operation response. + * + * @extends Array + */ +export interface VirtualMachineScaleSetListWithLinkResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of Virtual + * Machine Scale Sets. Call ListNext() with this to fetch the next page of + * Virtual Machine Scale Sets. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the VirtualMachineScaleSetListSkusResult. + * The Virtual Machine Scale Set List Skus operation response. + * + * @extends Array + */ +export interface VirtualMachineScaleSetListSkusResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of Virtual + * Machine Scale Set Skus. Call ListNext() with this to fetch the next page + * of VMSS Skus. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the VirtualMachineScaleSetListOSUpgradeHistory. + * List of Virtual Machine Scale Set OS Upgrade History operation response. + * + * @extends Array + */ +export interface VirtualMachineScaleSetListOSUpgradeHistory extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of OS Upgrade + * History. Call ListNext() with this to fetch the next page of history of + * upgrades. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the VirtualMachineScaleSetExtensionListResult. + * The List VM scale set extension operation response. + * + * @extends Array + */ +export interface VirtualMachineScaleSetExtensionListResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of VM scale set + * extensions. Call ListNext() with this to fetch the next page of VM scale + * set extensions. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the VirtualMachineScaleSetVMListResult. + * The List Virtual Machine Scale Set VMs operation response. + * + * @extends Array + */ +export interface VirtualMachineScaleSetVMListResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of Virtual + * Machine Scale Set VMs. Call ListNext() with this to fetch the next page of + * VMSS VMs + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the RunCommandListResult. + * The List Virtual Machine operation response. + * + * @extends Array + */ +export interface RunCommandListResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of run + * commands. Call ListNext() with this to fetch the next page of run + * commands. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the ResourceSkusResult. + * The Compute List Skus operation response. + * + * @extends Array + */ +export interface ResourceSkusResult extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of Compute + * Skus. Call ListNext() with this to fetch the next page of VMSS Skus. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the DiskList. + * The List Disks operation response. + * + * @extends Array + */ +export interface DiskList extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of disks. Call + * ListNext() with this to fetch the next page of disks. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the SnapshotList. + * The List Snapshots operation response. + * + * @extends Array + */ +export interface SnapshotList extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of snapshots. + * Call ListNext() with this to fetch the next page of snapshots. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the GalleryList. + * The List Galleries operation response. + * + * @extends Array + */ +export interface GalleryList extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of galleries. + * Call ListNext() with this to fetch the next page of galleries. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the GalleryImageList. + * The List Gallery Images operation response. + * + * @extends Array + */ +export interface GalleryImageList extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of Image + * Definitions in the Shared Image Gallery. Call ListNext() with this to + * fetch the next page of gallery Image Definitions. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the GalleryImageVersionList. + * The List Gallery Image version operation response. + * + * @extends Array + */ +export interface GalleryImageVersionList extends Array { + /** + * @member {string} [nextLink] The uri to fetch the next page of gallery + * Image Versions. Call ListNext() with this to fetch the next page of + * gallery Image Versions. + */ + nextLink?: string; +} + +/** + * @interface + * An interface representing the ContainerServiceListResult. + * The response from the List Container Services operation. + * + * @extends Array + */ +export interface ContainerServiceListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of container + * service results. + */ + nextLink?: string; +} + +/** + * Defines values for StatusLevelTypes. + * Possible values include: 'Info', 'Warning', 'Error' + * @readonly + * @enum {string} + */ +export enum StatusLevelTypes { + Info = 'Info', + Warning = 'Warning', + Error = 'Error', +} + +/** + * Defines values for AvailabilitySetSkuTypes. + * Possible values include: 'Classic', 'Aligned' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: AvailabilitySetSkuTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum AvailabilitySetSkuTypes { + Classic = 'Classic', + Aligned = 'Aligned', +} + +/** + * Defines values for OperatingSystemTypes. + * Possible values include: 'Windows', 'Linux' + * @readonly + * @enum {string} + */ +export enum OperatingSystemTypes { + Windows = 'Windows', + Linux = 'Linux', +} + +/** + * Defines values for VirtualMachineSizeTypes. + * Possible values include: 'Basic_A0', 'Basic_A1', 'Basic_A2', 'Basic_A3', + * 'Basic_A4', 'Standard_A0', 'Standard_A1', 'Standard_A2', 'Standard_A3', + * 'Standard_A4', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', + * 'Standard_A9', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + * 'Standard_A2_v2', 'Standard_A4_v2', 'Standard_A8_v2', 'Standard_A2m_v2', + * 'Standard_A4m_v2', 'Standard_A8m_v2', 'Standard_B1s', 'Standard_B1ms', + * 'Standard_B2s', 'Standard_B2ms', 'Standard_B4ms', 'Standard_B8ms', + * 'Standard_D1', 'Standard_D2', 'Standard_D3', 'Standard_D4', 'Standard_D11', + * 'Standard_D12', 'Standard_D13', 'Standard_D14', 'Standard_D1_v2', + * 'Standard_D2_v2', 'Standard_D3_v2', 'Standard_D4_v2', 'Standard_D5_v2', + * 'Standard_D2_v3', 'Standard_D4_v3', 'Standard_D8_v3', 'Standard_D16_v3', + * 'Standard_D32_v3', 'Standard_D64_v3', 'Standard_D2s_v3', 'Standard_D4s_v3', + * 'Standard_D8s_v3', 'Standard_D16s_v3', 'Standard_D32s_v3', + * 'Standard_D64s_v3', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_D13_v2', + * 'Standard_D14_v2', 'Standard_D15_v2', 'Standard_DS1', 'Standard_DS2', + * 'Standard_DS3', 'Standard_DS4', 'Standard_DS11', 'Standard_DS12', + * 'Standard_DS13', 'Standard_DS14', 'Standard_DS1_v2', 'Standard_DS2_v2', + * 'Standard_DS3_v2', 'Standard_DS4_v2', 'Standard_DS5_v2', 'Standard_DS11_v2', + * 'Standard_DS12_v2', 'Standard_DS13_v2', 'Standard_DS14_v2', + * 'Standard_DS15_v2', 'Standard_DS13-4_v2', 'Standard_DS13-2_v2', + * 'Standard_DS14-8_v2', 'Standard_DS14-4_v2', 'Standard_E2_v3', + * 'Standard_E4_v3', 'Standard_E8_v3', 'Standard_E16_v3', 'Standard_E32_v3', + * 'Standard_E64_v3', 'Standard_E2s_v3', 'Standard_E4s_v3', 'Standard_E8s_v3', + * 'Standard_E16s_v3', 'Standard_E32s_v3', 'Standard_E64s_v3', + * 'Standard_E32-16_v3', 'Standard_E32-8s_v3', 'Standard_E64-32s_v3', + * 'Standard_E64-16s_v3', 'Standard_F1', 'Standard_F2', 'Standard_F4', + * 'Standard_F8', 'Standard_F16', 'Standard_F1s', 'Standard_F2s', + * 'Standard_F4s', 'Standard_F8s', 'Standard_F16s', 'Standard_F2s_v2', + * 'Standard_F4s_v2', 'Standard_F8s_v2', 'Standard_F16s_v2', + * 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_G1', + * 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', + * 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5', + * 'Standard_GS4-8', 'Standard_GS4-4', 'Standard_GS5-16', 'Standard_GS5-8', + * 'Standard_H8', 'Standard_H16', 'Standard_H8m', 'Standard_H16m', + * 'Standard_H16r', 'Standard_H16mr', 'Standard_L4s', 'Standard_L8s', + * 'Standard_L16s', 'Standard_L32s', 'Standard_M64s', 'Standard_M64ms', + * 'Standard_M128s', 'Standard_M128ms', 'Standard_M64-32ms', + * 'Standard_M64-16ms', 'Standard_M128-64ms', 'Standard_M128-32ms', + * 'Standard_NC6', 'Standard_NC12', 'Standard_NC24', 'Standard_NC24r', + * 'Standard_NC6s_v2', 'Standard_NC12s_v2', 'Standard_NC24s_v2', + * 'Standard_NC24rs_v2', 'Standard_NC6s_v3', 'Standard_NC12s_v3', + * 'Standard_NC24s_v3', 'Standard_NC24rs_v3', 'Standard_ND6s', + * 'Standard_ND12s', 'Standard_ND24s', 'Standard_ND24rs', 'Standard_NV6', + * 'Standard_NV12', 'Standard_NV24' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: VirtualMachineSizeTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum VirtualMachineSizeTypes { + BasicA0 = 'Basic_A0', + BasicA1 = 'Basic_A1', + BasicA2 = 'Basic_A2', + BasicA3 = 'Basic_A3', + BasicA4 = 'Basic_A4', + StandardA0 = 'Standard_A0', + StandardA1 = 'Standard_A1', + StandardA2 = 'Standard_A2', + StandardA3 = 'Standard_A3', + StandardA4 = 'Standard_A4', + StandardA5 = 'Standard_A5', + StandardA6 = 'Standard_A6', + StandardA7 = 'Standard_A7', + StandardA8 = 'Standard_A8', + StandardA9 = 'Standard_A9', + StandardA10 = 'Standard_A10', + StandardA11 = 'Standard_A11', + StandardA1V2 = 'Standard_A1_v2', + StandardA2V2 = 'Standard_A2_v2', + StandardA4V2 = 'Standard_A4_v2', + StandardA8V2 = 'Standard_A8_v2', + StandardA2mV2 = 'Standard_A2m_v2', + StandardA4mV2 = 'Standard_A4m_v2', + StandardA8mV2 = 'Standard_A8m_v2', + StandardB1s = 'Standard_B1s', + StandardB1ms = 'Standard_B1ms', + StandardB2s = 'Standard_B2s', + StandardB2ms = 'Standard_B2ms', + StandardB4ms = 'Standard_B4ms', + StandardB8ms = 'Standard_B8ms', + StandardD1 = 'Standard_D1', + StandardD2 = 'Standard_D2', + StandardD3 = 'Standard_D3', + StandardD4 = 'Standard_D4', + StandardD11 = 'Standard_D11', + StandardD12 = 'Standard_D12', + StandardD13 = 'Standard_D13', + StandardD14 = 'Standard_D14', + StandardD1V2 = 'Standard_D1_v2', + StandardD2V2 = 'Standard_D2_v2', + StandardD3V2 = 'Standard_D3_v2', + StandardD4V2 = 'Standard_D4_v2', + StandardD5V2 = 'Standard_D5_v2', + StandardD2V3 = 'Standard_D2_v3', + StandardD4V3 = 'Standard_D4_v3', + StandardD8V3 = 'Standard_D8_v3', + StandardD16V3 = 'Standard_D16_v3', + StandardD32V3 = 'Standard_D32_v3', + StandardD64V3 = 'Standard_D64_v3', + StandardD2sV3 = 'Standard_D2s_v3', + StandardD4sV3 = 'Standard_D4s_v3', + StandardD8sV3 = 'Standard_D8s_v3', + StandardD16sV3 = 'Standard_D16s_v3', + StandardD32sV3 = 'Standard_D32s_v3', + StandardD64sV3 = 'Standard_D64s_v3', + StandardD11V2 = 'Standard_D11_v2', + StandardD12V2 = 'Standard_D12_v2', + StandardD13V2 = 'Standard_D13_v2', + StandardD14V2 = 'Standard_D14_v2', + StandardD15V2 = 'Standard_D15_v2', + StandardDS1 = 'Standard_DS1', + StandardDS2 = 'Standard_DS2', + StandardDS3 = 'Standard_DS3', + StandardDS4 = 'Standard_DS4', + StandardDS11 = 'Standard_DS11', + StandardDS12 = 'Standard_DS12', + StandardDS13 = 'Standard_DS13', + StandardDS14 = 'Standard_DS14', + StandardDS1V2 = 'Standard_DS1_v2', + StandardDS2V2 = 'Standard_DS2_v2', + StandardDS3V2 = 'Standard_DS3_v2', + StandardDS4V2 = 'Standard_DS4_v2', + StandardDS5V2 = 'Standard_DS5_v2', + StandardDS11V2 = 'Standard_DS11_v2', + StandardDS12V2 = 'Standard_DS12_v2', + StandardDS13V2 = 'Standard_DS13_v2', + StandardDS14V2 = 'Standard_DS14_v2', + StandardDS15V2 = 'Standard_DS15_v2', + StandardDS134V2 = 'Standard_DS13-4_v2', + StandardDS132V2 = 'Standard_DS13-2_v2', + StandardDS148V2 = 'Standard_DS14-8_v2', + StandardDS144V2 = 'Standard_DS14-4_v2', + StandardE2V3 = 'Standard_E2_v3', + StandardE4V3 = 'Standard_E4_v3', + StandardE8V3 = 'Standard_E8_v3', + StandardE16V3 = 'Standard_E16_v3', + StandardE32V3 = 'Standard_E32_v3', + StandardE64V3 = 'Standard_E64_v3', + StandardE2sV3 = 'Standard_E2s_v3', + StandardE4sV3 = 'Standard_E4s_v3', + StandardE8sV3 = 'Standard_E8s_v3', + StandardE16sV3 = 'Standard_E16s_v3', + StandardE32sV3 = 'Standard_E32s_v3', + StandardE64sV3 = 'Standard_E64s_v3', + StandardE3216V3 = 'Standard_E32-16_v3', + StandardE328sV3 = 'Standard_E32-8s_v3', + StandardE6432sV3 = 'Standard_E64-32s_v3', + StandardE6416sV3 = 'Standard_E64-16s_v3', + StandardF1 = 'Standard_F1', + StandardF2 = 'Standard_F2', + StandardF4 = 'Standard_F4', + StandardF8 = 'Standard_F8', + StandardF16 = 'Standard_F16', + StandardF1s = 'Standard_F1s', + StandardF2s = 'Standard_F2s', + StandardF4s = 'Standard_F4s', + StandardF8s = 'Standard_F8s', + StandardF16s = 'Standard_F16s', + StandardF2sV2 = 'Standard_F2s_v2', + StandardF4sV2 = 'Standard_F4s_v2', + StandardF8sV2 = 'Standard_F8s_v2', + StandardF16sV2 = 'Standard_F16s_v2', + StandardF32sV2 = 'Standard_F32s_v2', + StandardF64sV2 = 'Standard_F64s_v2', + StandardF72sV2 = 'Standard_F72s_v2', + StandardG1 = 'Standard_G1', + StandardG2 = 'Standard_G2', + StandardG3 = 'Standard_G3', + StandardG4 = 'Standard_G4', + StandardG5 = 'Standard_G5', + StandardGS1 = 'Standard_GS1', + StandardGS2 = 'Standard_GS2', + StandardGS3 = 'Standard_GS3', + StandardGS4 = 'Standard_GS4', + StandardGS5 = 'Standard_GS5', + StandardGS48 = 'Standard_GS4-8', + StandardGS44 = 'Standard_GS4-4', + StandardGS516 = 'Standard_GS5-16', + StandardGS58 = 'Standard_GS5-8', + StandardH8 = 'Standard_H8', + StandardH16 = 'Standard_H16', + StandardH8m = 'Standard_H8m', + StandardH16m = 'Standard_H16m', + StandardH16r = 'Standard_H16r', + StandardH16mr = 'Standard_H16mr', + StandardL4s = 'Standard_L4s', + StandardL8s = 'Standard_L8s', + StandardL16s = 'Standard_L16s', + StandardL32s = 'Standard_L32s', + StandardM64s = 'Standard_M64s', + StandardM64ms = 'Standard_M64ms', + StandardM128s = 'Standard_M128s', + StandardM128ms = 'Standard_M128ms', + StandardM6432ms = 'Standard_M64-32ms', + StandardM6416ms = 'Standard_M64-16ms', + StandardM12864ms = 'Standard_M128-64ms', + StandardM12832ms = 'Standard_M128-32ms', + StandardNC6 = 'Standard_NC6', + StandardNC12 = 'Standard_NC12', + StandardNC24 = 'Standard_NC24', + StandardNC24r = 'Standard_NC24r', + StandardNC6sV2 = 'Standard_NC6s_v2', + StandardNC12sV2 = 'Standard_NC12s_v2', + StandardNC24sV2 = 'Standard_NC24s_v2', + StandardNC24rsV2 = 'Standard_NC24rs_v2', + StandardNC6sV3 = 'Standard_NC6s_v3', + StandardNC12sV3 = 'Standard_NC12s_v3', + StandardNC24sV3 = 'Standard_NC24s_v3', + StandardNC24rsV3 = 'Standard_NC24rs_v3', + StandardND6s = 'Standard_ND6s', + StandardND12s = 'Standard_ND12s', + StandardND24s = 'Standard_ND24s', + StandardND24rs = 'Standard_ND24rs', + StandardNV6 = 'Standard_NV6', + StandardNV12 = 'Standard_NV12', + StandardNV24 = 'Standard_NV24', +} + +/** + * Defines values for CachingTypes. + * Possible values include: 'None', 'ReadOnly', 'ReadWrite' + * @readonly + * @enum {string} + */ +export enum CachingTypes { + None = 'None', + ReadOnly = 'ReadOnly', + ReadWrite = 'ReadWrite', +} + +/** + * Defines values for DiskCreateOptionTypes. + * Possible values include: 'FromImage', 'Empty', 'Attach' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: DiskCreateOptionTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum DiskCreateOptionTypes { + FromImage = 'FromImage', + Empty = 'Empty', + Attach = 'Attach', +} + +/** + * Defines values for StorageAccountTypes. + * Possible values include: 'Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', + * 'UltraSSD_LRS' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: StorageAccountTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum StorageAccountTypes { + StandardLRS = 'Standard_LRS', + PremiumLRS = 'Premium_LRS', + StandardSSDLRS = 'StandardSSD_LRS', + UltraSSDLRS = 'UltraSSD_LRS', +} + +/** + * Defines values for DiffDiskOptions. + * Possible values include: 'Local' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: DiffDiskOptions = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum DiffDiskOptions { + Local = 'Local', +} + +/** + * Defines values for PassNames. + * Possible values include: 'OobeSystem' + * @readonly + * @enum {string} + */ +export enum PassNames { + OobeSystem = 'OobeSystem', +} + +/** + * Defines values for ComponentNames. + * Possible values include: 'Microsoft-Windows-Shell-Setup' + * @readonly + * @enum {string} + */ +export enum ComponentNames { + MicrosoftWindowsShellSetup = 'Microsoft-Windows-Shell-Setup', +} + +/** + * Defines values for SettingNames. + * Possible values include: 'AutoLogon', 'FirstLogonCommands' + * @readonly + * @enum {string} + */ +export enum SettingNames { + AutoLogon = 'AutoLogon', + FirstLogonCommands = 'FirstLogonCommands', +} + +/** + * Defines values for ProtocolTypes. + * Possible values include: 'Http', 'Https' + * @readonly + * @enum {string} + */ +export enum ProtocolTypes { + Http = 'Http', + Https = 'Https', +} + +/** + * Defines values for ResourceIdentityType. + * Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, + * UserAssigned', 'None' + * @readonly + * @enum {string} + */ +export enum ResourceIdentityType { + SystemAssigned = 'SystemAssigned', + UserAssigned = 'UserAssigned', + SystemAssignedUserAssigned = 'SystemAssigned, UserAssigned', + None = 'None', +} + +/** + * Defines values for MaintenanceOperationResultCodeTypes. + * Possible values include: 'None', 'RetryLater', 'MaintenanceAborted', + * 'MaintenanceCompleted' + * @readonly + * @enum {string} + */ +export enum MaintenanceOperationResultCodeTypes { + None = 'None', + RetryLater = 'RetryLater', + MaintenanceAborted = 'MaintenanceAborted', + MaintenanceCompleted = 'MaintenanceCompleted', +} + +/** + * Defines values for UpgradeMode. + * Possible values include: 'Automatic', 'Manual', 'Rolling' + * @readonly + * @enum {string} + */ +export enum UpgradeMode { + Automatic = 'Automatic', + Manual = 'Manual', + Rolling = 'Rolling', +} + +/** + * Defines values for OperatingSystemStateTypes. + * Possible values include: 'Generalized', 'Specialized' + * @readonly + * @enum {string} + */ +export enum OperatingSystemStateTypes { + Generalized = 'Generalized', + Specialized = 'Specialized', +} + +/** + * Defines values for IPVersion. + * Possible values include: 'IPv4', 'IPv6' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: IPVersion = "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum IPVersion { + IPv4 = 'IPv4', + IPv6 = 'IPv6', +} + +/** + * Defines values for VirtualMachinePriorityTypes. + * Possible values include: 'Regular', 'Low' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: VirtualMachinePriorityTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum VirtualMachinePriorityTypes { + Regular = 'Regular', + Low = 'Low', +} + +/** + * Defines values for VirtualMachineEvictionPolicyTypes. + * Possible values include: 'Deallocate', 'Delete' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: VirtualMachineEvictionPolicyTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum VirtualMachineEvictionPolicyTypes { + Deallocate = 'Deallocate', + Delete = 'Delete', +} + +/** + * Defines values for VirtualMachineScaleSetSkuScaleType. + * Possible values include: 'Automatic', 'None' + * @readonly + * @enum {string} + */ +export enum VirtualMachineScaleSetSkuScaleType { + Automatic = 'Automatic', + None = 'None', +} + +/** + * Defines values for UpgradeState. + * Possible values include: 'RollingForward', 'Cancelled', 'Completed', + * 'Faulted' + * @readonly + * @enum {string} + */ +export enum UpgradeState { + RollingForward = 'RollingForward', + Cancelled = 'Cancelled', + Completed = 'Completed', + Faulted = 'Faulted', +} + +/** + * Defines values for UpgradeOperationInvoker. + * Possible values include: 'Unknown', 'User', 'Platform' + * @readonly + * @enum {string} + */ +export enum UpgradeOperationInvoker { + Unknown = 'Unknown', + User = 'User', + Platform = 'Platform', +} + +/** + * Defines values for RollingUpgradeStatusCode. + * Possible values include: 'RollingForward', 'Cancelled', 'Completed', + * 'Faulted' + * @readonly + * @enum {string} + */ +export enum RollingUpgradeStatusCode { + RollingForward = 'RollingForward', + Cancelled = 'Cancelled', + Completed = 'Completed', + Faulted = 'Faulted', +} + +/** + * Defines values for RollingUpgradeActionType. + * Possible values include: 'Start', 'Cancel' + * @readonly + * @enum {string} + */ +export enum RollingUpgradeActionType { + Start = 'Start', + Cancel = 'Cancel', +} + +/** + * Defines values for IntervalInMins. + * Possible values include: 'ThreeMins', 'FiveMins', 'ThirtyMins', 'SixtyMins' + * @readonly + * @enum {string} + */ +export enum IntervalInMins { + ThreeMins = 'ThreeMins', + FiveMins = 'FiveMins', + ThirtyMins = 'ThirtyMins', + SixtyMins = 'SixtyMins', +} + +/** + * Defines values for ResourceSkuCapacityScaleType. + * Possible values include: 'Automatic', 'Manual', 'None' + * @readonly + * @enum {string} + */ +export enum ResourceSkuCapacityScaleType { + Automatic = 'Automatic', + Manual = 'Manual', + None = 'None', +} + +/** + * Defines values for ResourceSkuRestrictionsType. + * Possible values include: 'Location', 'Zone' + * @readonly + * @enum {string} + */ +export enum ResourceSkuRestrictionsType { + Location = 'Location', + Zone = 'Zone', +} + +/** + * Defines values for ResourceSkuRestrictionsReasonCode. + * Possible values include: 'QuotaId', 'NotAvailableForSubscription' + * @readonly + * @enum {string} + */ +export enum ResourceSkuRestrictionsReasonCode { + QuotaId = 'QuotaId', + NotAvailableForSubscription = 'NotAvailableForSubscription', +} + +/** + * Defines values for DiskStorageAccountTypes. + * Possible values include: 'Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', + * 'UltraSSD_LRS' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: DiskStorageAccountTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum DiskStorageAccountTypes { + StandardLRS = 'Standard_LRS', + PremiumLRS = 'Premium_LRS', + StandardSSDLRS = 'StandardSSD_LRS', + UltraSSDLRS = 'UltraSSD_LRS', +} + +/** + * Defines values for DiskCreateOption. + * Possible values include: 'Empty', 'Attach', 'FromImage', 'Import', 'Copy', + * 'Restore' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: DiskCreateOption = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum DiskCreateOption { + Empty = 'Empty', + Attach = 'Attach', + FromImage = 'FromImage', + Import = 'Import', + Copy = 'Copy', + Restore = 'Restore', +} + +/** + * Defines values for SnapshotStorageAccountTypes. + * Possible values include: 'Standard_LRS', 'Premium_LRS', 'Standard_ZRS' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: SnapshotStorageAccountTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum SnapshotStorageAccountTypes { + StandardLRS = 'Standard_LRS', + PremiumLRS = 'Premium_LRS', + StandardZRS = 'Standard_ZRS', +} + +/** + * Defines values for AccessLevel. + * Possible values include: 'None', 'Read' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: AccessLevel = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum AccessLevel { + None = 'None', + Read = 'Read', +} + +/** + * Defines values for AggregatedReplicationState. + * Possible values include: 'Unknown', 'InProgress', 'Completed', 'Failed' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: AggregatedReplicationState = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum AggregatedReplicationState { + Unknown = 'Unknown', + InProgress = 'InProgress', + Completed = 'Completed', + Failed = 'Failed', +} + +/** + * Defines values for ReplicationState. + * Possible values include: 'Unknown', 'Replicating', 'Completed', 'Failed' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: ReplicationState = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum ReplicationState { + Unknown = 'Unknown', + Replicating = 'Replicating', + Completed = 'Completed', + Failed = 'Failed', +} + +/** + * Defines values for HostCaching. + * Possible values include: 'None', 'ReadOnly', 'ReadWrite' + * @readonly + * @enum {string} + */ +export enum HostCaching { + None = 'None', + ReadOnly = 'ReadOnly', + ReadWrite = 'ReadWrite', +} + +/** + * Defines values for ContainerServiceOrchestratorTypes. + * Possible values include: 'Swarm', 'DCOS', 'Custom', 'Kubernetes' + * @readonly + * @enum {string} + */ +export enum ContainerServiceOrchestratorTypes { + Swarm = 'Swarm', + DCOS = 'DCOS', + Custom = 'Custom', + Kubernetes = 'Kubernetes', +} + +/** + * Defines values for ContainerServiceVMSizeTypes. + * Possible values include: 'Standard_A0', 'Standard_A1', 'Standard_A2', + * 'Standard_A3', 'Standard_A4', 'Standard_A5', 'Standard_A6', 'Standard_A7', + * 'Standard_A8', 'Standard_A9', 'Standard_A10', 'Standard_A11', 'Standard_D1', + * 'Standard_D2', 'Standard_D3', 'Standard_D4', 'Standard_D11', 'Standard_D12', + * 'Standard_D13', 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2', + * 'Standard_D3_v2', 'Standard_D4_v2', 'Standard_D5_v2', 'Standard_D11_v2', + * 'Standard_D12_v2', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_G1', + * 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_DS1', + * 'Standard_DS2', 'Standard_DS3', 'Standard_DS4', 'Standard_DS11', + * 'Standard_DS12', 'Standard_DS13', 'Standard_DS14', 'Standard_GS1', + * 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: ContainerServiceVMSizeTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum ContainerServiceVMSizeTypes { + StandardA0 = 'Standard_A0', + StandardA1 = 'Standard_A1', + StandardA2 = 'Standard_A2', + StandardA3 = 'Standard_A3', + StandardA4 = 'Standard_A4', + StandardA5 = 'Standard_A5', + StandardA6 = 'Standard_A6', + StandardA7 = 'Standard_A7', + StandardA8 = 'Standard_A8', + StandardA9 = 'Standard_A9', + StandardA10 = 'Standard_A10', + StandardA11 = 'Standard_A11', + StandardD1 = 'Standard_D1', + StandardD2 = 'Standard_D2', + StandardD3 = 'Standard_D3', + StandardD4 = 'Standard_D4', + StandardD11 = 'Standard_D11', + StandardD12 = 'Standard_D12', + StandardD13 = 'Standard_D13', + StandardD14 = 'Standard_D14', + StandardD1V2 = 'Standard_D1_v2', + StandardD2V2 = 'Standard_D2_v2', + StandardD3V2 = 'Standard_D3_v2', + StandardD4V2 = 'Standard_D4_v2', + StandardD5V2 = 'Standard_D5_v2', + StandardD11V2 = 'Standard_D11_v2', + StandardD12V2 = 'Standard_D12_v2', + StandardD13V2 = 'Standard_D13_v2', + StandardD14V2 = 'Standard_D14_v2', + StandardG1 = 'Standard_G1', + StandardG2 = 'Standard_G2', + StandardG3 = 'Standard_G3', + StandardG4 = 'Standard_G4', + StandardG5 = 'Standard_G5', + StandardDS1 = 'Standard_DS1', + StandardDS2 = 'Standard_DS2', + StandardDS3 = 'Standard_DS3', + StandardDS4 = 'Standard_DS4', + StandardDS11 = 'Standard_DS11', + StandardDS12 = 'Standard_DS12', + StandardDS13 = 'Standard_DS13', + StandardDS14 = 'Standard_DS14', + StandardGS1 = 'Standard_GS1', + StandardGS2 = 'Standard_GS2', + StandardGS3 = 'Standard_GS3', + StandardGS4 = 'Standard_GS4', + StandardGS5 = 'Standard_GS5', +} + +/** + * Defines values for InstanceViewTypes. + * Possible values include: 'instanceView' + * @readonly + * @enum {string} + */ +export enum InstanceViewTypes { + InstanceView = 'instanceView', +} + +/** + * Defines values for ReplicationStatusTypes. + * Possible values include: 'ReplicationStatus' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: ReplicationStatusTypes = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum ReplicationStatusTypes { + ReplicationStatus = 'ReplicationStatus', +} + +/** + * Defines values for ProvisioningState. + * Possible values include: 'Creating', 'Updating', 'Failed', 'Succeeded', + * 'Deleting', 'Migrating' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: ProvisioningState = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum ProvisioningState { + Creating = 'Creating', + Updating = 'Updating', + Failed = 'Failed', + Succeeded = 'Succeeded', + Deleting = 'Deleting', + Migrating = 'Migrating', +} + +/** + * Defines values for ProvisioningState1. + * Possible values include: 'Creating', 'Updating', 'Failed', 'Succeeded', + * 'Deleting', 'Migrating' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: ProvisioningState1 = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum ProvisioningState1 { + Creating = 'Creating', + Updating = 'Updating', + Failed = 'Failed', + Succeeded = 'Succeeded', + Deleting = 'Deleting', + Migrating = 'Migrating', +} + +/** + * Defines values for ProvisioningState2. + * Possible values include: 'Creating', 'Updating', 'Failed', 'Succeeded', + * 'Deleting', 'Migrating' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: ProvisioningState2 = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum ProvisioningState2 { + Creating = 'Creating', + Updating = 'Updating', + Failed = 'Failed', + Succeeded = 'Succeeded', + Deleting = 'Deleting', + Migrating = 'Migrating', +} + +/** + * Contains response data for the list operation. + */ +export type OperationsListResponse = ComputeOperationListResult & { + /** + * 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: ComputeOperationListResult; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type AvailabilitySetsCreateOrUpdateResponse = AvailabilitySet & { + /** + * 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: AvailabilitySet; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type AvailabilitySetsUpdateResponse = AvailabilitySet & { + /** + * 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: AvailabilitySet; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type AvailabilitySetsGetResponse = AvailabilitySet & { + /** + * 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: AvailabilitySet; + }; +}; + +/** + * Contains response data for the listBySubscription operation. + */ +export type AvailabilitySetsListBySubscriptionResponse = AvailabilitySetListResult & { + /** + * 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: AvailabilitySetListResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type AvailabilitySetsListResponse = AvailabilitySetListResult & { + /** + * 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: AvailabilitySetListResult; + }; +}; + +/** + * Contains response data for the listAvailableSizes operation. + */ +export type AvailabilitySetsListAvailableSizesResponse = VirtualMachineSizeListResult & { + /** + * 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: VirtualMachineSizeListResult; + }; +}; + +/** + * Contains response data for the listBySubscriptionNext operation. + */ +export type AvailabilitySetsListBySubscriptionNextResponse = AvailabilitySetListResult & { + /** + * 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: AvailabilitySetListResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type AvailabilitySetsListNextResponse = AvailabilitySetListResult & { + /** + * 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: AvailabilitySetListResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VirtualMachineExtensionImagesGetResponse = VirtualMachineExtensionImage & { + /** + * 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: VirtualMachineExtensionImage; + }; +}; + +/** + * Contains response data for the listTypes operation. + */ +export type VirtualMachineExtensionImagesListTypesResponse = Array & { + /** + * 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: VirtualMachineExtensionImage[]; + }; +}; + +/** + * Contains response data for the listVersions operation. + */ +export type VirtualMachineExtensionImagesListVersionsResponse = Array & { + /** + * 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: VirtualMachineExtensionImage[]; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type VirtualMachineExtensionsCreateOrUpdateResponse = VirtualMachineExtension & { + /** + * 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: VirtualMachineExtension; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type VirtualMachineExtensionsUpdateResponse = VirtualMachineExtension & { + /** + * 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: VirtualMachineExtension; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VirtualMachineExtensionsGetResponse = VirtualMachineExtension & { + /** + * 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: VirtualMachineExtension; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type VirtualMachineExtensionsListResponse = VirtualMachineExtensionsListResult & { + /** + * 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: VirtualMachineExtensionsListResult; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type VirtualMachineExtensionsBeginCreateOrUpdateResponse = VirtualMachineExtension & { + /** + * 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: VirtualMachineExtension; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type VirtualMachineExtensionsBeginUpdateResponse = VirtualMachineExtension & { + /** + * 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: VirtualMachineExtension; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VirtualMachineImagesGetResponse = VirtualMachineImage & { + /** + * 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: VirtualMachineImage; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type VirtualMachineImagesListResponse = Array & { + /** + * 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: VirtualMachineImageResource[]; + }; +}; + +/** + * Contains response data for the listOffers operation. + */ +export type VirtualMachineImagesListOffersResponse = Array & { + /** + * 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: VirtualMachineImageResource[]; + }; +}; + +/** + * Contains response data for the listPublishers operation. + */ +export type VirtualMachineImagesListPublishersResponse = Array & { + /** + * 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: VirtualMachineImageResource[]; + }; +}; + +/** + * Contains response data for the listSkus operation. + */ +export type VirtualMachineImagesListSkusResponse = Array & { + /** + * 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: VirtualMachineImageResource[]; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type UsageListResponse = ListUsagesResult & { + /** + * 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: ListUsagesResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type UsageListNextResponse = ListUsagesResult & { + /** + * 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: ListUsagesResult; + }; +}; + +/** + * Contains response data for the listByLocation operation. + */ +export type VirtualMachinesListByLocationResponse = VirtualMachineListResult & { + /** + * 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: VirtualMachineListResult; + }; +}; + +/** + * Contains response data for the capture operation. + */ +export type VirtualMachinesCaptureResponse = VirtualMachineCaptureResult & { + /** + * 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: VirtualMachineCaptureResult; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type VirtualMachinesCreateOrUpdateResponse = VirtualMachine & { + /** + * 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: VirtualMachine; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type VirtualMachinesUpdateResponse = VirtualMachine & { + /** + * 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: VirtualMachine; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VirtualMachinesGetResponse = VirtualMachine & { + /** + * 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: VirtualMachine; + }; +}; + +/** + * Contains response data for the instanceView operation. + */ +export type VirtualMachinesInstanceViewResponse = VirtualMachineInstanceView & { + /** + * 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: VirtualMachineInstanceView; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type VirtualMachinesListResponse = VirtualMachineListResult & { + /** + * 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: VirtualMachineListResult; + }; +}; + +/** + * Contains response data for the listAll operation. + */ +export type VirtualMachinesListAllResponse = VirtualMachineListResult & { + /** + * 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: VirtualMachineListResult; + }; +}; + +/** + * Contains response data for the listAvailableSizes operation. + */ +export type VirtualMachinesListAvailableSizesResponse = VirtualMachineSizeListResult & { + /** + * 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: VirtualMachineSizeListResult; + }; +}; + +/** + * Contains response data for the listInGuestSoftwareItems operation. + */ +export type VirtualMachinesListInGuestSoftwareItemsResponse = InGuestSoftwareItemsListResult & { + /** + * 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: InGuestSoftwareItemsListResult; + }; +}; + +/** + * Contains response data for the getInGuestSoftwareItem operation. + */ +export type VirtualMachinesGetInGuestSoftwareItemResponse = InGuestSoftwareItem & { + /** + * 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: InGuestSoftwareItem; + }; +}; + +/** + * Contains response data for the runCommand operation. + */ +export type VirtualMachinesRunCommandResponse = RunCommandResult & { + /** + * 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: RunCommandResult; + }; +}; + +/** + * Contains response data for the beginCapture operation. + */ +export type VirtualMachinesBeginCaptureResponse = VirtualMachineCaptureResult & { + /** + * 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: VirtualMachineCaptureResult; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type VirtualMachinesBeginCreateOrUpdateResponse = VirtualMachine & { + /** + * 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: VirtualMachine; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type VirtualMachinesBeginUpdateResponse = VirtualMachine & { + /** + * 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: VirtualMachine; + }; +}; + +/** + * Contains response data for the beginRunCommand operation. + */ +export type VirtualMachinesBeginRunCommandResponse = RunCommandResult & { + /** + * 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: RunCommandResult; + }; +}; + +/** + * Contains response data for the listByLocationNext operation. + */ +export type VirtualMachinesListByLocationNextResponse = VirtualMachineListResult & { + /** + * 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: VirtualMachineListResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type VirtualMachinesListNextResponse = VirtualMachineListResult & { + /** + * 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: VirtualMachineListResult; + }; +}; + +/** + * Contains response data for the listAllNext operation. + */ +export type VirtualMachinesListAllNextResponse = VirtualMachineListResult & { + /** + * 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: VirtualMachineListResult; + }; +}; + +/** + * Contains response data for the listInGuestSoftwareItemsNext operation. + */ +export type VirtualMachinesListInGuestSoftwareItemsNextResponse = InGuestSoftwareItemsListResult & { + /** + * 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: InGuestSoftwareItemsListResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type VirtualMachineSizesListResponse = VirtualMachineSizeListResult & { + /** + * 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: VirtualMachineSizeListResult; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type ImagesCreateOrUpdateResponse = Image & { + /** + * 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: Image; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type ImagesUpdateResponse = Image & { + /** + * 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: Image; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type ImagesGetResponse = Image & { + /** + * 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: Image; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. + */ +export type ImagesListByResourceGroupResponse = ImageListResult & { + /** + * 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: ImageListResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ImagesListResponse = ImageListResult & { + /** + * 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: ImageListResult; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type ImagesBeginCreateOrUpdateResponse = Image & { + /** + * 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: Image; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type ImagesBeginUpdateResponse = Image & { + /** + * 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: Image; + }; +}; + +/** + * Contains response data for the listByResourceGroupNext operation. + */ +export type ImagesListByResourceGroupNextResponse = ImageListResult & { + /** + * 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: ImageListResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ImagesListNextResponse = ImageListResult & { + /** + * 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: ImageListResult; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type VirtualMachineScaleSetsCreateOrUpdateResponse = VirtualMachineScaleSet & { + /** + * 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: VirtualMachineScaleSet; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type VirtualMachineScaleSetsUpdateResponse = VirtualMachineScaleSet & { + /** + * 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: VirtualMachineScaleSet; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VirtualMachineScaleSetsGetResponse = VirtualMachineScaleSet & { + /** + * 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: VirtualMachineScaleSet; + }; +}; + +/** + * Contains response data for the getInstanceView operation. + */ +export type VirtualMachineScaleSetsGetInstanceViewResponse = VirtualMachineScaleSetInstanceView & { + /** + * 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: VirtualMachineScaleSetInstanceView; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type VirtualMachineScaleSetsListResponse = VirtualMachineScaleSetListResult & { + /** + * 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: VirtualMachineScaleSetListResult; + }; +}; + +/** + * Contains response data for the listAll operation. + */ +export type VirtualMachineScaleSetsListAllResponse = VirtualMachineScaleSetListWithLinkResult & { + /** + * 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: VirtualMachineScaleSetListWithLinkResult; + }; +}; + +/** + * Contains response data for the listSkus operation. + */ +export type VirtualMachineScaleSetsListSkusResponse = VirtualMachineScaleSetListSkusResult & { + /** + * 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: VirtualMachineScaleSetListSkusResult; + }; +}; + +/** + * Contains response data for the getOSUpgradeHistory operation. + */ +export type VirtualMachineScaleSetsGetOSUpgradeHistoryResponse = VirtualMachineScaleSetListOSUpgradeHistory & { + /** + * 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: VirtualMachineScaleSetListOSUpgradeHistory; + }; +}; + +/** + * Contains response data for the forceRecoveryServiceFabricPlatformUpdateDomainWalk operation. + */ +export type VirtualMachineScaleSetsForceRecoveryServiceFabricPlatformUpdateDomainWalkResponse = RecoveryWalkResponse & { + /** + * 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: RecoveryWalkResponse; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type VirtualMachineScaleSetsBeginCreateOrUpdateResponse = VirtualMachineScaleSet & { + /** + * 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: VirtualMachineScaleSet; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type VirtualMachineScaleSetsBeginUpdateResponse = VirtualMachineScaleSet & { + /** + * 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: VirtualMachineScaleSet; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type VirtualMachineScaleSetsListNextResponse = VirtualMachineScaleSetListResult & { + /** + * 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: VirtualMachineScaleSetListResult; + }; +}; + +/** + * Contains response data for the listAllNext operation. + */ +export type VirtualMachineScaleSetsListAllNextResponse = VirtualMachineScaleSetListWithLinkResult & { + /** + * 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: VirtualMachineScaleSetListWithLinkResult; + }; +}; + +/** + * Contains response data for the listSkusNext operation. + */ +export type VirtualMachineScaleSetsListSkusNextResponse = VirtualMachineScaleSetListSkusResult & { + /** + * 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: VirtualMachineScaleSetListSkusResult; + }; +}; + +/** + * Contains response data for the getOSUpgradeHistoryNext operation. + */ +export type VirtualMachineScaleSetsGetOSUpgradeHistoryNextResponse = VirtualMachineScaleSetListOSUpgradeHistory & { + /** + * 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: VirtualMachineScaleSetListOSUpgradeHistory; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type VirtualMachineScaleSetExtensionsCreateOrUpdateResponse = VirtualMachineScaleSetExtension & { + /** + * 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: VirtualMachineScaleSetExtension; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VirtualMachineScaleSetExtensionsGetResponse = VirtualMachineScaleSetExtension & { + /** + * 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: VirtualMachineScaleSetExtension; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type VirtualMachineScaleSetExtensionsListResponse = VirtualMachineScaleSetExtensionListResult & { + /** + * 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: VirtualMachineScaleSetExtensionListResult; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type VirtualMachineScaleSetExtensionsBeginCreateOrUpdateResponse = VirtualMachineScaleSetExtension & { + /** + * 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: VirtualMachineScaleSetExtension; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type VirtualMachineScaleSetExtensionsListNextResponse = VirtualMachineScaleSetExtensionListResult & { + /** + * 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: VirtualMachineScaleSetExtensionListResult; + }; +}; + +/** + * Contains response data for the getLatest operation. + */ +export type VirtualMachineScaleSetRollingUpgradesGetLatestResponse = RollingUpgradeStatusInfo & { + /** + * 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: RollingUpgradeStatusInfo; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type VirtualMachineScaleSetVMsUpdateResponse = VirtualMachineScaleSetVM & { + /** + * 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: VirtualMachineScaleSetVM; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VirtualMachineScaleSetVMsGetResponse = VirtualMachineScaleSetVM & { + /** + * 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: VirtualMachineScaleSetVM; + }; +}; + +/** + * Contains response data for the getInstanceView operation. + */ +export type VirtualMachineScaleSetVMsGetInstanceViewResponse = VirtualMachineScaleSetVMInstanceView & { + /** + * 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: VirtualMachineScaleSetVMInstanceView; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type VirtualMachineScaleSetVMsListResponse = VirtualMachineScaleSetVMListResult & { + /** + * 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: VirtualMachineScaleSetVMListResult; + }; +}; + +/** + * Contains response data for the runCommand operation. + */ +export type VirtualMachineScaleSetVMsRunCommandResponse = RunCommandResult & { + /** + * 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: RunCommandResult; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type VirtualMachineScaleSetVMsBeginUpdateResponse = VirtualMachineScaleSetVM & { + /** + * 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: VirtualMachineScaleSetVM; + }; +}; + +/** + * Contains response data for the beginRunCommand operation. + */ +export type VirtualMachineScaleSetVMsBeginRunCommandResponse = RunCommandResult & { + /** + * 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: RunCommandResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type VirtualMachineScaleSetVMsListNextResponse = VirtualMachineScaleSetVMListResult & { + /** + * 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: VirtualMachineScaleSetVMListResult; + }; +}; + +/** + * Contains response data for the exportRequestRateByInterval operation. + */ +export type LogAnalyticsExportRequestRateByIntervalResponse = LogAnalyticsOperationResult & { + /** + * 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: LogAnalyticsOperationResult; + }; +}; + +/** + * Contains response data for the exportThrottledRequests operation. + */ +export type LogAnalyticsExportThrottledRequestsResponse = LogAnalyticsOperationResult & { + /** + * 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: LogAnalyticsOperationResult; + }; +}; + +/** + * Contains response data for the beginExportRequestRateByInterval operation. + */ +export type LogAnalyticsBeginExportRequestRateByIntervalResponse = LogAnalyticsOperationResult & { + /** + * 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: LogAnalyticsOperationResult; + }; +}; + +/** + * Contains response data for the beginExportThrottledRequests operation. + */ +export type LogAnalyticsBeginExportThrottledRequestsResponse = LogAnalyticsOperationResult & { + /** + * 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: LogAnalyticsOperationResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type VirtualMachineRunCommandsListResponse = RunCommandListResult & { + /** + * 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: RunCommandListResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VirtualMachineRunCommandsGetResponse = RunCommandDocument & { + /** + * 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: RunCommandDocument; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type VirtualMachineRunCommandsListNextResponse = RunCommandListResult & { + /** + * 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: RunCommandListResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ResourceSkusListResponse = ResourceSkusResult & { + /** + * 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: ResourceSkusResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ResourceSkusListNextResponse = ResourceSkusResult & { + /** + * 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: ResourceSkusResult; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type DisksCreateOrUpdateResponse = Disk & { + /** + * 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: Disk; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type DisksUpdateResponse = Disk & { + /** + * 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: Disk; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type DisksGetResponse = Disk & { + /** + * 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: Disk; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. + */ +export type DisksListByResourceGroupResponse = DiskList & { + /** + * 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: DiskList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type DisksListResponse = DiskList & { + /** + * 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: DiskList; + }; +}; + +/** + * Contains response data for the grantAccess operation. + */ +export type DisksGrantAccessResponse = AccessUri & { + /** + * 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: AccessUri; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type DisksBeginCreateOrUpdateResponse = Disk & { + /** + * 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: Disk; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type DisksBeginUpdateResponse = Disk & { + /** + * 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: Disk; + }; +}; + +/** + * Contains response data for the beginGrantAccess operation. + */ +export type DisksBeginGrantAccessResponse = AccessUri & { + /** + * 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: AccessUri; + }; +}; + +/** + * Contains response data for the listByResourceGroupNext operation. + */ +export type DisksListByResourceGroupNextResponse = DiskList & { + /** + * 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: DiskList; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type DisksListNextResponse = DiskList & { + /** + * 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: DiskList; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type SnapshotsCreateOrUpdateResponse = Snapshot & { + /** + * 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: Snapshot; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type SnapshotsUpdateResponse = Snapshot & { + /** + * 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: Snapshot; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type SnapshotsGetResponse = Snapshot & { + /** + * 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: Snapshot; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. + */ +export type SnapshotsListByResourceGroupResponse = SnapshotList & { + /** + * 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: SnapshotList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type SnapshotsListResponse = SnapshotList & { + /** + * 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: SnapshotList; + }; +}; + +/** + * Contains response data for the grantAccess operation. + */ +export type SnapshotsGrantAccessResponse = AccessUri & { + /** + * 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: AccessUri; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type SnapshotsBeginCreateOrUpdateResponse = Snapshot & { + /** + * 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: Snapshot; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type SnapshotsBeginUpdateResponse = Snapshot & { + /** + * 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: Snapshot; + }; +}; + +/** + * Contains response data for the beginGrantAccess operation. + */ +export type SnapshotsBeginGrantAccessResponse = AccessUri & { + /** + * 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: AccessUri; + }; +}; + +/** + * Contains response data for the listByResourceGroupNext operation. + */ +export type SnapshotsListByResourceGroupNextResponse = SnapshotList & { + /** + * 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: SnapshotList; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type SnapshotsListNextResponse = SnapshotList & { + /** + * 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: SnapshotList; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type GalleriesCreateOrUpdateResponse = Gallery & { + /** + * 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: Gallery; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type GalleriesGetResponse = Gallery & { + /** + * 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: Gallery; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. + */ +export type GalleriesListByResourceGroupResponse = GalleryList & { + /** + * 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: GalleryList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type GalleriesListResponse = GalleryList & { + /** + * 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: GalleryList; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type GalleriesBeginCreateOrUpdateResponse = Gallery & { + /** + * 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: Gallery; + }; +}; + +/** + * Contains response data for the listByResourceGroupNext operation. + */ +export type GalleriesListByResourceGroupNextResponse = GalleryList & { + /** + * 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: GalleryList; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type GalleriesListNextResponse = GalleryList & { + /** + * 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: GalleryList; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type GalleryImagesCreateOrUpdateResponse = GalleryImage & { + /** + * 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: GalleryImage; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type GalleryImagesGetResponse = GalleryImage & { + /** + * 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: GalleryImage; + }; +}; + +/** + * Contains response data for the listByGallery operation. + */ +export type GalleryImagesListByGalleryResponse = GalleryImageList & { + /** + * 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: GalleryImageList; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type GalleryImagesBeginCreateOrUpdateResponse = GalleryImage & { + /** + * 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: GalleryImage; + }; +}; + +/** + * Contains response data for the listByGalleryNext operation. + */ +export type GalleryImagesListByGalleryNextResponse = GalleryImageList & { + /** + * 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: GalleryImageList; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type GalleryImageVersionsCreateOrUpdateResponse = GalleryImageVersion & { + /** + * 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: GalleryImageVersion; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type GalleryImageVersionsGetResponse = GalleryImageVersion & { + /** + * 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: GalleryImageVersion; + }; +}; + +/** + * Contains response data for the listByGalleryImage operation. + */ +export type GalleryImageVersionsListByGalleryImageResponse = GalleryImageVersionList & { + /** + * 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: GalleryImageVersionList; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type GalleryImageVersionsBeginCreateOrUpdateResponse = GalleryImageVersion & { + /** + * 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: GalleryImageVersion; + }; +}; + +/** + * Contains response data for the listByGalleryImageNext operation. + */ +export type GalleryImageVersionsListByGalleryImageNextResponse = GalleryImageVersionList & { + /** + * 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: GalleryImageVersionList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ContainerServicesListResponse = ContainerServiceListResult & { + /** + * 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: ContainerServiceListResult; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type ContainerServicesCreateOrUpdateResponse = ContainerService & { + /** + * 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: ContainerService; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type ContainerServicesGetResponse = ContainerService & { + /** + * 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: ContainerService; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. + */ +export type ContainerServicesListByResourceGroupResponse = ContainerServiceListResult & { + /** + * 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: ContainerServiceListResult; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type ContainerServicesBeginCreateOrUpdateResponse = ContainerService & { + /** + * 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: ContainerService; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ContainerServicesListNextResponse = ContainerServiceListResult & { + /** + * 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: ContainerServiceListResult; + }; +}; + +/** + * Contains response data for the listByResourceGroupNext operation. + */ +export type ContainerServicesListByResourceGroupNextResponse = ContainerServiceListResult & { + /** + * 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: ContainerServiceListResult; + }; +}; diff --git a/packages/@azure/arm-compute/lib/models/logAnalyticsMappers.ts b/packages/@azure/arm-compute/lib/models/logAnalyticsMappers.ts new file mode 100644 index 000000000000..3545c2f50084 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/logAnalyticsMappers.ts @@ -0,0 +1,19 @@ +/* + * 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 { + RequestRateByIntervalInput, + LogAnalyticsInputBase, + LogAnalyticsOperationResult, + LogAnalyticsOutput, + CloudError, + ThrottledRequestsInput +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/mappers.ts b/packages/@azure/arm-compute/lib/models/mappers.ts new file mode 100644 index 000000000000..93ef4e86c588 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/mappers.ts @@ -0,0 +1,7774 @@ +/* + * 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 { CloudErrorMapper, BaseResourceMapper } from "ms-rest-azure-js"; +import * as msRest from "ms-rest-js"; + +export const CloudError = CloudErrorMapper; +export const BaseResource = BaseResourceMapper; + +export const ComputeOperationValue: msRest.CompositeMapper = { + serializedName: "ComputeOperationValue", + type: { + name: "Composite", + className: "ComputeOperationValue", + modelProperties: { + origin: { + readOnly: true, + serializedName: "origin", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + operation: { + readOnly: true, + serializedName: "display.operation", + type: { + name: "String" + } + }, + resource: { + readOnly: true, + serializedName: "display.resource", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "display.description", + type: { + name: "String" + } + }, + provider: { + readOnly: true, + serializedName: "display.provider", + type: { + name: "String" + } + } + } + } +}; + +export const InstanceViewStatus: msRest.CompositeMapper = { + serializedName: "InstanceViewStatus", + type: { + name: "Composite", + className: "InstanceViewStatus", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + level: { + serializedName: "level", + type: { + name: "Enum", + allowedValues: [ + "Info", + "Warning", + "Error" + ] + } + }, + displayStatus: { + serializedName: "displayStatus", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + }, + time: { + serializedName: "time", + type: { + name: "DateTime" + } + } + } + } +}; + +export const SubResource: msRest.CompositeMapper = { + serializedName: "SubResource", + type: { + name: "Composite", + className: "SubResource", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const Sku: msRest.CompositeMapper = { + serializedName: "Sku", + type: { + name: "Composite", + className: "Sku", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + tier: { + serializedName: "tier", + type: { + name: "String" + } + }, + capacity: { + serializedName: "capacity", + type: { + name: "Number" + } + } + } + } +}; + +export const Resource: msRest.CompositeMapper = { + serializedName: "Resource", + type: { + name: "Composite", + className: "Resource", + 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" + } + }, + location: { + required: true, + serializedName: "location", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const AvailabilitySet: msRest.CompositeMapper = { + serializedName: "AvailabilitySet", + type: { + name: "Composite", + className: "AvailabilitySet", + modelProperties: { + ...Resource.type.modelProperties, + platformUpdateDomainCount: { + serializedName: "properties.platformUpdateDomainCount", + type: { + name: "Number" + } + }, + platformFaultDomainCount: { + serializedName: "properties.platformFaultDomainCount", + type: { + name: "Number" + } + }, + virtualMachines: { + serializedName: "properties.virtualMachines", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + statuses: { + readOnly: true, + serializedName: "properties.statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + } + } + } +}; + +export const UpdateResource: msRest.CompositeMapper = { + serializedName: "UpdateResource", + type: { + name: "Composite", + className: "UpdateResource", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const AvailabilitySetUpdate: msRest.CompositeMapper = { + serializedName: "AvailabilitySetUpdate", + type: { + name: "Composite", + className: "AvailabilitySetUpdate", + modelProperties: { + ...UpdateResource.type.modelProperties, + platformUpdateDomainCount: { + serializedName: "properties.platformUpdateDomainCount", + type: { + name: "Number" + } + }, + platformFaultDomainCount: { + serializedName: "properties.platformFaultDomainCount", + type: { + name: "Number" + } + }, + virtualMachines: { + serializedName: "properties.virtualMachines", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + statuses: { + readOnly: true, + serializedName: "properties.statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + } + } + } +}; + +export const VirtualMachineSize: msRest.CompositeMapper = { + serializedName: "VirtualMachineSize", + type: { + name: "Composite", + className: "VirtualMachineSize", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + numberOfCores: { + serializedName: "numberOfCores", + type: { + name: "Number" + } + }, + osDiskSizeInMB: { + serializedName: "osDiskSizeInMB", + type: { + name: "Number" + } + }, + resourceDiskSizeInMB: { + serializedName: "resourceDiskSizeInMB", + type: { + name: "Number" + } + }, + memoryInMB: { + serializedName: "memoryInMB", + type: { + name: "Number" + } + }, + maxDataDiskCount: { + serializedName: "maxDataDiskCount", + type: { + name: "Number" + } + } + } + } +}; + +export const VirtualMachineExtensionImage: msRest.CompositeMapper = { + serializedName: "VirtualMachineExtensionImage", + type: { + name: "Composite", + className: "VirtualMachineExtensionImage", + modelProperties: { + ...Resource.type.modelProperties, + operatingSystem: { + required: true, + serializedName: "properties.operatingSystem", + type: { + name: "String" + } + }, + computeRole: { + required: true, + serializedName: "properties.computeRole", + type: { + name: "String" + } + }, + handlerSchema: { + required: true, + serializedName: "properties.handlerSchema", + type: { + name: "String" + } + }, + vmScaleSetEnabled: { + serializedName: "properties.vmScaleSetEnabled", + type: { + name: "Boolean" + } + }, + supportsMultipleExtensions: { + serializedName: "properties.supportsMultipleExtensions", + type: { + name: "Boolean" + } + } + } + } +}; + +export const VirtualMachineImageResource: msRest.CompositeMapper = { + serializedName: "VirtualMachineImageResource", + type: { + name: "Composite", + className: "VirtualMachineImageResource", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + location: { + required: true, + serializedName: "location", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const VirtualMachineExtensionInstanceView: msRest.CompositeMapper = { + serializedName: "VirtualMachineExtensionInstanceView", + type: { + name: "Composite", + className: "VirtualMachineExtensionInstanceView", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + }, + typeHandlerVersion: { + serializedName: "typeHandlerVersion", + type: { + name: "String" + } + }, + substatuses: { + serializedName: "substatuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + }, + statuses: { + serializedName: "statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } + } + } +}; + +export const VirtualMachineExtension: msRest.CompositeMapper = { + serializedName: "VirtualMachineExtension", + type: { + name: "Composite", + className: "VirtualMachineExtension", + modelProperties: { + ...Resource.type.modelProperties, + forceUpdateTag: { + serializedName: "properties.forceUpdateTag", + type: { + name: "String" + } + }, + publisher: { + serializedName: "properties.publisher", + type: { + name: "String" + } + }, + virtualMachineExtensionType: { + serializedName: "properties.type", + type: { + name: "String" + } + }, + typeHandlerVersion: { + serializedName: "properties.typeHandlerVersion", + type: { + name: "String" + } + }, + autoUpgradeMinorVersion: { + serializedName: "properties.autoUpgradeMinorVersion", + type: { + name: "Boolean" + } + }, + settings: { + serializedName: "properties.settings", + type: { + name: "Object" + } + }, + protectedSettings: { + serializedName: "properties.protectedSettings", + type: { + name: "Object" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + instanceView: { + serializedName: "properties.instanceView", + type: { + name: "Composite", + className: "VirtualMachineExtensionInstanceView" + } + } + } + } +}; + +export const VirtualMachineExtensionUpdate: msRest.CompositeMapper = { + serializedName: "VirtualMachineExtensionUpdate", + type: { + name: "Composite", + className: "VirtualMachineExtensionUpdate", + modelProperties: { + ...UpdateResource.type.modelProperties, + forceUpdateTag: { + serializedName: "properties.forceUpdateTag", + type: { + name: "String" + } + }, + publisher: { + serializedName: "properties.publisher", + type: { + name: "String" + } + }, + type: { + serializedName: "properties.type", + type: { + name: "String" + } + }, + typeHandlerVersion: { + serializedName: "properties.typeHandlerVersion", + type: { + name: "String" + } + }, + autoUpgradeMinorVersion: { + serializedName: "properties.autoUpgradeMinorVersion", + type: { + name: "Boolean" + } + }, + settings: { + serializedName: "properties.settings", + type: { + name: "Object" + } + }, + protectedSettings: { + serializedName: "properties.protectedSettings", + type: { + name: "Object" + } + } + } + } +}; + +export const VirtualMachineExtensionsListResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineExtensionsListResult", + type: { + name: "Composite", + className: "VirtualMachineExtensionsListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineExtension" + } + } + } + } + } + } +}; + +export const PurchasePlan: msRest.CompositeMapper = { + serializedName: "PurchasePlan", + type: { + name: "Composite", + className: "PurchasePlan", + modelProperties: { + publisher: { + required: true, + serializedName: "publisher", + type: { + name: "String" + } + }, + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + product: { + required: true, + serializedName: "product", + type: { + name: "String" + } + } + } + } +}; + +export const OSDiskImage: msRest.CompositeMapper = { + serializedName: "OSDiskImage", + type: { + name: "Composite", + className: "OSDiskImage", + modelProperties: { + operatingSystem: { + required: true, + serializedName: "operatingSystem", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + } + } + } +}; + +export const DataDiskImage: msRest.CompositeMapper = { + serializedName: "DataDiskImage", + type: { + name: "Composite", + className: "DataDiskImage", + modelProperties: { + lun: { + readOnly: true, + serializedName: "lun", + type: { + name: "Number" + } + } + } + } +}; + +export const AutomaticOSUpgradeProperties: msRest.CompositeMapper = { + serializedName: "AutomaticOSUpgradeProperties", + type: { + name: "Composite", + className: "AutomaticOSUpgradeProperties", + modelProperties: { + automaticOSUpgradeSupported: { + required: true, + serializedName: "automaticOSUpgradeSupported", + type: { + name: "Boolean" + } + } + } + } +}; + +export const VirtualMachineImage: msRest.CompositeMapper = { + serializedName: "VirtualMachineImage", + type: { + name: "Composite", + className: "VirtualMachineImage", + modelProperties: { + ...VirtualMachineImageResource.type.modelProperties, + plan: { + serializedName: "properties.plan", + type: { + name: "Composite", + className: "PurchasePlan" + } + }, + osDiskImage: { + serializedName: "properties.osDiskImage", + type: { + name: "Composite", + className: "OSDiskImage" + } + }, + dataDiskImages: { + serializedName: "properties.dataDiskImages", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataDiskImage" + } + } + } + }, + automaticOSUpgradeProperties: { + serializedName: "properties.automaticOSUpgradeProperties", + type: { + name: "Composite", + className: "AutomaticOSUpgradeProperties" + } + } + } + } +}; + +export const UsageName: msRest.CompositeMapper = { + serializedName: "UsageName", + type: { + name: "Composite", + className: "UsageName", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "String" + } + }, + localizedValue: { + serializedName: "localizedValue", + type: { + name: "String" + } + } + } + } +}; + +export const Usage: msRest.CompositeMapper = { + serializedName: "Usage", + type: { + name: "Composite", + className: "Usage", + modelProperties: { + unit: { + required: true, + isConstant: true, + serializedName: "unit", + defaultValue: 'Count', + type: { + name: "String" + } + }, + currentValue: { + required: true, + serializedName: "currentValue", + type: { + name: "Number" + } + }, + limit: { + required: true, + serializedName: "limit", + type: { + name: "Number" + } + }, + name: { + required: true, + serializedName: "name", + type: { + name: "Composite", + className: "UsageName" + } + } + } + } +}; + +export const VirtualMachineCaptureParameters: msRest.CompositeMapper = { + serializedName: "VirtualMachineCaptureParameters", + type: { + name: "Composite", + className: "VirtualMachineCaptureParameters", + modelProperties: { + vhdPrefix: { + required: true, + serializedName: "vhdPrefix", + type: { + name: "String" + } + }, + destinationContainerName: { + required: true, + serializedName: "destinationContainerName", + type: { + name: "String" + } + }, + overwriteVhds: { + required: true, + serializedName: "overwriteVhds", + type: { + name: "Boolean" + } + } + } + } +}; + +export const VirtualMachineCaptureResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineCaptureResult", + type: { + name: "Composite", + className: "VirtualMachineCaptureResult", + modelProperties: { + ...SubResource.type.modelProperties, + schema: { + readOnly: true, + serializedName: "$schema", + type: { + name: "String" + } + }, + contentVersion: { + readOnly: true, + serializedName: "contentVersion", + type: { + name: "String" + } + }, + parameters: { + readOnly: true, + serializedName: "parameters", + type: { + name: "Object" + } + }, + resources: { + readOnly: true, + serializedName: "resources", + type: { + name: "Sequence", + element: { + type: { + name: "Object" + } + } + } + } + } + } +}; + +export const Plan: msRest.CompositeMapper = { + serializedName: "Plan", + type: { + name: "Composite", + className: "Plan", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + publisher: { + serializedName: "publisher", + type: { + name: "String" + } + }, + product: { + serializedName: "product", + type: { + name: "String" + } + }, + promotionCode: { + serializedName: "promotionCode", + type: { + name: "String" + } + } + } + } +}; + +export const HardwareProfile: msRest.CompositeMapper = { + serializedName: "HardwareProfile", + type: { + name: "Composite", + className: "HardwareProfile", + modelProperties: { + vmSize: { + serializedName: "vmSize", + type: { + name: "String" + } + } + } + } +}; + +export const ImageReference: msRest.CompositeMapper = { + serializedName: "ImageReference", + type: { + name: "Composite", + className: "ImageReference", + modelProperties: { + ...SubResource.type.modelProperties, + publisher: { + serializedName: "publisher", + type: { + name: "String" + } + }, + offer: { + serializedName: "offer", + type: { + name: "String" + } + }, + sku: { + serializedName: "sku", + type: { + name: "String" + } + }, + version: { + serializedName: "version", + type: { + name: "String" + } + } + } + } +}; + +export const KeyVaultSecretReference: msRest.CompositeMapper = { + serializedName: "KeyVaultSecretReference", + type: { + name: "Composite", + className: "KeyVaultSecretReference", + modelProperties: { + secretUrl: { + required: true, + serializedName: "secretUrl", + type: { + name: "String" + } + }, + sourceVault: { + required: true, + serializedName: "sourceVault", + type: { + name: "Composite", + className: "SubResource" + } + } + } + } +}; + +export const KeyVaultKeyReference: msRest.CompositeMapper = { + serializedName: "KeyVaultKeyReference", + type: { + name: "Composite", + className: "KeyVaultKeyReference", + modelProperties: { + keyUrl: { + required: true, + serializedName: "keyUrl", + type: { + name: "String" + } + }, + sourceVault: { + required: true, + serializedName: "sourceVault", + type: { + name: "Composite", + className: "SubResource" + } + } + } + } +}; + +export const DiskEncryptionSettings: msRest.CompositeMapper = { + serializedName: "DiskEncryptionSettings", + type: { + name: "Composite", + className: "DiskEncryptionSettings", + modelProperties: { + diskEncryptionKey: { + serializedName: "diskEncryptionKey", + type: { + name: "Composite", + className: "KeyVaultSecretReference" + } + }, + keyEncryptionKey: { + serializedName: "keyEncryptionKey", + type: { + name: "Composite", + className: "KeyVaultKeyReference" + } + }, + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const VirtualHardDisk: msRest.CompositeMapper = { + serializedName: "VirtualHardDisk", + type: { + name: "Composite", + className: "VirtualHardDisk", + modelProperties: { + uri: { + serializedName: "uri", + type: { + name: "String" + } + } + } + } +}; + +export const DiffDiskSettings: msRest.CompositeMapper = { + serializedName: "DiffDiskSettings", + type: { + name: "Composite", + className: "DiffDiskSettings", + modelProperties: { + option: { + serializedName: "option", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedDiskParameters: msRest.CompositeMapper = { + serializedName: "ManagedDiskParameters", + type: { + name: "Composite", + className: "ManagedDiskParameters", + modelProperties: { + ...SubResource.type.modelProperties, + storageAccountType: { + serializedName: "storageAccountType", + type: { + name: "String" + } + } + } + } +}; + +export const OSDisk: msRest.CompositeMapper = { + serializedName: "OSDisk", + type: { + name: "Composite", + className: "OSDisk", + modelProperties: { + osType: { + serializedName: "osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + encryptionSettings: { + serializedName: "encryptionSettings", + type: { + name: "Composite", + className: "DiskEncryptionSettings" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + vhd: { + serializedName: "vhd", + type: { + name: "Composite", + className: "VirtualHardDisk" + } + }, + image: { + serializedName: "image", + type: { + name: "Composite", + className: "VirtualHardDisk" + } + }, + caching: { + serializedName: "caching", + type: { + name: "Enum", + allowedValues: [ + "None", + "ReadOnly", + "ReadWrite" + ] + } + }, + writeAcceleratorEnabled: { + serializedName: "writeAcceleratorEnabled", + type: { + name: "Boolean" + } + }, + diffDiskSettings: { + serializedName: "diffDiskSettings", + type: { + name: "Composite", + className: "DiffDiskSettings" + } + }, + createOption: { + required: true, + serializedName: "createOption", + type: { + name: "String" + } + }, + diskSizeGB: { + serializedName: "diskSizeGB", + type: { + name: "Number" + } + }, + managedDisk: { + serializedName: "managedDisk", + type: { + name: "Composite", + className: "ManagedDiskParameters" + } + } + } + } +}; + +export const DataDisk: msRest.CompositeMapper = { + serializedName: "DataDisk", + type: { + name: "Composite", + className: "DataDisk", + modelProperties: { + lun: { + required: true, + serializedName: "lun", + type: { + name: "Number" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + vhd: { + serializedName: "vhd", + type: { + name: "Composite", + className: "VirtualHardDisk" + } + }, + image: { + serializedName: "image", + type: { + name: "Composite", + className: "VirtualHardDisk" + } + }, + caching: { + serializedName: "caching", + type: { + name: "Enum", + allowedValues: [ + "None", + "ReadOnly", + "ReadWrite" + ] + } + }, + writeAcceleratorEnabled: { + serializedName: "writeAcceleratorEnabled", + type: { + name: "Boolean" + } + }, + createOption: { + required: true, + serializedName: "createOption", + type: { + name: "String" + } + }, + diskSizeGB: { + serializedName: "diskSizeGB", + type: { + name: "Number" + } + }, + managedDisk: { + serializedName: "managedDisk", + type: { + name: "Composite", + className: "ManagedDiskParameters" + } + } + } + } +}; + +export const StorageProfile: msRest.CompositeMapper = { + serializedName: "StorageProfile", + type: { + name: "Composite", + className: "StorageProfile", + modelProperties: { + imageReference: { + serializedName: "imageReference", + type: { + name: "Composite", + className: "ImageReference" + } + }, + osDisk: { + serializedName: "osDisk", + type: { + name: "Composite", + className: "OSDisk" + } + }, + dataDisks: { + serializedName: "dataDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataDisk" + } + } + } + } + } + } +}; + +export const AdditionalCapabilities: msRest.CompositeMapper = { + serializedName: "AdditionalCapabilities", + type: { + name: "Composite", + className: "AdditionalCapabilities", + modelProperties: { + ultraSSDEnabled: { + serializedName: "ultraSSDEnabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const AdditionalUnattendContent: msRest.CompositeMapper = { + serializedName: "AdditionalUnattendContent", + type: { + name: "Composite", + className: "AdditionalUnattendContent", + modelProperties: { + passName: { + serializedName: "passName", + type: { + name: "Enum", + allowedValues: [ + "OobeSystem" + ] + } + }, + componentName: { + serializedName: "componentName", + type: { + name: "Enum", + allowedValues: [ + "Microsoft-Windows-Shell-Setup" + ] + } + }, + settingName: { + serializedName: "settingName", + type: { + name: "Enum", + allowedValues: [ + "AutoLogon", + "FirstLogonCommands" + ] + } + }, + content: { + serializedName: "content", + type: { + name: "String" + } + } + } + } +}; + +export const WinRMListener: msRest.CompositeMapper = { + serializedName: "WinRMListener", + type: { + name: "Composite", + className: "WinRMListener", + modelProperties: { + protocol: { + serializedName: "protocol", + type: { + name: "Enum", + allowedValues: [ + "Http", + "Https" + ] + } + }, + certificateUrl: { + serializedName: "certificateUrl", + type: { + name: "String" + } + } + } + } +}; + +export const WinRMConfiguration: msRest.CompositeMapper = { + serializedName: "WinRMConfiguration", + type: { + name: "Composite", + className: "WinRMConfiguration", + modelProperties: { + listeners: { + serializedName: "listeners", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "WinRMListener" + } + } + } + } + } + } +}; + +export const WindowsConfiguration: msRest.CompositeMapper = { + serializedName: "WindowsConfiguration", + type: { + name: "Composite", + className: "WindowsConfiguration", + modelProperties: { + provisionVMAgent: { + serializedName: "provisionVMAgent", + type: { + name: "Boolean" + } + }, + enableAutomaticUpdates: { + serializedName: "enableAutomaticUpdates", + type: { + name: "Boolean" + } + }, + timeZone: { + serializedName: "timeZone", + type: { + name: "String" + } + }, + additionalUnattendContent: { + serializedName: "additionalUnattendContent", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AdditionalUnattendContent" + } + } + } + }, + winRM: { + serializedName: "winRM", + type: { + name: "Composite", + className: "WinRMConfiguration" + } + } + } + } +}; + +export const SshPublicKey: msRest.CompositeMapper = { + serializedName: "SshPublicKey", + type: { + name: "Composite", + className: "SshPublicKey", + modelProperties: { + path: { + serializedName: "path", + type: { + name: "String" + } + }, + keyData: { + serializedName: "keyData", + type: { + name: "String" + } + } + } + } +}; + +export const SshConfiguration: msRest.CompositeMapper = { + serializedName: "SshConfiguration", + type: { + name: "Composite", + className: "SshConfiguration", + modelProperties: { + publicKeys: { + serializedName: "publicKeys", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SshPublicKey" + } + } + } + } + } + } +}; + +export const LinuxConfiguration: msRest.CompositeMapper = { + serializedName: "LinuxConfiguration", + type: { + name: "Composite", + className: "LinuxConfiguration", + modelProperties: { + disablePasswordAuthentication: { + serializedName: "disablePasswordAuthentication", + type: { + name: "Boolean" + } + }, + ssh: { + serializedName: "ssh", + type: { + name: "Composite", + className: "SshConfiguration" + } + }, + provisionVMAgent: { + serializedName: "provisionVMAgent", + type: { + name: "Boolean" + } + } + } + } +}; + +export const VaultCertificate: msRest.CompositeMapper = { + serializedName: "VaultCertificate", + type: { + name: "Composite", + className: "VaultCertificate", + modelProperties: { + certificateUrl: { + serializedName: "certificateUrl", + type: { + name: "String" + } + }, + certificateStore: { + serializedName: "certificateStore", + type: { + name: "String" + } + } + } + } +}; + +export const VaultSecretGroup: msRest.CompositeMapper = { + serializedName: "VaultSecretGroup", + type: { + name: "Composite", + className: "VaultSecretGroup", + modelProperties: { + sourceVault: { + serializedName: "sourceVault", + type: { + name: "Composite", + className: "SubResource" + } + }, + vaultCertificates: { + serializedName: "vaultCertificates", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VaultCertificate" + } + } + } + } + } + } +}; + +export const OSProfile: msRest.CompositeMapper = { + serializedName: "OSProfile", + type: { + name: "Composite", + className: "OSProfile", + modelProperties: { + computerName: { + serializedName: "computerName", + type: { + name: "String" + } + }, + adminUsername: { + serializedName: "adminUsername", + type: { + name: "String" + } + }, + adminPassword: { + serializedName: "adminPassword", + type: { + name: "String" + } + }, + customData: { + serializedName: "customData", + type: { + name: "String" + } + }, + windowsConfiguration: { + serializedName: "windowsConfiguration", + type: { + name: "Composite", + className: "WindowsConfiguration" + } + }, + linuxConfiguration: { + serializedName: "linuxConfiguration", + type: { + name: "Composite", + className: "LinuxConfiguration" + } + }, + secrets: { + serializedName: "secrets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VaultSecretGroup" + } + } + } + }, + allowExtensionOperations: { + serializedName: "allowExtensionOperations", + type: { + name: "Boolean" + } + } + } + } +}; + +export const NetworkInterfaceReference: msRest.CompositeMapper = { + serializedName: "NetworkInterfaceReference", + type: { + name: "Composite", + className: "NetworkInterfaceReference", + modelProperties: { + ...SubResource.type.modelProperties, + primary: { + serializedName: "properties.primary", + type: { + name: "Boolean" + } + } + } + } +}; + +export const NetworkProfile: msRest.CompositeMapper = { + serializedName: "NetworkProfile", + type: { + name: "Composite", + className: "NetworkProfile", + modelProperties: { + networkInterfaces: { + serializedName: "networkInterfaces", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkInterfaceReference" + } + } + } + } + } + } +}; + +export const BootDiagnostics: msRest.CompositeMapper = { + serializedName: "BootDiagnostics", + type: { + name: "Composite", + className: "BootDiagnostics", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + storageUri: { + serializedName: "storageUri", + type: { + name: "String" + } + } + } + } +}; + +export const DiagnosticsProfile: msRest.CompositeMapper = { + serializedName: "DiagnosticsProfile", + type: { + name: "Composite", + className: "DiagnosticsProfile", + modelProperties: { + bootDiagnostics: { + serializedName: "bootDiagnostics", + type: { + name: "Composite", + className: "BootDiagnostics" + } + } + } + } +}; + +export const VirtualMachineExtensionHandlerInstanceView: msRest.CompositeMapper = { + serializedName: "VirtualMachineExtensionHandlerInstanceView", + type: { + name: "Composite", + className: "VirtualMachineExtensionHandlerInstanceView", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + typeHandlerVersion: { + serializedName: "typeHandlerVersion", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } +}; + +export const VirtualMachineAgentInstanceView: msRest.CompositeMapper = { + serializedName: "VirtualMachineAgentInstanceView", + type: { + name: "Composite", + className: "VirtualMachineAgentInstanceView", + modelProperties: { + vmAgentVersion: { + serializedName: "vmAgentVersion", + type: { + name: "String" + } + }, + extensionHandlers: { + serializedName: "extensionHandlers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineExtensionHandlerInstanceView" + } + } + } + }, + statuses: { + serializedName: "statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } + } + } +}; + +export const DiskInstanceView: msRest.CompositeMapper = { + serializedName: "DiskInstanceView", + type: { + name: "Composite", + className: "DiskInstanceView", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + encryptionSettings: { + serializedName: "encryptionSettings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskEncryptionSettings" + } + } + } + }, + statuses: { + serializedName: "statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } + } + } +}; + +export const BootDiagnosticsInstanceView: msRest.CompositeMapper = { + serializedName: "BootDiagnosticsInstanceView", + type: { + name: "Composite", + className: "BootDiagnosticsInstanceView", + modelProperties: { + consoleScreenshotBlobUri: { + readOnly: true, + serializedName: "consoleScreenshotBlobUri", + type: { + name: "String" + } + }, + serialConsoleLogBlobUri: { + readOnly: true, + serializedName: "serialConsoleLogBlobUri", + type: { + name: "String" + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } +}; + +export const VirtualMachineIdentityUserAssignedIdentitiesValue: msRest.CompositeMapper = { + serializedName: "VirtualMachineIdentity_userAssignedIdentitiesValue", + type: { + name: "Composite", + className: "VirtualMachineIdentityUserAssignedIdentitiesValue", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + clientId: { + readOnly: true, + serializedName: "clientId", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineIdentity: msRest.CompositeMapper = { + serializedName: "VirtualMachineIdentity", + type: { + name: "Composite", + className: "VirtualMachineIdentity", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + tenantId: { + readOnly: true, + serializedName: "tenantId", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "Enum", + allowedValues: [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + } + }, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "VirtualMachineIdentityUserAssignedIdentitiesValue" + } + } + } + } + } + } +}; + +export const MaintenanceRedeployStatus: msRest.CompositeMapper = { + serializedName: "MaintenanceRedeployStatus", + type: { + name: "Composite", + className: "MaintenanceRedeployStatus", + modelProperties: { + isCustomerInitiatedMaintenanceAllowed: { + serializedName: "isCustomerInitiatedMaintenanceAllowed", + type: { + name: "Boolean" + } + }, + preMaintenanceWindowStartTime: { + serializedName: "preMaintenanceWindowStartTime", + type: { + name: "DateTime" + } + }, + preMaintenanceWindowEndTime: { + serializedName: "preMaintenanceWindowEndTime", + type: { + name: "DateTime" + } + }, + maintenanceWindowStartTime: { + serializedName: "maintenanceWindowStartTime", + type: { + name: "DateTime" + } + }, + maintenanceWindowEndTime: { + serializedName: "maintenanceWindowEndTime", + type: { + name: "DateTime" + } + }, + lastOperationResultCode: { + serializedName: "lastOperationResultCode", + type: { + name: "Enum", + allowedValues: [ + "None", + "RetryLater", + "MaintenanceAborted", + "MaintenanceCompleted" + ] + } + }, + lastOperationMessage: { + serializedName: "lastOperationMessage", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineInstanceView: msRest.CompositeMapper = { + serializedName: "VirtualMachineInstanceView", + type: { + name: "Composite", + className: "VirtualMachineInstanceView", + modelProperties: { + platformUpdateDomain: { + serializedName: "platformUpdateDomain", + type: { + name: "Number" + } + }, + platformFaultDomain: { + serializedName: "platformFaultDomain", + type: { + name: "Number" + } + }, + computerName: { + serializedName: "computerName", + type: { + name: "String" + } + }, + osName: { + serializedName: "osName", + type: { + name: "String" + } + }, + osVersion: { + serializedName: "osVersion", + type: { + name: "String" + } + }, + rdpThumbPrint: { + serializedName: "rdpThumbPrint", + type: { + name: "String" + } + }, + vmAgent: { + serializedName: "vmAgent", + type: { + name: "Composite", + className: "VirtualMachineAgentInstanceView" + } + }, + maintenanceRedeployStatus: { + serializedName: "maintenanceRedeployStatus", + type: { + name: "Composite", + className: "MaintenanceRedeployStatus" + } + }, + disks: { + serializedName: "disks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskInstanceView" + } + } + } + }, + extensions: { + serializedName: "extensions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineExtensionInstanceView" + } + } + } + }, + bootDiagnostics: { + serializedName: "bootDiagnostics", + type: { + name: "Composite", + className: "BootDiagnosticsInstanceView" + } + }, + statuses: { + serializedName: "statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } + } + } +}; + +export const VirtualMachine: msRest.CompositeMapper = { + serializedName: "VirtualMachine", + type: { + name: "Composite", + className: "VirtualMachine", + modelProperties: { + ...Resource.type.modelProperties, + plan: { + serializedName: "plan", + type: { + name: "Composite", + className: "Plan" + } + }, + hardwareProfile: { + serializedName: "properties.hardwareProfile", + type: { + name: "Composite", + className: "HardwareProfile" + } + }, + storageProfile: { + serializedName: "properties.storageProfile", + type: { + name: "Composite", + className: "StorageProfile" + } + }, + additionalCapabilities: { + serializedName: "properties.additionalCapabilities", + type: { + name: "Composite", + className: "AdditionalCapabilities" + } + }, + osProfile: { + serializedName: "properties.osProfile", + type: { + name: "Composite", + className: "OSProfile" + } + }, + networkProfile: { + serializedName: "properties.networkProfile", + type: { + name: "Composite", + className: "NetworkProfile" + } + }, + diagnosticsProfile: { + serializedName: "properties.diagnosticsProfile", + type: { + name: "Composite", + className: "DiagnosticsProfile" + } + }, + availabilitySet: { + serializedName: "properties.availabilitySet", + type: { + name: "Composite", + className: "SubResource" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + instanceView: { + readOnly: true, + serializedName: "properties.instanceView", + type: { + name: "Composite", + className: "VirtualMachineInstanceView" + } + }, + licenseType: { + serializedName: "properties.licenseType", + type: { + name: "String" + } + }, + vmId: { + readOnly: true, + serializedName: "properties.vmId", + type: { + name: "String" + } + }, + resources: { + readOnly: true, + serializedName: "resources", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineExtension" + } + } + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "VirtualMachineIdentity" + } + }, + zones: { + serializedName: "zones", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const VirtualMachineUpdate: msRest.CompositeMapper = { + serializedName: "VirtualMachineUpdate", + type: { + name: "Composite", + className: "VirtualMachineUpdate", + modelProperties: { + ...UpdateResource.type.modelProperties, + plan: { + serializedName: "plan", + type: { + name: "Composite", + className: "Plan" + } + }, + hardwareProfile: { + serializedName: "properties.hardwareProfile", + type: { + name: "Composite", + className: "HardwareProfile" + } + }, + storageProfile: { + serializedName: "properties.storageProfile", + type: { + name: "Composite", + className: "StorageProfile" + } + }, + additionalCapabilities: { + serializedName: "properties.additionalCapabilities", + type: { + name: "Composite", + className: "AdditionalCapabilities" + } + }, + osProfile: { + serializedName: "properties.osProfile", + type: { + name: "Composite", + className: "OSProfile" + } + }, + networkProfile: { + serializedName: "properties.networkProfile", + type: { + name: "Composite", + className: "NetworkProfile" + } + }, + diagnosticsProfile: { + serializedName: "properties.diagnosticsProfile", + type: { + name: "Composite", + className: "DiagnosticsProfile" + } + }, + availabilitySet: { + serializedName: "properties.availabilitySet", + type: { + name: "Composite", + className: "SubResource" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + instanceView: { + readOnly: true, + serializedName: "properties.instanceView", + type: { + name: "Composite", + className: "VirtualMachineInstanceView" + } + }, + licenseType: { + serializedName: "properties.licenseType", + type: { + name: "String" + } + }, + vmId: { + readOnly: true, + serializedName: "properties.vmId", + type: { + name: "String" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "VirtualMachineIdentity" + } + }, + zones: { + serializedName: "zones", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const AutomaticOSUpgradePolicy: msRest.CompositeMapper = { + serializedName: "AutomaticOSUpgradePolicy", + type: { + name: "Composite", + className: "AutomaticOSUpgradePolicy", + modelProperties: { + enableAutomaticOSUpgrade: { + serializedName: "enableAutomaticOSUpgrade", + type: { + name: "Boolean" + } + }, + disableAutomaticRollback: { + serializedName: "disableAutomaticRollback", + type: { + name: "Boolean" + } + } + } + } +}; + +export const RollingUpgradePolicy: msRest.CompositeMapper = { + serializedName: "RollingUpgradePolicy", + type: { + name: "Composite", + className: "RollingUpgradePolicy", + modelProperties: { + maxBatchInstancePercent: { + serializedName: "maxBatchInstancePercent", + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 5 + }, + type: { + name: "Number" + } + }, + maxUnhealthyInstancePercent: { + serializedName: "maxUnhealthyInstancePercent", + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 5 + }, + type: { + name: "Number" + } + }, + maxUnhealthyUpgradedInstancePercent: { + serializedName: "maxUnhealthyUpgradedInstancePercent", + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + type: { + name: "Number" + } + }, + pauseTimeBetweenBatches: { + serializedName: "pauseTimeBetweenBatches", + type: { + name: "String" + } + } + } + } +}; + +export const UpgradePolicy: msRest.CompositeMapper = { + serializedName: "UpgradePolicy", + type: { + name: "Composite", + className: "UpgradePolicy", + modelProperties: { + mode: { + serializedName: "mode", + type: { + name: "Enum", + allowedValues: [ + "Automatic", + "Manual", + "Rolling" + ] + } + }, + rollingUpgradePolicy: { + serializedName: "rollingUpgradePolicy", + type: { + name: "Composite", + className: "RollingUpgradePolicy" + } + }, + automaticOSUpgradePolicy: { + serializedName: "automaticOSUpgradePolicy", + type: { + name: "Composite", + className: "AutomaticOSUpgradePolicy" + } + } + } + } +}; + +export const ImageOSDisk: msRest.CompositeMapper = { + serializedName: "ImageOSDisk", + type: { + name: "Composite", + className: "ImageOSDisk", + modelProperties: { + osType: { + required: true, + serializedName: "osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + osState: { + required: true, + serializedName: "osState", + type: { + name: "Enum", + allowedValues: [ + "Generalized", + "Specialized" + ] + } + }, + snapshot: { + serializedName: "snapshot", + type: { + name: "Composite", + className: "SubResource" + } + }, + managedDisk: { + serializedName: "managedDisk", + type: { + name: "Composite", + className: "SubResource" + } + }, + blobUri: { + serializedName: "blobUri", + type: { + name: "String" + } + }, + caching: { + serializedName: "caching", + type: { + name: "Enum", + allowedValues: [ + "None", + "ReadOnly", + "ReadWrite" + ] + } + }, + diskSizeGB: { + serializedName: "diskSizeGB", + type: { + name: "Number" + } + }, + storageAccountType: { + serializedName: "storageAccountType", + type: { + name: "String" + } + } + } + } +}; + +export const ImageDataDisk: msRest.CompositeMapper = { + serializedName: "ImageDataDisk", + type: { + name: "Composite", + className: "ImageDataDisk", + modelProperties: { + lun: { + required: true, + serializedName: "lun", + type: { + name: "Number" + } + }, + snapshot: { + serializedName: "snapshot", + type: { + name: "Composite", + className: "SubResource" + } + }, + managedDisk: { + serializedName: "managedDisk", + type: { + name: "Composite", + className: "SubResource" + } + }, + blobUri: { + serializedName: "blobUri", + type: { + name: "String" + } + }, + caching: { + serializedName: "caching", + type: { + name: "Enum", + allowedValues: [ + "None", + "ReadOnly", + "ReadWrite" + ] + } + }, + diskSizeGB: { + serializedName: "diskSizeGB", + type: { + name: "Number" + } + }, + storageAccountType: { + serializedName: "storageAccountType", + type: { + name: "String" + } + } + } + } +}; + +export const ImageStorageProfile: msRest.CompositeMapper = { + serializedName: "ImageStorageProfile", + type: { + name: "Composite", + className: "ImageStorageProfile", + modelProperties: { + osDisk: { + serializedName: "osDisk", + type: { + name: "Composite", + className: "ImageOSDisk" + } + }, + dataDisks: { + serializedName: "dataDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ImageDataDisk" + } + } + } + }, + zoneResilient: { + serializedName: "zoneResilient", + type: { + name: "Boolean" + } + } + } + } +}; + +export const Image: msRest.CompositeMapper = { + serializedName: "Image", + type: { + name: "Composite", + className: "Image", + modelProperties: { + ...Resource.type.modelProperties, + sourceVirtualMachine: { + serializedName: "properties.sourceVirtualMachine", + type: { + name: "Composite", + className: "SubResource" + } + }, + storageProfile: { + serializedName: "properties.storageProfile", + type: { + name: "Composite", + className: "ImageStorageProfile" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const ImageUpdate: msRest.CompositeMapper = { + serializedName: "ImageUpdate", + type: { + name: "Composite", + className: "ImageUpdate", + modelProperties: { + ...UpdateResource.type.modelProperties, + sourceVirtualMachine: { + serializedName: "properties.sourceVirtualMachine", + type: { + name: "Composite", + className: "SubResource" + } + }, + storageProfile: { + serializedName: "properties.storageProfile", + type: { + name: "Composite", + className: "ImageStorageProfile" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetIdentity_userAssignedIdentitiesValue", + type: { + name: "Composite", + className: "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + clientId: { + readOnly: true, + serializedName: "clientId", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetIdentity: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetIdentity", + type: { + name: "Composite", + className: "VirtualMachineScaleSetIdentity", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + tenantId: { + readOnly: true, + serializedName: "tenantId", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "Enum", + allowedValues: [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + } + }, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetOSProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetOSProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetOSProfile", + modelProperties: { + computerNamePrefix: { + serializedName: "computerNamePrefix", + type: { + name: "String" + } + }, + adminUsername: { + serializedName: "adminUsername", + type: { + name: "String" + } + }, + adminPassword: { + serializedName: "adminPassword", + type: { + name: "String" + } + }, + customData: { + serializedName: "customData", + type: { + name: "String" + } + }, + windowsConfiguration: { + serializedName: "windowsConfiguration", + type: { + name: "Composite", + className: "WindowsConfiguration" + } + }, + linuxConfiguration: { + serializedName: "linuxConfiguration", + type: { + name: "Composite", + className: "LinuxConfiguration" + } + }, + secrets: { + serializedName: "secrets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VaultSecretGroup" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdateOSProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdateOSProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateOSProfile", + modelProperties: { + customData: { + serializedName: "customData", + type: { + name: "String" + } + }, + windowsConfiguration: { + serializedName: "windowsConfiguration", + type: { + name: "Composite", + className: "WindowsConfiguration" + } + }, + linuxConfiguration: { + serializedName: "linuxConfiguration", + type: { + name: "Composite", + className: "LinuxConfiguration" + } + }, + secrets: { + serializedName: "secrets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VaultSecretGroup" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetManagedDiskParameters: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetManagedDiskParameters", + type: { + name: "Composite", + className: "VirtualMachineScaleSetManagedDiskParameters", + modelProperties: { + storageAccountType: { + serializedName: "storageAccountType", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetOSDisk: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetOSDisk", + type: { + name: "Composite", + className: "VirtualMachineScaleSetOSDisk", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + caching: { + serializedName: "caching", + type: { + name: "Enum", + allowedValues: [ + "None", + "ReadOnly", + "ReadWrite" + ] + } + }, + writeAcceleratorEnabled: { + serializedName: "writeAcceleratorEnabled", + type: { + name: "Boolean" + } + }, + createOption: { + required: true, + serializedName: "createOption", + type: { + name: "String" + } + }, + diffDiskSettings: { + serializedName: "diffDiskSettings", + type: { + name: "Composite", + className: "DiffDiskSettings" + } + }, + diskSizeGB: { + serializedName: "diskSizeGB", + type: { + name: "Number" + } + }, + osType: { + serializedName: "osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + image: { + serializedName: "image", + type: { + name: "Composite", + className: "VirtualHardDisk" + } + }, + vhdContainers: { + serializedName: "vhdContainers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + managedDisk: { + serializedName: "managedDisk", + type: { + name: "Composite", + className: "VirtualMachineScaleSetManagedDiskParameters" + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdateOSDisk: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdateOSDisk", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateOSDisk", + modelProperties: { + caching: { + serializedName: "caching", + type: { + name: "Enum", + allowedValues: [ + "None", + "ReadOnly", + "ReadWrite" + ] + } + }, + writeAcceleratorEnabled: { + serializedName: "writeAcceleratorEnabled", + type: { + name: "Boolean" + } + }, + diskSizeGB: { + serializedName: "diskSizeGB", + type: { + name: "Number" + } + }, + image: { + serializedName: "image", + type: { + name: "Composite", + className: "VirtualHardDisk" + } + }, + vhdContainers: { + serializedName: "vhdContainers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + managedDisk: { + serializedName: "managedDisk", + type: { + name: "Composite", + className: "VirtualMachineScaleSetManagedDiskParameters" + } + } + } + } +}; + +export const VirtualMachineScaleSetDataDisk: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetDataDisk", + type: { + name: "Composite", + className: "VirtualMachineScaleSetDataDisk", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + lun: { + required: true, + serializedName: "lun", + type: { + name: "Number" + } + }, + caching: { + serializedName: "caching", + type: { + name: "Enum", + allowedValues: [ + "None", + "ReadOnly", + "ReadWrite" + ] + } + }, + writeAcceleratorEnabled: { + serializedName: "writeAcceleratorEnabled", + type: { + name: "Boolean" + } + }, + createOption: { + required: true, + serializedName: "createOption", + type: { + name: "String" + } + }, + diskSizeGB: { + serializedName: "diskSizeGB", + type: { + name: "Number" + } + }, + managedDisk: { + serializedName: "managedDisk", + type: { + name: "Composite", + className: "VirtualMachineScaleSetManagedDiskParameters" + } + } + } + } +}; + +export const VirtualMachineScaleSetStorageProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetStorageProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetStorageProfile", + modelProperties: { + imageReference: { + serializedName: "imageReference", + type: { + name: "Composite", + className: "ImageReference" + } + }, + osDisk: { + serializedName: "osDisk", + type: { + name: "Composite", + className: "VirtualMachineScaleSetOSDisk" + } + }, + dataDisks: { + serializedName: "dataDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetDataDisk" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdateStorageProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdateStorageProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateStorageProfile", + modelProperties: { + imageReference: { + serializedName: "imageReference", + type: { + name: "Composite", + className: "ImageReference" + } + }, + osDisk: { + serializedName: "osDisk", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateOSDisk" + } + }, + dataDisks: { + serializedName: "dataDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetDataDisk" + } + } + } + } + } + } +}; + +export const ApiEntityReference: msRest.CompositeMapper = { + serializedName: "ApiEntityReference", + type: { + name: "Composite", + className: "ApiEntityReference", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings", + type: { + name: "Composite", + className: "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings", + modelProperties: { + domainNameLabel: { + required: true, + serializedName: "domainNameLabel", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetIpTag: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetIpTag", + type: { + name: "Composite", + className: "VirtualMachineScaleSetIpTag", + modelProperties: { + ipTagType: { + serializedName: "ipTagType", + type: { + name: "String" + } + }, + tag: { + serializedName: "tag", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetPublicIPAddressConfiguration: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetPublicIPAddressConfiguration", + type: { + name: "Composite", + className: "VirtualMachineScaleSetPublicIPAddressConfiguration", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + idleTimeoutInMinutes: { + serializedName: "properties.idleTimeoutInMinutes", + type: { + name: "Number" + } + }, + dnsSettings: { + serializedName: "properties.dnsSettings", + type: { + name: "Composite", + className: "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + } + }, + ipTags: { + serializedName: "properties.ipTags", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetIpTag" + } + } + } + }, + publicIPPrefix: { + serializedName: "properties.publicIPPrefix", + type: { + name: "Composite", + className: "SubResource" + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdatePublicIPAddressConfiguration: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdatePublicIPAddressConfiguration", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdatePublicIPAddressConfiguration", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + idleTimeoutInMinutes: { + serializedName: "properties.idleTimeoutInMinutes", + type: { + name: "Number" + } + }, + dnsSettings: { + serializedName: "properties.dnsSettings", + type: { + name: "Composite", + className: "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + } + } + } + } +}; + +export const VirtualMachineScaleSetIPConfiguration: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetIPConfiguration", + type: { + name: "Composite", + className: "VirtualMachineScaleSetIPConfiguration", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + subnet: { + serializedName: "properties.subnet", + type: { + name: "Composite", + className: "ApiEntityReference" + } + }, + primary: { + serializedName: "properties.primary", + type: { + name: "Boolean" + } + }, + publicIPAddressConfiguration: { + serializedName: "properties.publicIPAddressConfiguration", + type: { + name: "Composite", + className: "VirtualMachineScaleSetPublicIPAddressConfiguration" + } + }, + privateIPAddressVersion: { + serializedName: "properties.privateIPAddressVersion", + type: { + name: "String" + } + }, + applicationGatewayBackendAddressPools: { + serializedName: "properties.applicationGatewayBackendAddressPools", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + applicationSecurityGroups: { + serializedName: "properties.applicationSecurityGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + loadBalancerBackendAddressPools: { + serializedName: "properties.loadBalancerBackendAddressPools", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + loadBalancerInboundNatPools: { + serializedName: "properties.loadBalancerInboundNatPools", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdateIPConfiguration: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdateIPConfiguration", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateIPConfiguration", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + subnet: { + serializedName: "properties.subnet", + type: { + name: "Composite", + className: "ApiEntityReference" + } + }, + primary: { + serializedName: "properties.primary", + type: { + name: "Boolean" + } + }, + publicIPAddressConfiguration: { + serializedName: "properties.publicIPAddressConfiguration", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdatePublicIPAddressConfiguration" + } + }, + privateIPAddressVersion: { + serializedName: "properties.privateIPAddressVersion", + type: { + name: "String" + } + }, + applicationGatewayBackendAddressPools: { + serializedName: "properties.applicationGatewayBackendAddressPools", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + applicationSecurityGroups: { + serializedName: "properties.applicationSecurityGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + loadBalancerBackendAddressPools: { + serializedName: "properties.loadBalancerBackendAddressPools", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + loadBalancerInboundNatPools: { + serializedName: "properties.loadBalancerInboundNatPools", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetNetworkConfigurationDnsSettings: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetNetworkConfigurationDnsSettings", + type: { + name: "Composite", + className: "VirtualMachineScaleSetNetworkConfigurationDnsSettings", + modelProperties: { + dnsServers: { + serializedName: "dnsServers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetNetworkConfiguration: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetNetworkConfiguration", + type: { + name: "Composite", + className: "VirtualMachineScaleSetNetworkConfiguration", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + primary: { + serializedName: "properties.primary", + type: { + name: "Boolean" + } + }, + enableAcceleratedNetworking: { + serializedName: "properties.enableAcceleratedNetworking", + type: { + name: "Boolean" + } + }, + networkSecurityGroup: { + serializedName: "properties.networkSecurityGroup", + type: { + name: "Composite", + className: "SubResource" + } + }, + dnsSettings: { + serializedName: "properties.dnsSettings", + type: { + name: "Composite", + className: "VirtualMachineScaleSetNetworkConfigurationDnsSettings" + } + }, + ipConfigurations: { + required: true, + serializedName: "properties.ipConfigurations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetIPConfiguration" + } + } + } + }, + enableIPForwarding: { + serializedName: "properties.enableIPForwarding", + type: { + name: "Boolean" + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdateNetworkConfiguration: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdateNetworkConfiguration", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateNetworkConfiguration", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + primary: { + serializedName: "properties.primary", + type: { + name: "Boolean" + } + }, + enableAcceleratedNetworking: { + serializedName: "properties.enableAcceleratedNetworking", + type: { + name: "Boolean" + } + }, + networkSecurityGroup: { + serializedName: "properties.networkSecurityGroup", + type: { + name: "Composite", + className: "SubResource" + } + }, + dnsSettings: { + serializedName: "properties.dnsSettings", + type: { + name: "Composite", + className: "VirtualMachineScaleSetNetworkConfigurationDnsSettings" + } + }, + ipConfigurations: { + serializedName: "properties.ipConfigurations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateIPConfiguration" + } + } + } + }, + enableIPForwarding: { + serializedName: "properties.enableIPForwarding", + type: { + name: "Boolean" + } + } + } + } +}; + +export const VirtualMachineScaleSetNetworkProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetNetworkProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetNetworkProfile", + modelProperties: { + healthProbe: { + serializedName: "healthProbe", + type: { + name: "Composite", + className: "ApiEntityReference" + } + }, + networkInterfaceConfigurations: { + serializedName: "networkInterfaceConfigurations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetNetworkConfiguration" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdateNetworkProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdateNetworkProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateNetworkProfile", + modelProperties: { + networkInterfaceConfigurations: { + serializedName: "networkInterfaceConfigurations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateNetworkConfiguration" + } + } + } + } + } + } +}; + +export const SubResourceReadOnly: msRest.CompositeMapper = { + serializedName: "SubResourceReadOnly", + type: { + name: "Composite", + className: "SubResourceReadOnly", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetExtension: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetExtension", + type: { + name: "Composite", + className: "VirtualMachineScaleSetExtension", + modelProperties: { + ...SubResourceReadOnly.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + forceUpdateTag: { + serializedName: "properties.forceUpdateTag", + type: { + name: "String" + } + }, + publisher: { + serializedName: "properties.publisher", + type: { + name: "String" + } + }, + type: { + serializedName: "properties.type", + type: { + name: "String" + } + }, + typeHandlerVersion: { + serializedName: "properties.typeHandlerVersion", + type: { + name: "String" + } + }, + autoUpgradeMinorVersion: { + serializedName: "properties.autoUpgradeMinorVersion", + type: { + name: "Boolean" + } + }, + settings: { + serializedName: "properties.settings", + type: { + name: "Object" + } + }, + protectedSettings: { + serializedName: "properties.protectedSettings", + type: { + name: "Object" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetExtensionProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetExtensionProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetExtensionProfile", + modelProperties: { + extensions: { + serializedName: "extensions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetExtension" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetVMProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetVMProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMProfile", + modelProperties: { + osProfile: { + serializedName: "osProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetOSProfile" + } + }, + storageProfile: { + serializedName: "storageProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetStorageProfile" + } + }, + additionalCapabilities: { + serializedName: "additionalCapabilities", + type: { + name: "Composite", + className: "AdditionalCapabilities" + } + }, + networkProfile: { + serializedName: "networkProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetNetworkProfile" + } + }, + diagnosticsProfile: { + serializedName: "diagnosticsProfile", + type: { + name: "Composite", + className: "DiagnosticsProfile" + } + }, + extensionProfile: { + serializedName: "extensionProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetExtensionProfile" + } + }, + licenseType: { + serializedName: "licenseType", + type: { + name: "String" + } + }, + priority: { + serializedName: "priority", + type: { + name: "String" + } + }, + evictionPolicy: { + serializedName: "evictionPolicy", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdateVMProfile: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdateVMProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateVMProfile", + modelProperties: { + osProfile: { + serializedName: "osProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateOSProfile" + } + }, + storageProfile: { + serializedName: "storageProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateStorageProfile" + } + }, + networkProfile: { + serializedName: "networkProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateNetworkProfile" + } + }, + diagnosticsProfile: { + serializedName: "diagnosticsProfile", + type: { + name: "Composite", + className: "DiagnosticsProfile" + } + }, + extensionProfile: { + serializedName: "extensionProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetExtensionProfile" + } + }, + licenseType: { + serializedName: "licenseType", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSet: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSet", + type: { + name: "Composite", + className: "VirtualMachineScaleSet", + modelProperties: { + ...Resource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + plan: { + serializedName: "plan", + type: { + name: "Composite", + className: "Plan" + } + }, + upgradePolicy: { + serializedName: "properties.upgradePolicy", + type: { + name: "Composite", + className: "UpgradePolicy" + } + }, + virtualMachineProfile: { + serializedName: "properties.virtualMachineProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMProfile" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + overprovision: { + serializedName: "properties.overprovision", + type: { + name: "Boolean" + } + }, + uniqueId: { + readOnly: true, + serializedName: "properties.uniqueId", + type: { + name: "String" + } + }, + singlePlacementGroup: { + serializedName: "properties.singlePlacementGroup", + type: { + name: "Boolean" + } + }, + zoneBalance: { + serializedName: "properties.zoneBalance", + type: { + name: "Boolean" + } + }, + platformFaultDomainCount: { + serializedName: "properties.platformFaultDomainCount", + type: { + name: "Number" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "VirtualMachineScaleSetIdentity" + } + }, + zones: { + serializedName: "zones", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetUpdate: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetUpdate", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdate", + modelProperties: { + ...UpdateResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + plan: { + serializedName: "plan", + type: { + name: "Composite", + className: "Plan" + } + }, + upgradePolicy: { + serializedName: "properties.upgradePolicy", + type: { + name: "Composite", + className: "UpgradePolicy" + } + }, + virtualMachineProfile: { + serializedName: "properties.virtualMachineProfile", + type: { + name: "Composite", + className: "VirtualMachineScaleSetUpdateVMProfile" + } + }, + overprovision: { + serializedName: "properties.overprovision", + type: { + name: "Boolean" + } + }, + singlePlacementGroup: { + serializedName: "properties.singlePlacementGroup", + type: { + name: "Boolean" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "VirtualMachineScaleSetIdentity" + } + } + } + } +}; + +export const VirtualMachineScaleSetVMInstanceIDs: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetVMInstanceIDs", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMInstanceIDs", + modelProperties: { + instanceIds: { + serializedName: "instanceIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetVMInstanceRequiredIDs: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetVMInstanceRequiredIDs", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMInstanceRequiredIDs", + modelProperties: { + instanceIds: { + required: true, + serializedName: "instanceIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const VirtualMachineStatusCodeCount: msRest.CompositeMapper = { + serializedName: "VirtualMachineStatusCodeCount", + type: { + name: "Composite", + className: "VirtualMachineStatusCodeCount", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "String" + } + }, + count: { + readOnly: true, + serializedName: "count", + type: { + name: "Number" + } + } + } + } +}; + +export const VirtualMachineScaleSetInstanceViewStatusesSummary: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetInstanceViewStatusesSummary", + type: { + name: "Composite", + className: "VirtualMachineScaleSetInstanceViewStatusesSummary", + modelProperties: { + statusesSummary: { + readOnly: true, + serializedName: "statusesSummary", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineStatusCodeCount" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetVMExtensionsSummary: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetVMExtensionsSummary", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMExtensionsSummary", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + statusesSummary: { + readOnly: true, + serializedName: "statusesSummary", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineStatusCodeCount" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetInstanceView: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetInstanceView", + type: { + name: "Composite", + className: "VirtualMachineScaleSetInstanceView", + modelProperties: { + virtualMachine: { + readOnly: true, + serializedName: "virtualMachine", + type: { + name: "Composite", + className: "VirtualMachineScaleSetInstanceViewStatusesSummary" + } + }, + extensions: { + readOnly: true, + serializedName: "extensions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMExtensionsSummary" + } + } + } + }, + statuses: { + serializedName: "statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } + } + } +}; + +export const VirtualMachineScaleSetSkuCapacity: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetSkuCapacity", + type: { + name: "Composite", + className: "VirtualMachineScaleSetSkuCapacity", + modelProperties: { + minimum: { + readOnly: true, + serializedName: "minimum", + type: { + name: "Number" + } + }, + maximum: { + readOnly: true, + serializedName: "maximum", + type: { + name: "Number" + } + }, + defaultCapacity: { + readOnly: true, + serializedName: "defaultCapacity", + type: { + name: "Number" + } + }, + scaleType: { + readOnly: true, + serializedName: "scaleType", + type: { + name: "Enum", + allowedValues: [ + "Automatic", + "None" + ] + } + } + } + } +}; + +export const VirtualMachineScaleSetSku: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetSku", + type: { + name: "Composite", + className: "VirtualMachineScaleSetSku", + modelProperties: { + resourceType: { + readOnly: true, + serializedName: "resourceType", + type: { + name: "String" + } + }, + sku: { + readOnly: true, + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + capacity: { + readOnly: true, + serializedName: "capacity", + type: { + name: "Composite", + className: "VirtualMachineScaleSetSkuCapacity" + } + } + } + } +}; + +export const ApiErrorBase: msRest.CompositeMapper = { + serializedName: "ApiErrorBase", + type: { + name: "Composite", + className: "ApiErrorBase", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + target: { + serializedName: "target", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const InnerError: msRest.CompositeMapper = { + serializedName: "InnerError", + type: { + name: "Composite", + className: "InnerError", + modelProperties: { + exceptiontype: { + serializedName: "exceptiontype", + type: { + name: "String" + } + }, + errordetail: { + serializedName: "errordetail", + type: { + name: "String" + } + } + } + } +}; + +export const ApiError: msRest.CompositeMapper = { + serializedName: "ApiError", + type: { + name: "Composite", + className: "ApiError", + modelProperties: { + details: { + serializedName: "details", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApiErrorBase" + } + } + } + }, + innererror: { + serializedName: "innererror", + type: { + name: "Composite", + className: "InnerError" + } + }, + code: { + serializedName: "code", + type: { + name: "String" + } + }, + target: { + serializedName: "target", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const RollbackStatusInfo: msRest.CompositeMapper = { + serializedName: "RollbackStatusInfo", + type: { + name: "Composite", + className: "RollbackStatusInfo", + modelProperties: { + successfullyRolledbackInstanceCount: { + readOnly: true, + serializedName: "successfullyRolledbackInstanceCount", + type: { + name: "Number" + } + }, + failedRolledbackInstanceCount: { + readOnly: true, + serializedName: "failedRolledbackInstanceCount", + type: { + name: "Number" + } + }, + rollbackError: { + readOnly: true, + serializedName: "rollbackError", + type: { + name: "Composite", + className: "ApiError" + } + } + } + } +}; + +export const UpgradeOperationHistoryStatus: msRest.CompositeMapper = { + serializedName: "UpgradeOperationHistoryStatus", + type: { + name: "Composite", + className: "UpgradeOperationHistoryStatus", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "Enum", + allowedValues: [ + "RollingForward", + "Cancelled", + "Completed", + "Faulted" + ] + } + }, + startTime: { + readOnly: true, + serializedName: "startTime", + type: { + name: "DateTime" + } + }, + endTime: { + readOnly: true, + serializedName: "endTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const RollingUpgradeProgressInfo: msRest.CompositeMapper = { + serializedName: "RollingUpgradeProgressInfo", + type: { + name: "Composite", + className: "RollingUpgradeProgressInfo", + modelProperties: { + successfulInstanceCount: { + readOnly: true, + serializedName: "successfulInstanceCount", + type: { + name: "Number" + } + }, + failedInstanceCount: { + readOnly: true, + serializedName: "failedInstanceCount", + type: { + name: "Number" + } + }, + inProgressInstanceCount: { + readOnly: true, + serializedName: "inProgressInstanceCount", + type: { + name: "Number" + } + }, + pendingInstanceCount: { + readOnly: true, + serializedName: "pendingInstanceCount", + type: { + name: "Number" + } + } + } + } +}; + +export const UpgradeOperationHistoricalStatusInfoProperties: msRest.CompositeMapper = { + serializedName: "UpgradeOperationHistoricalStatusInfoProperties", + type: { + name: "Composite", + className: "UpgradeOperationHistoricalStatusInfoProperties", + modelProperties: { + runningStatus: { + readOnly: true, + serializedName: "runningStatus", + type: { + name: "Composite", + className: "UpgradeOperationHistoryStatus" + } + }, + progress: { + readOnly: true, + serializedName: "progress", + type: { + name: "Composite", + className: "RollingUpgradeProgressInfo" + } + }, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ApiError" + } + }, + startedBy: { + readOnly: true, + serializedName: "startedBy", + type: { + name: "Enum", + allowedValues: [ + "Unknown", + "User", + "Platform" + ] + } + }, + targetImageReference: { + readOnly: true, + serializedName: "targetImageReference", + type: { + name: "Composite", + className: "ImageReference" + } + }, + rollbackInfo: { + readOnly: true, + serializedName: "rollbackInfo", + type: { + name: "Composite", + className: "RollbackStatusInfo" + } + } + } + } +}; + +export const UpgradeOperationHistoricalStatusInfo: msRest.CompositeMapper = { + serializedName: "UpgradeOperationHistoricalStatusInfo", + type: { + name: "Composite", + className: "UpgradeOperationHistoricalStatusInfo", + modelProperties: { + properties: { + readOnly: true, + serializedName: "properties", + type: { + name: "Composite", + className: "UpgradeOperationHistoricalStatusInfoProperties" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + location: { + readOnly: true, + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineHealthStatus: msRest.CompositeMapper = { + serializedName: "VirtualMachineHealthStatus", + type: { + name: "Composite", + className: "VirtualMachineHealthStatus", + modelProperties: { + status: { + readOnly: true, + serializedName: "status", + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } +}; + +export const VirtualMachineScaleSetVMInstanceView: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetVMInstanceView", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMInstanceView", + modelProperties: { + platformUpdateDomain: { + serializedName: "platformUpdateDomain", + type: { + name: "Number" + } + }, + platformFaultDomain: { + serializedName: "platformFaultDomain", + type: { + name: "Number" + } + }, + rdpThumbPrint: { + serializedName: "rdpThumbPrint", + type: { + name: "String" + } + }, + vmAgent: { + serializedName: "vmAgent", + type: { + name: "Composite", + className: "VirtualMachineAgentInstanceView" + } + }, + maintenanceRedeployStatus: { + serializedName: "maintenanceRedeployStatus", + type: { + name: "Composite", + className: "MaintenanceRedeployStatus" + } + }, + disks: { + serializedName: "disks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskInstanceView" + } + } + } + }, + extensions: { + serializedName: "extensions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineExtensionInstanceView" + } + } + } + }, + vmHealth: { + readOnly: true, + serializedName: "vmHealth", + type: { + name: "Composite", + className: "VirtualMachineHealthStatus" + } + }, + bootDiagnostics: { + serializedName: "bootDiagnostics", + type: { + name: "Composite", + className: "BootDiagnosticsInstanceView" + } + }, + statuses: { + serializedName: "statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + }, + placementGroupId: { + serializedName: "placementGroupId", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetVM: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetVM", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVM", + modelProperties: { + ...Resource.type.modelProperties, + instanceId: { + readOnly: true, + serializedName: "instanceId", + type: { + name: "String" + } + }, + sku: { + readOnly: true, + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + latestModelApplied: { + readOnly: true, + serializedName: "properties.latestModelApplied", + type: { + name: "Boolean" + } + }, + vmId: { + readOnly: true, + serializedName: "properties.vmId", + type: { + name: "String" + } + }, + instanceView: { + readOnly: true, + serializedName: "properties.instanceView", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMInstanceView" + } + }, + hardwareProfile: { + serializedName: "properties.hardwareProfile", + type: { + name: "Composite", + className: "HardwareProfile" + } + }, + storageProfile: { + serializedName: "properties.storageProfile", + type: { + name: "Composite", + className: "StorageProfile" + } + }, + additionalCapabilities: { + serializedName: "properties.additionalCapabilities", + type: { + name: "Composite", + className: "AdditionalCapabilities" + } + }, + osProfile: { + serializedName: "properties.osProfile", + type: { + name: "Composite", + className: "OSProfile" + } + }, + networkProfile: { + serializedName: "properties.networkProfile", + type: { + name: "Composite", + className: "NetworkProfile" + } + }, + diagnosticsProfile: { + serializedName: "properties.diagnosticsProfile", + type: { + name: "Composite", + className: "DiagnosticsProfile" + } + }, + availabilitySet: { + serializedName: "properties.availabilitySet", + type: { + name: "Composite", + className: "SubResource" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + licenseType: { + serializedName: "properties.licenseType", + type: { + name: "String" + } + }, + plan: { + serializedName: "plan", + type: { + name: "Composite", + className: "Plan" + } + }, + resources: { + readOnly: true, + serializedName: "resources", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineExtension" + } + } + } + }, + zones: { + readOnly: true, + serializedName: "zones", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const RollingUpgradeRunningStatus: msRest.CompositeMapper = { + serializedName: "RollingUpgradeRunningStatus", + type: { + name: "Composite", + className: "RollingUpgradeRunningStatus", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "Enum", + allowedValues: [ + "RollingForward", + "Cancelled", + "Completed", + "Faulted" + ] + } + }, + startTime: { + readOnly: true, + serializedName: "startTime", + type: { + name: "DateTime" + } + }, + lastAction: { + readOnly: true, + serializedName: "lastAction", + type: { + name: "Enum", + allowedValues: [ + "Start", + "Cancel" + ] + } + }, + lastActionTime: { + readOnly: true, + serializedName: "lastActionTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const RollingUpgradeStatusInfo: msRest.CompositeMapper = { + serializedName: "RollingUpgradeStatusInfo", + type: { + name: "Composite", + className: "RollingUpgradeStatusInfo", + modelProperties: { + ...Resource.type.modelProperties, + policy: { + readOnly: true, + serializedName: "properties.policy", + type: { + name: "Composite", + className: "RollingUpgradePolicy" + } + }, + runningStatus: { + readOnly: true, + serializedName: "properties.runningStatus", + type: { + name: "Composite", + className: "RollingUpgradeRunningStatus" + } + }, + progress: { + readOnly: true, + serializedName: "properties.progress", + type: { + name: "Composite", + className: "RollingUpgradeProgressInfo" + } + }, + error: { + readOnly: true, + serializedName: "properties.error", + type: { + name: "Composite", + className: "ApiError" + } + } + } + } +}; + +export const RecoveryWalkResponse: msRest.CompositeMapper = { + serializedName: "RecoveryWalkResponse", + type: { + name: "Composite", + className: "RecoveryWalkResponse", + modelProperties: { + walkPerformed: { + readOnly: true, + serializedName: "walkPerformed", + type: { + name: "Boolean" + } + }, + nextPlatformUpdateDomain: { + readOnly: true, + serializedName: "nextPlatformUpdateDomain", + type: { + name: "Number" + } + } + } + } +}; + +export const LogAnalyticsInputBase: msRest.CompositeMapper = { + serializedName: "LogAnalyticsInputBase", + type: { + name: "Composite", + className: "LogAnalyticsInputBase", + modelProperties: { + blobContainerSasUri: { + required: true, + serializedName: "blobContainerSasUri", + type: { + name: "String" + } + }, + fromTime: { + required: true, + serializedName: "fromTime", + type: { + name: "DateTime" + } + }, + toTime: { + required: true, + serializedName: "toTime", + type: { + name: "DateTime" + } + }, + groupByThrottlePolicy: { + serializedName: "groupByThrottlePolicy", + type: { + name: "Boolean" + } + }, + groupByOperationName: { + serializedName: "groupByOperationName", + type: { + name: "Boolean" + } + }, + groupByResourceName: { + serializedName: "groupByResourceName", + type: { + name: "Boolean" + } + } + } + } +}; + +export const RequestRateByIntervalInput: msRest.CompositeMapper = { + serializedName: "RequestRateByIntervalInput", + type: { + name: "Composite", + className: "RequestRateByIntervalInput", + modelProperties: { + ...LogAnalyticsInputBase.type.modelProperties, + intervalLength: { + required: true, + serializedName: "intervalLength", + type: { + name: "Enum", + allowedValues: [ + "ThreeMins", + "FiveMins", + "ThirtyMins", + "SixtyMins" + ] + } + } + } + } +}; + +export const ThrottledRequestsInput: msRest.CompositeMapper = { + serializedName: "ThrottledRequestsInput", + type: { + name: "Composite", + className: "ThrottledRequestsInput", + modelProperties: { + ...LogAnalyticsInputBase.type.modelProperties + } + } +}; + +export const LogAnalyticsOutput: msRest.CompositeMapper = { + serializedName: "LogAnalyticsOutput", + type: { + name: "Composite", + className: "LogAnalyticsOutput", + modelProperties: { + output: { + readOnly: true, + serializedName: "output", + type: { + name: "String" + } + } + } + } +}; + +export const LogAnalyticsOperationResult: msRest.CompositeMapper = { + serializedName: "LogAnalyticsOperationResult", + type: { + name: "Composite", + className: "LogAnalyticsOperationResult", + modelProperties: { + properties: { + readOnly: true, + serializedName: "properties", + type: { + name: "Composite", + className: "LogAnalyticsOutput" + } + } + } + } +}; + +export const InGuestSoftwareItem: msRest.CompositeMapper = { + serializedName: "InGuestSoftwareItem", + type: { + name: "Composite", + className: "InGuestSoftwareItem", + modelProperties: { + ...Resource.type.modelProperties, + inGuestSoftwareItemName: { + readOnly: true, + serializedName: "properties.name", + type: { + name: "String" + } + }, + version: { + readOnly: true, + serializedName: "properties.version", + type: { + name: "String" + } + }, + publisher: { + readOnly: true, + serializedName: "properties.publisher", + type: { + name: "String" + } + } + } + } +}; + +export const RunCommandInputParameter: msRest.CompositeMapper = { + serializedName: "RunCommandInputParameter", + type: { + name: "Composite", + className: "RunCommandInputParameter", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + value: { + required: true, + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + +export const RunCommandInput: msRest.CompositeMapper = { + serializedName: "RunCommandInput", + type: { + name: "Composite", + className: "RunCommandInput", + modelProperties: { + commandId: { + required: true, + serializedName: "commandId", + type: { + name: "String" + } + }, + script: { + serializedName: "script", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + parameters: { + serializedName: "parameters", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RunCommandInputParameter" + } + } + } + } + } + } +}; + +export const RunCommandParameterDefinition: msRest.CompositeMapper = { + serializedName: "RunCommandParameterDefinition", + type: { + name: "Composite", + className: "RunCommandParameterDefinition", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + required: true, + serializedName: "type", + type: { + name: "String" + } + }, + defaultValue: { + serializedName: "defaultValue", + type: { + name: "String" + } + }, + required: { + serializedName: "required", + defaultValue: false, + type: { + name: "Boolean" + } + } + } + } +}; + +export const RunCommandDocumentBase: msRest.CompositeMapper = { + serializedName: "RunCommandDocumentBase", + type: { + name: "Composite", + className: "RunCommandDocumentBase", + modelProperties: { + schema: { + required: true, + serializedName: "$schema", + type: { + name: "String" + } + }, + id: { + required: true, + serializedName: "id", + type: { + name: "String" + } + }, + osType: { + required: true, + serializedName: "osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + label: { + required: true, + serializedName: "label", + type: { + name: "String" + } + }, + description: { + required: true, + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const RunCommandDocument: msRest.CompositeMapper = { + serializedName: "RunCommandDocument", + type: { + name: "Composite", + className: "RunCommandDocument", + modelProperties: { + ...RunCommandDocumentBase.type.modelProperties, + script: { + required: true, + serializedName: "script", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + parameters: { + serializedName: "parameters", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RunCommandParameterDefinition" + } + } + } + } + } + } +}; + +export const RunCommandResult: msRest.CompositeMapper = { + serializedName: "RunCommandResult", + type: { + name: "Composite", + className: "RunCommandResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceViewStatus" + } + } + } + } + } + } +}; + +export const ResourceSkuCapacity: msRest.CompositeMapper = { + serializedName: "ResourceSkuCapacity", + type: { + name: "Composite", + className: "ResourceSkuCapacity", + modelProperties: { + minimum: { + readOnly: true, + serializedName: "minimum", + type: { + name: "Number" + } + }, + maximum: { + readOnly: true, + serializedName: "maximum", + type: { + name: "Number" + } + }, + default: { + readOnly: true, + serializedName: "default", + type: { + name: "Number" + } + }, + scaleType: { + readOnly: true, + serializedName: "scaleType", + type: { + name: "Enum", + allowedValues: [ + "Automatic", + "Manual", + "None" + ] + } + } + } + } +}; + +export const ResourceSkuCosts: msRest.CompositeMapper = { + serializedName: "ResourceSkuCosts", + type: { + name: "Composite", + className: "ResourceSkuCosts", + modelProperties: { + meterID: { + readOnly: true, + serializedName: "meterID", + type: { + name: "String" + } + }, + quantity: { + readOnly: true, + serializedName: "quantity", + type: { + name: "Number" + } + }, + extendedUnit: { + readOnly: true, + serializedName: "extendedUnit", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceSkuCapabilities: msRest.CompositeMapper = { + serializedName: "ResourceSkuCapabilities", + type: { + name: "Composite", + className: "ResourceSkuCapabilities", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + value: { + readOnly: true, + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceSkuRestrictionInfo: msRest.CompositeMapper = { + serializedName: "ResourceSkuRestrictionInfo", + type: { + name: "Composite", + className: "ResourceSkuRestrictionInfo", + modelProperties: { + locations: { + readOnly: true, + serializedName: "locations", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + zones: { + readOnly: true, + serializedName: "zones", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ResourceSkuRestrictions: msRest.CompositeMapper = { + serializedName: "ResourceSkuRestrictions", + type: { + name: "Composite", + className: "ResourceSkuRestrictions", + modelProperties: { + type: { + readOnly: true, + serializedName: "type", + type: { + name: "Enum", + allowedValues: [ + "Location", + "Zone" + ] + } + }, + values: { + readOnly: true, + serializedName: "values", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + restrictionInfo: { + readOnly: true, + serializedName: "restrictionInfo", + type: { + name: "Composite", + className: "ResourceSkuRestrictionInfo" + } + }, + reasonCode: { + readOnly: true, + serializedName: "reasonCode", + type: { + name: "Enum", + allowedValues: [ + "QuotaId", + "NotAvailableForSubscription" + ] + } + } + } + } +}; + +export const ResourceSkuLocationInfo: msRest.CompositeMapper = { + serializedName: "ResourceSkuLocationInfo", + type: { + name: "Composite", + className: "ResourceSkuLocationInfo", + modelProperties: { + location: { + readOnly: true, + serializedName: "location", + type: { + name: "String" + } + }, + zones: { + readOnly: true, + serializedName: "zones", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ResourceSku: msRest.CompositeMapper = { + serializedName: "ResourceSku", + type: { + name: "Composite", + className: "ResourceSku", + modelProperties: { + resourceType: { + readOnly: true, + serializedName: "resourceType", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + tier: { + readOnly: true, + serializedName: "tier", + type: { + name: "String" + } + }, + size: { + readOnly: true, + serializedName: "size", + type: { + name: "String" + } + }, + family: { + readOnly: true, + serializedName: "family", + type: { + name: "String" + } + }, + kind: { + readOnly: true, + serializedName: "kind", + type: { + name: "String" + } + }, + capacity: { + readOnly: true, + serializedName: "capacity", + type: { + name: "Composite", + className: "ResourceSkuCapacity" + } + }, + locations: { + readOnly: true, + serializedName: "locations", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + locationInfo: { + readOnly: true, + serializedName: "locationInfo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSkuLocationInfo" + } + } + } + }, + apiVersions: { + readOnly: true, + serializedName: "apiVersions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + costs: { + readOnly: true, + serializedName: "costs", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSkuCosts" + } + } + } + }, + capabilities: { + readOnly: true, + serializedName: "capabilities", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSkuCapabilities" + } + } + } + }, + restrictions: { + readOnly: true, + serializedName: "restrictions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSkuRestrictions" + } + } + } + } + } + } +}; + +export const DiskSku: msRest.CompositeMapper = { + serializedName: "DiskSku", + type: { + name: "Composite", + className: "DiskSku", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + tier: { + readOnly: true, + serializedName: "tier", + defaultValue: 'Standard', + type: { + name: "String" + } + } + } + } +}; + +export const ImageDiskReference: msRest.CompositeMapper = { + serializedName: "ImageDiskReference", + type: { + name: "Composite", + className: "ImageDiskReference", + modelProperties: { + id: { + required: true, + serializedName: "id", + type: { + name: "String" + } + }, + lun: { + serializedName: "lun", + type: { + name: "Number" + } + } + } + } +}; + +export const CreationData: msRest.CompositeMapper = { + serializedName: "CreationData", + type: { + name: "Composite", + className: "CreationData", + modelProperties: { + createOption: { + required: true, + serializedName: "createOption", + type: { + name: "String" + } + }, + storageAccountId: { + serializedName: "storageAccountId", + type: { + name: "String" + } + }, + imageReference: { + serializedName: "imageReference", + type: { + name: "Composite", + className: "ImageDiskReference" + } + }, + sourceUri: { + serializedName: "sourceUri", + type: { + name: "String" + } + }, + sourceResourceId: { + serializedName: "sourceResourceId", + type: { + name: "String" + } + } + } + } +}; + +export const SourceVault: msRest.CompositeMapper = { + serializedName: "SourceVault", + type: { + name: "Composite", + className: "SourceVault", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const KeyVaultAndSecretReference: msRest.CompositeMapper = { + serializedName: "KeyVaultAndSecretReference", + type: { + name: "Composite", + className: "KeyVaultAndSecretReference", + modelProperties: { + sourceVault: { + required: true, + serializedName: "sourceVault", + type: { + name: "Composite", + className: "SourceVault" + } + }, + secretUrl: { + required: true, + serializedName: "secretUrl", + type: { + name: "String" + } + } + } + } +}; + +export const KeyVaultAndKeyReference: msRest.CompositeMapper = { + serializedName: "KeyVaultAndKeyReference", + type: { + name: "Composite", + className: "KeyVaultAndKeyReference", + modelProperties: { + sourceVault: { + required: true, + serializedName: "sourceVault", + type: { + name: "Composite", + className: "SourceVault" + } + }, + keyUrl: { + required: true, + serializedName: "keyUrl", + type: { + name: "String" + } + } + } + } +}; + +export const EncryptionSettings: msRest.CompositeMapper = { + serializedName: "EncryptionSettings", + type: { + name: "Composite", + className: "EncryptionSettings", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + diskEncryptionKey: { + serializedName: "diskEncryptionKey", + type: { + name: "Composite", + className: "KeyVaultAndSecretReference" + } + }, + keyEncryptionKey: { + serializedName: "keyEncryptionKey", + type: { + name: "Composite", + className: "KeyVaultAndKeyReference" + } + } + } + } +}; + +export const Disk: msRest.CompositeMapper = { + serializedName: "Disk", + type: { + name: "Composite", + className: "Disk", + modelProperties: { + ...Resource.type.modelProperties, + managedBy: { + readOnly: true, + serializedName: "managedBy", + type: { + name: "String" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "DiskSku" + } + }, + zones: { + serializedName: "zones", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + timeCreated: { + readOnly: true, + serializedName: "properties.timeCreated", + type: { + name: "DateTime" + } + }, + osType: { + serializedName: "properties.osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + creationData: { + required: true, + serializedName: "properties.creationData", + type: { + name: "Composite", + className: "CreationData" + } + }, + diskSizeGB: { + serializedName: "properties.diskSizeGB", + type: { + name: "Number" + } + }, + encryptionSettings: { + serializedName: "properties.encryptionSettings", + type: { + name: "Composite", + className: "EncryptionSettings" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + diskIOPSReadWrite: { + serializedName: "properties.diskIOPSReadWrite", + type: { + name: "Number" + } + }, + diskMBpsReadWrite: { + serializedName: "properties.diskMBpsReadWrite", + type: { + name: "Number" + } + } + } + } +}; + +export const DiskUpdate: msRest.CompositeMapper = { + serializedName: "DiskUpdate", + type: { + name: "Composite", + className: "DiskUpdate", + modelProperties: { + osType: { + serializedName: "properties.osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + diskSizeGB: { + serializedName: "properties.diskSizeGB", + type: { + name: "Number" + } + }, + encryptionSettings: { + serializedName: "properties.encryptionSettings", + type: { + name: "Composite", + className: "EncryptionSettings" + } + }, + diskIOPSReadWrite: { + serializedName: "properties.diskIOPSReadWrite", + type: { + name: "Number" + } + }, + diskMBpsReadWrite: { + serializedName: "properties.diskMBpsReadWrite", + type: { + name: "Number" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "DiskSku" + } + } + } + } +}; + +export const SnapshotSku: msRest.CompositeMapper = { + serializedName: "SnapshotSku", + type: { + name: "Composite", + className: "SnapshotSku", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + tier: { + readOnly: true, + serializedName: "tier", + defaultValue: 'Standard', + type: { + name: "String" + } + } + } + } +}; + +export const GrantAccessData: msRest.CompositeMapper = { + serializedName: "GrantAccessData", + type: { + name: "Composite", + className: "GrantAccessData", + modelProperties: { + access: { + required: true, + serializedName: "access", + type: { + name: "String" + } + }, + durationInSeconds: { + required: true, + serializedName: "durationInSeconds", + type: { + name: "Number" + } + } + } + } +}; + +export const AccessUri: msRest.CompositeMapper = { + serializedName: "AccessUri", + type: { + name: "Composite", + className: "AccessUri", + modelProperties: { + accessSAS: { + readOnly: true, + serializedName: "accessSAS", + type: { + name: "String" + } + } + } + } +}; + +export const Snapshot: msRest.CompositeMapper = { + serializedName: "Snapshot", + type: { + name: "Composite", + className: "Snapshot", + modelProperties: { + ...Resource.type.modelProperties, + managedBy: { + readOnly: true, + serializedName: "managedBy", + type: { + name: "String" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "SnapshotSku" + } + }, + timeCreated: { + readOnly: true, + serializedName: "properties.timeCreated", + type: { + name: "DateTime" + } + }, + osType: { + serializedName: "properties.osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + creationData: { + required: true, + serializedName: "properties.creationData", + type: { + name: "Composite", + className: "CreationData" + } + }, + diskSizeGB: { + serializedName: "properties.diskSizeGB", + type: { + name: "Number" + } + }, + encryptionSettings: { + serializedName: "properties.encryptionSettings", + type: { + name: "Composite", + className: "EncryptionSettings" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const SnapshotUpdate: msRest.CompositeMapper = { + serializedName: "SnapshotUpdate", + type: { + name: "Composite", + className: "SnapshotUpdate", + modelProperties: { + osType: { + serializedName: "properties.osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + diskSizeGB: { + serializedName: "properties.diskSizeGB", + type: { + name: "Number" + } + }, + encryptionSettings: { + serializedName: "properties.encryptionSettings", + type: { + name: "Composite", + className: "EncryptionSettings" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "SnapshotSku" + } + } + } + } +}; + +export const GalleryIdentifier: msRest.CompositeMapper = { + serializedName: "GalleryIdentifier", + type: { + name: "Composite", + className: "GalleryIdentifier", + modelProperties: { + uniqueName: { + readOnly: true, + serializedName: "uniqueName", + type: { + name: "String" + } + } + } + } +}; + +export const Gallery: msRest.CompositeMapper = { + serializedName: "Gallery", + type: { + name: "Composite", + className: "Gallery", + modelProperties: { + ...Resource.type.modelProperties, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + identifier: { + serializedName: "properties.identifier", + type: { + name: "Composite", + className: "GalleryIdentifier" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const GalleryImageIdentifier: msRest.CompositeMapper = { + serializedName: "GalleryImageIdentifier", + type: { + name: "Composite", + className: "GalleryImageIdentifier", + modelProperties: { + publisher: { + required: true, + serializedName: "publisher", + type: { + name: "String" + } + }, + offer: { + required: true, + serializedName: "offer", + type: { + name: "String" + } + }, + sku: { + required: true, + serializedName: "sku", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceRange: msRest.CompositeMapper = { + serializedName: "ResourceRange", + type: { + name: "Composite", + className: "ResourceRange", + modelProperties: { + min: { + serializedName: "min", + type: { + name: "Number" + } + }, + max: { + serializedName: "max", + type: { + name: "Number" + } + } + } + } +}; + +export const RecommendedMachineConfiguration: msRest.CompositeMapper = { + serializedName: "RecommendedMachineConfiguration", + type: { + name: "Composite", + className: "RecommendedMachineConfiguration", + modelProperties: { + vCPUs: { + serializedName: "vCPUs", + type: { + name: "Composite", + className: "ResourceRange" + } + }, + memory: { + serializedName: "memory", + type: { + name: "Composite", + className: "ResourceRange" + } + } + } + } +}; + +export const Disallowed: msRest.CompositeMapper = { + serializedName: "Disallowed", + type: { + name: "Composite", + className: "Disallowed", + modelProperties: { + diskTypes: { + serializedName: "diskTypes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ImagePurchasePlan: msRest.CompositeMapper = { + serializedName: "ImagePurchasePlan", + type: { + name: "Composite", + className: "ImagePurchasePlan", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + publisher: { + serializedName: "publisher", + type: { + name: "String" + } + }, + product: { + serializedName: "product", + type: { + name: "String" + } + } + } + } +}; + +export const GalleryImage: msRest.CompositeMapper = { + serializedName: "GalleryImage", + type: { + name: "Composite", + className: "GalleryImage", + modelProperties: { + ...Resource.type.modelProperties, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + eula: { + serializedName: "properties.eula", + type: { + name: "String" + } + }, + privacyStatementUri: { + serializedName: "properties.privacyStatementUri", + type: { + name: "String" + } + }, + releaseNoteUri: { + serializedName: "properties.releaseNoteUri", + type: { + name: "String" + } + }, + osType: { + required: true, + serializedName: "properties.osType", + type: { + name: "Enum", + allowedValues: [ + "Windows", + "Linux" + ] + } + }, + osState: { + required: true, + serializedName: "properties.osState", + type: { + name: "Enum", + allowedValues: [ + "Generalized", + "Specialized" + ] + } + }, + endOfLifeDate: { + serializedName: "properties.endOfLifeDate", + type: { + name: "DateTime" + } + }, + identifier: { + required: true, + serializedName: "properties.identifier", + type: { + name: "Composite", + className: "GalleryImageIdentifier" + } + }, + recommended: { + serializedName: "properties.recommended", + type: { + name: "Composite", + className: "RecommendedMachineConfiguration" + } + }, + disallowed: { + serializedName: "properties.disallowed", + type: { + name: "Composite", + className: "Disallowed" + } + }, + purchasePlan: { + serializedName: "properties.purchasePlan", + type: { + name: "Composite", + className: "ImagePurchasePlan" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const GalleryArtifactPublishingProfileBase: msRest.CompositeMapper = { + serializedName: "GalleryArtifactPublishingProfileBase", + type: { + name: "Composite", + className: "GalleryArtifactPublishingProfileBase", + modelProperties: { + targetRegions: { + serializedName: "targetRegions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TargetRegion" + } + } + } + }, + source: { + required: true, + serializedName: "source", + type: { + name: "Composite", + className: "GalleryArtifactSource" + } + } + } + } +}; + +export const GalleryImageVersionPublishingProfile: msRest.CompositeMapper = { + serializedName: "GalleryImageVersionPublishingProfile", + type: { + name: "Composite", + className: "GalleryImageVersionPublishingProfile", + modelProperties: { + ...GalleryArtifactPublishingProfileBase.type.modelProperties, + replicaCount: { + serializedName: "replicaCount", + type: { + name: "Number" + } + }, + excludeFromLatest: { + serializedName: "excludeFromLatest", + type: { + name: "Boolean" + } + }, + publishedDate: { + readOnly: true, + serializedName: "publishedDate", + type: { + name: "DateTime" + } + }, + endOfLifeDate: { + serializedName: "endOfLifeDate", + type: { + name: "DateTime" + } + } + } + } +}; + +export const GalleryDiskImage: msRest.CompositeMapper = { + serializedName: "GalleryDiskImage", + type: { + name: "Composite", + className: "GalleryDiskImage", + modelProperties: { + sizeInGB: { + readOnly: true, + serializedName: "sizeInGB", + type: { + name: "Number" + } + }, + hostCaching: { + readOnly: true, + serializedName: "hostCaching", + type: { + name: "Enum", + allowedValues: [ + "None", + "ReadOnly", + "ReadWrite" + ] + } + } + } + } +}; + +export const GalleryOSDiskImage: msRest.CompositeMapper = { + serializedName: "GalleryOSDiskImage", + type: { + name: "Composite", + className: "GalleryOSDiskImage", + modelProperties: { + ...GalleryDiskImage.type.modelProperties + } + } +}; + +export const GalleryDataDiskImage: msRest.CompositeMapper = { + serializedName: "GalleryDataDiskImage", + type: { + name: "Composite", + className: "GalleryDataDiskImage", + modelProperties: { + ...GalleryDiskImage.type.modelProperties, + lun: { + readOnly: true, + serializedName: "lun", + type: { + name: "Number" + } + } + } + } +}; + +export const GalleryImageVersionStorageProfile: msRest.CompositeMapper = { + serializedName: "GalleryImageVersionStorageProfile", + type: { + name: "Composite", + className: "GalleryImageVersionStorageProfile", + modelProperties: { + osDiskImage: { + readOnly: true, + serializedName: "osDiskImage", + type: { + name: "Composite", + className: "GalleryOSDiskImage" + } + }, + dataDiskImages: { + readOnly: true, + serializedName: "dataDiskImages", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GalleryDataDiskImage" + } + } + } + } + } + } +}; + +export const RegionalReplicationStatus: msRest.CompositeMapper = { + serializedName: "RegionalReplicationStatus", + type: { + name: "Composite", + className: "RegionalReplicationStatus", + modelProperties: { + region: { + readOnly: true, + serializedName: "region", + type: { + name: "String" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + details: { + readOnly: true, + serializedName: "details", + type: { + name: "String" + } + }, + progress: { + readOnly: true, + serializedName: "progress", + type: { + name: "Number" + } + } + } + } +}; + +export const ReplicationStatus: msRest.CompositeMapper = { + serializedName: "ReplicationStatus", + type: { + name: "Composite", + className: "ReplicationStatus", + modelProperties: { + aggregatedState: { + readOnly: true, + serializedName: "aggregatedState", + type: { + name: "String" + } + }, + summary: { + readOnly: true, + serializedName: "summary", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RegionalReplicationStatus" + } + } + } + } + } + } +}; + +export const GalleryImageVersion: msRest.CompositeMapper = { + serializedName: "GalleryImageVersion", + type: { + name: "Composite", + className: "GalleryImageVersion", + modelProperties: { + ...Resource.type.modelProperties, + publishingProfile: { + required: true, + serializedName: "properties.publishingProfile", + type: { + name: "Composite", + className: "GalleryImageVersionPublishingProfile" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + storageProfile: { + readOnly: true, + serializedName: "properties.storageProfile", + type: { + name: "Composite", + className: "GalleryImageVersionStorageProfile" + } + }, + replicationStatus: { + readOnly: true, + serializedName: "properties.replicationStatus", + type: { + name: "Composite", + className: "ReplicationStatus" + } + } + } + } +}; + +export const TargetRegion: msRest.CompositeMapper = { + serializedName: "TargetRegion", + type: { + name: "Composite", + className: "TargetRegion", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + regionalReplicaCount: { + serializedName: "regionalReplicaCount", + type: { + name: "Number" + } + } + } + } +}; + +export const ManagedArtifact: msRest.CompositeMapper = { + serializedName: "ManagedArtifact", + type: { + name: "Composite", + className: "ManagedArtifact", + modelProperties: { + id: { + required: true, + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const GalleryArtifactSource: msRest.CompositeMapper = { + serializedName: "GalleryArtifactSource", + type: { + name: "Composite", + className: "GalleryArtifactSource", + modelProperties: { + managedImage: { + required: true, + serializedName: "managedImage", + type: { + name: "Composite", + className: "ManagedArtifact" + } + } + } + } +}; + +export const ContainerServiceCustomProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceCustomProfile", + type: { + name: "Composite", + className: "ContainerServiceCustomProfile", + modelProperties: { + orchestrator: { + required: true, + serializedName: "orchestrator", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceServicePrincipalProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceServicePrincipalProfile", + type: { + name: "Composite", + className: "ContainerServiceServicePrincipalProfile", + modelProperties: { + clientId: { + required: true, + serializedName: "clientId", + type: { + name: "String" + } + }, + secret: { + required: true, + serializedName: "secret", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceOrchestratorProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceOrchestratorProfile", + type: { + name: "Composite", + className: "ContainerServiceOrchestratorProfile", + modelProperties: { + orchestratorType: { + required: true, + serializedName: "orchestratorType", + type: { + name: "Enum", + allowedValues: [ + "Swarm", + "DCOS", + "Custom", + "Kubernetes" + ] + } + } + } + } +}; + +export const ContainerServiceMasterProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceMasterProfile", + type: { + name: "Composite", + className: "ContainerServiceMasterProfile", + modelProperties: { + count: { + serializedName: "count", + defaultValue: 1, + type: { + name: "Number" + } + }, + dnsPrefix: { + required: true, + serializedName: "dnsPrefix", + type: { + name: "String" + } + }, + fqdn: { + readOnly: true, + serializedName: "fqdn", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceAgentPoolProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceAgentPoolProfile", + type: { + name: "Composite", + className: "ContainerServiceAgentPoolProfile", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + count: { + required: true, + serializedName: "count", + defaultValue: 1, + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1 + }, + type: { + name: "Number" + } + }, + vmSize: { + required: true, + serializedName: "vmSize", + type: { + name: "String" + } + }, + dnsPrefix: { + required: true, + serializedName: "dnsPrefix", + type: { + name: "String" + } + }, + fqdn: { + readOnly: true, + serializedName: "fqdn", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceWindowsProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceWindowsProfile", + type: { + name: "Composite", + className: "ContainerServiceWindowsProfile", + modelProperties: { + adminUsername: { + required: true, + serializedName: "adminUsername", + constraints: { + Pattern: /^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$/ + }, + type: { + name: "String" + } + }, + adminPassword: { + required: true, + serializedName: "adminPassword", + constraints: { + Pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\^&\*\(\)])[a-zA-Z\d!@#$%\^&\*\(\)]{12,123}$/ + }, + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceSshPublicKey: msRest.CompositeMapper = { + serializedName: "ContainerServiceSshPublicKey", + type: { + name: "Composite", + className: "ContainerServiceSshPublicKey", + modelProperties: { + keyData: { + required: true, + serializedName: "keyData", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceSshConfiguration: msRest.CompositeMapper = { + serializedName: "ContainerServiceSshConfiguration", + type: { + name: "Composite", + className: "ContainerServiceSshConfiguration", + modelProperties: { + publicKeys: { + required: true, + serializedName: "publicKeys", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContainerServiceSshPublicKey" + } + } + } + } + } + } +}; + +export const ContainerServiceLinuxProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceLinuxProfile", + type: { + name: "Composite", + className: "ContainerServiceLinuxProfile", + modelProperties: { + adminUsername: { + required: true, + serializedName: "adminUsername", + constraints: { + Pattern: /^[a-z][a-z0-9_-]*$/ + }, + type: { + name: "String" + } + }, + ssh: { + required: true, + serializedName: "ssh", + type: { + name: "Composite", + className: "ContainerServiceSshConfiguration" + } + } + } + } +}; + +export const ContainerServiceVMDiagnostics: msRest.CompositeMapper = { + serializedName: "ContainerServiceVMDiagnostics", + type: { + name: "Composite", + className: "ContainerServiceVMDiagnostics", + modelProperties: { + enabled: { + required: true, + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + storageUri: { + readOnly: true, + serializedName: "storageUri", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceDiagnosticsProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceDiagnosticsProfile", + type: { + name: "Composite", + className: "ContainerServiceDiagnosticsProfile", + modelProperties: { + vmDiagnostics: { + required: true, + serializedName: "vmDiagnostics", + type: { + name: "Composite", + className: "ContainerServiceVMDiagnostics" + } + } + } + } +}; + +export const ContainerService: msRest.CompositeMapper = { + serializedName: "ContainerService", + type: { + name: "Composite", + className: "ContainerService", + modelProperties: { + ...Resource.type.modelProperties, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + orchestratorProfile: { + serializedName: "properties.orchestratorProfile", + type: { + name: "Composite", + className: "ContainerServiceOrchestratorProfile" + } + }, + customProfile: { + serializedName: "properties.customProfile", + type: { + name: "Composite", + className: "ContainerServiceCustomProfile" + } + }, + servicePrincipalProfile: { + serializedName: "properties.servicePrincipalProfile", + type: { + name: "Composite", + className: "ContainerServiceServicePrincipalProfile" + } + }, + masterProfile: { + required: true, + serializedName: "properties.masterProfile", + type: { + name: "Composite", + className: "ContainerServiceMasterProfile" + } + }, + agentPoolProfiles: { + required: true, + serializedName: "properties.agentPoolProfiles", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContainerServiceAgentPoolProfile" + } + } + } + }, + windowsProfile: { + serializedName: "properties.windowsProfile", + type: { + name: "Composite", + className: "ContainerServiceWindowsProfile" + } + }, + linuxProfile: { + required: true, + serializedName: "properties.linuxProfile", + type: { + name: "Composite", + className: "ContainerServiceLinuxProfile" + } + }, + diagnosticsProfile: { + serializedName: "properties.diagnosticsProfile", + type: { + name: "Composite", + className: "ContainerServiceDiagnosticsProfile" + } + } + } + } +}; + +export const ComputeOperationListResult: msRest.CompositeMapper = { + serializedName: "ComputeOperationListResult", + type: { + name: "Composite", + className: "ComputeOperationListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ComputeOperationValue" + } + } + } + } + } + } +}; + +export const AvailabilitySetListResult: msRest.CompositeMapper = { + serializedName: "AvailabilitySetListResult", + type: { + name: "Composite", + className: "AvailabilitySetListResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AvailabilitySet" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineSizeListResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineSizeListResult", + type: { + name: "Composite", + className: "VirtualMachineSizeListResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineSize" + } + } + } + } + } + } +}; + +export const ListUsagesResult: msRest.CompositeMapper = { + serializedName: "ListUsagesResult", + type: { + name: "Composite", + className: "ListUsagesResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Usage" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineListResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineListResult", + type: { + name: "Composite", + className: "VirtualMachineListResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachine" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const InGuestSoftwareItemsListResult: msRest.CompositeMapper = { + serializedName: "InGuestSoftwareItemsListResult", + type: { + name: "Composite", + className: "InGuestSoftwareItemsListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InGuestSoftwareItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ImageListResult: msRest.CompositeMapper = { + serializedName: "ImageListResult", + type: { + name: "Composite", + className: "ImageListResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Image" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetListResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetListResult", + type: { + name: "Composite", + className: "VirtualMachineScaleSetListResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSet" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetListWithLinkResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetListWithLinkResult", + type: { + name: "Composite", + className: "VirtualMachineScaleSetListWithLinkResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSet" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetListSkusResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetListSkusResult", + type: { + name: "Composite", + className: "VirtualMachineScaleSetListSkusResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetSku" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetListOSUpgradeHistory: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetListOSUpgradeHistory", + type: { + name: "Composite", + className: "VirtualMachineScaleSetListOSUpgradeHistory", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UpgradeOperationHistoricalStatusInfo" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetExtensionListResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetExtensionListResult", + type: { + name: "Composite", + className: "VirtualMachineScaleSetExtensionListResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetExtension" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualMachineScaleSetVMListResult: msRest.CompositeMapper = { + serializedName: "VirtualMachineScaleSetVMListResult", + type: { + name: "Composite", + className: "VirtualMachineScaleSetVMListResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineScaleSetVM" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const RunCommandListResult: msRest.CompositeMapper = { + serializedName: "RunCommandListResult", + type: { + name: "Composite", + className: "RunCommandListResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RunCommandDocumentBase" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceSkusResult: msRest.CompositeMapper = { + serializedName: "ResourceSkusResult", + type: { + name: "Composite", + className: "ResourceSkusResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSku" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DiskList: msRest.CompositeMapper = { + serializedName: "DiskList", + type: { + name: "Composite", + className: "DiskList", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Disk" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const SnapshotList: msRest.CompositeMapper = { + serializedName: "SnapshotList", + type: { + name: "Composite", + className: "SnapshotList", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Snapshot" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const GalleryList: msRest.CompositeMapper = { + serializedName: "GalleryList", + type: { + name: "Composite", + className: "GalleryList", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Gallery" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const GalleryImageList: msRest.CompositeMapper = { + serializedName: "GalleryImageList", + type: { + name: "Composite", + className: "GalleryImageList", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GalleryImage" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const GalleryImageVersionList: msRest.CompositeMapper = { + serializedName: "GalleryImageVersionList", + type: { + name: "Composite", + className: "GalleryImageVersionList", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GalleryImageVersion" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceListResult: msRest.CompositeMapper = { + serializedName: "ContainerServiceListResult", + type: { + name: "Composite", + className: "ContainerServiceListResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContainerService" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; diff --git a/packages/@azure/arm-compute/lib/models/operationsMappers.ts b/packages/@azure/arm-compute/lib/models/operationsMappers.ts new file mode 100644 index 000000000000..b3c61bd54741 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/operationsMappers.ts @@ -0,0 +1,16 @@ +/* + * 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 { + ComputeOperationListResult, + ComputeOperationValue, + CloudError +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/parameters.ts b/packages/@azure/arm-compute/lib/models/parameters.ts new file mode 100644 index 000000000000..580f89469678 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/parameters.ts @@ -0,0 +1,419 @@ +/* + * 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 "ms-rest-js"; + +export const acceptLanguage: msRest.OperationParameter = { + parameterPath: "acceptLanguage", + mapper: { + serializedName: "accept-language", + defaultValue: 'en-US', + type: { + name: "String" + } + } +}; +export const apiVersion0: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + isConstant: true, + serializedName: "api-version", + defaultValue: '2018-10-01', + type: { + name: "String" + } + } +}; +export const apiVersion1: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + isConstant: true, + serializedName: "api-version", + defaultValue: '2017-09-01', + type: { + name: "String" + } + } +}; +export const apiVersion2: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + isConstant: true, + serializedName: "api-version", + defaultValue: '2018-06-01', + type: { + name: "String" + } + } +}; +export const apiVersion3: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + isConstant: true, + serializedName: "api-version", + defaultValue: '2017-01-31', + type: { + name: "String" + } + } +}; +export const availabilitySetName: msRest.OperationURLParameter = { + parameterPath: "availabilitySetName", + mapper: { + required: true, + serializedName: "availabilitySetName", + type: { + name: "String" + } + } +}; +export const commandId: msRest.OperationURLParameter = { + parameterPath: "commandId", + mapper: { + required: true, + serializedName: "commandId", + type: { + name: "String" + } + } +}; +export const containerServiceName: msRest.OperationURLParameter = { + parameterPath: "containerServiceName", + mapper: { + required: true, + serializedName: "containerServiceName", + type: { + name: "String" + } + } +}; +export const diskName: msRest.OperationURLParameter = { + parameterPath: "diskName", + mapper: { + required: true, + serializedName: "diskName", + type: { + name: "String" + } + } +}; +export const expand0: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "expand" + ], + mapper: { + serializedName: "$expand", + type: { + name: "String" + } + } +}; +export const expand1: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "expand" + ], + mapper: { + serializedName: "$expand", + type: { + name: "Enum", + allowedValues: [ + "instanceView" + ] + } + } +}; +export const filter: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "filter" + ], + mapper: { + serializedName: "$filter", + type: { + name: "String" + } + } +}; +export const galleryImageName: msRest.OperationURLParameter = { + parameterPath: "galleryImageName", + mapper: { + required: true, + serializedName: "galleryImageName", + type: { + name: "String" + } + } +}; +export const galleryImageVersionName: msRest.OperationURLParameter = { + parameterPath: "galleryImageVersionName", + mapper: { + required: true, + serializedName: "galleryImageVersionName", + type: { + name: "String" + } + } +}; +export const galleryName: msRest.OperationURLParameter = { + parameterPath: "galleryName", + mapper: { + required: true, + serializedName: "galleryName", + type: { + name: "String" + } + } +}; +export const imageName: msRest.OperationURLParameter = { + parameterPath: "imageName", + mapper: { + required: true, + serializedName: "imageName", + type: { + name: "String" + } + } +}; +export const instanceId: msRest.OperationURLParameter = { + parameterPath: "instanceId", + mapper: { + required: true, + serializedName: "instanceId", + type: { + name: "String" + } + } +}; +export const itemId: msRest.OperationURLParameter = { + parameterPath: "itemId", + mapper: { + required: true, + serializedName: "itemId", + type: { + name: "String" + } + } +}; +export const location0: msRest.OperationURLParameter = { + parameterPath: "location", + mapper: { + required: true, + serializedName: "location", + type: { + name: "String" + } + } +}; +export const location1: msRest.OperationURLParameter = { + parameterPath: "location", + mapper: { + required: true, + serializedName: "location", + constraints: { + Pattern: /^[-\w\._]+$/ + }, + type: { + name: "String" + } + } +}; +export const nextPageLink: msRest.OperationURLParameter = { + parameterPath: "nextPageLink", + mapper: { + required: true, + serializedName: "nextLink", + type: { + name: "String" + } + }, + skipEncoding: true +}; +export const offer: msRest.OperationURLParameter = { + parameterPath: "offer", + mapper: { + required: true, + serializedName: "offer", + type: { + name: "String" + } + } +}; +export const orderby: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "orderby" + ], + mapper: { + serializedName: "$orderby", + type: { + name: "String" + } + } +}; +export const platformUpdateDomain: msRest.OperationQueryParameter = { + parameterPath: "platformUpdateDomain", + mapper: { + required: true, + serializedName: "platformUpdateDomain", + type: { + name: "Number" + } + } +}; +export const publisherName: msRest.OperationURLParameter = { + parameterPath: "publisherName", + mapper: { + required: true, + serializedName: "publisherName", + type: { + name: "String" + } + } +}; +export const resourceGroupName: msRest.OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { + required: true, + serializedName: "resourceGroupName", + type: { + name: "String" + } + } +}; +export const select: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "select" + ], + mapper: { + serializedName: "$select", + type: { + name: "String" + } + } +}; +export const skus: msRest.OperationURLParameter = { + parameterPath: "skus", + mapper: { + required: true, + serializedName: "skus", + type: { + name: "String" + } + } +}; +export const snapshotName: msRest.OperationURLParameter = { + parameterPath: "snapshotName", + mapper: { + required: true, + serializedName: "snapshotName", + type: { + name: "String" + } + } +}; +export const subscriptionId: msRest.OperationURLParameter = { + parameterPath: "subscriptionId", + mapper: { + required: true, + serializedName: "subscriptionId", + type: { + name: "String" + } + } +}; +export const top: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "top" + ], + mapper: { + serializedName: "$top", + type: { + name: "Number" + } + } +}; +export const type: msRest.OperationURLParameter = { + parameterPath: "type", + mapper: { + required: true, + serializedName: "type", + type: { + name: "String" + } + } +}; +export const version: msRest.OperationURLParameter = { + parameterPath: "version", + mapper: { + required: true, + serializedName: "version", + type: { + name: "String" + } + } +}; +export const virtualMachineScaleSetName: msRest.OperationURLParameter = { + parameterPath: "virtualMachineScaleSetName", + mapper: { + required: true, + serializedName: "virtualMachineScaleSetName", + type: { + name: "String" + } + } +}; +export const vmExtensionName: msRest.OperationURLParameter = { + parameterPath: "vmExtensionName", + mapper: { + required: true, + serializedName: "vmExtensionName", + type: { + name: "String" + } + } +}; +export const vmName: msRest.OperationURLParameter = { + parameterPath: "vmName", + mapper: { + required: true, + serializedName: "vmName", + type: { + name: "String" + } + } +}; +export const vmScaleSetName: msRest.OperationURLParameter = { + parameterPath: "vmScaleSetName", + mapper: { + required: true, + serializedName: "vmScaleSetName", + type: { + name: "String" + } + } +}; +export const vmssExtensionName: msRest.OperationURLParameter = { + parameterPath: "vmssExtensionName", + mapper: { + required: true, + serializedName: "vmssExtensionName", + type: { + name: "String" + } + } +}; diff --git a/packages/@azure/arm-compute/lib/models/resourceSkusMappers.ts b/packages/@azure/arm-compute/lib/models/resourceSkusMappers.ts new file mode 100644 index 000000000000..5b7c7fb7b1fe --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/resourceSkusMappers.ts @@ -0,0 +1,22 @@ +/* + * 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 { + ResourceSkusResult, + ResourceSku, + ResourceSkuCapacity, + ResourceSkuLocationInfo, + ResourceSkuCosts, + ResourceSkuCapabilities, + ResourceSkuRestrictions, + ResourceSkuRestrictionInfo, + CloudError +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/snapshotsMappers.ts b/packages/@azure/arm-compute/lib/models/snapshotsMappers.ts new file mode 100644 index 000000000000..d5eec26e9ab3 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/snapshotsMappers.ts @@ -0,0 +1,163 @@ +/* + * 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 { + Snapshot, + Resource, + BaseResource, + SnapshotSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + CloudError, + SnapshotUpdate, + SnapshotList, + GrantAccessData, + AccessUri, + SubResource, + AvailabilitySet, + InstanceViewStatus, + Sku, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/usageOperationsMappers.ts b/packages/@azure/arm-compute/lib/models/usageOperationsMappers.ts new file mode 100644 index 000000000000..6287f8cd62f3 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/usageOperationsMappers.ts @@ -0,0 +1,17 @@ +/* + * 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 { + ListUsagesResult, + Usage, + UsageName, + CloudError +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineExtensionImagesMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineExtensionImagesMappers.ts new file mode 100644 index 000000000000..e01c2598bb8b --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineExtensionImagesMappers.ts @@ -0,0 +1,159 @@ +/* + * 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 { + VirtualMachineExtensionImage, + Resource, + BaseResource, + CloudError, + SubResource, + AvailabilitySet, + InstanceViewStatus, + Sku, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineExtensionsMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineExtensionsMappers.ts new file mode 100644 index 000000000000..3950bd4fe23f --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineExtensionsMappers.ts @@ -0,0 +1,160 @@ +/* + * 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 { + VirtualMachineExtension, + Resource, + BaseResource, + VirtualMachineExtensionInstanceView, + InstanceViewStatus, + CloudError, + VirtualMachineExtensionUpdate, + UpdateResource, + VirtualMachineExtensionsListResult, + SubResource, + AvailabilitySet, + Sku, + AvailabilitySetUpdate, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + VirtualMachineUpdate, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + ImageUpdate, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineImagesMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineImagesMappers.ts new file mode 100644 index 000000000000..435c2dac74cb --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineImagesMappers.ts @@ -0,0 +1,159 @@ +/* + * 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 { + VirtualMachineImage, + VirtualMachineImageResource, + SubResource, + BaseResource, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + CloudError, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + Resource, + UpdateResource, + SubResourceReadOnly, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySet, + InstanceViewStatus, + Sku, + AvailabilitySetUpdate, + VirtualMachineExtensionImage, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineExtensionUpdate, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + VirtualMachineUpdate, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + ImageUpdate, + VirtualMachineScaleSetExtension, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineRunCommandsMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineRunCommandsMappers.ts new file mode 100644 index 000000000000..ba20496fe4c7 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineRunCommandsMappers.ts @@ -0,0 +1,18 @@ +/* + * 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 { + RunCommandListResult, + RunCommandDocumentBase, + CloudError, + RunCommandDocument, + RunCommandParameterDefinition +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetExtensionsMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetExtensionsMappers.ts new file mode 100644 index 000000000000..aee94f8ae8c6 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetExtensionsMappers.ts @@ -0,0 +1,160 @@ +/* + * 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 { + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + BaseResource, + CloudError, + VirtualMachineScaleSetExtensionListResult, + SubResource, + VirtualMachineImageResource, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + Resource, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySet, + InstanceViewStatus, + Sku, + AvailabilitySetUpdate, + VirtualMachineExtensionImage, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineExtensionUpdate, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + VirtualMachineUpdate, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + ImageUpdate, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetRollingUpgradesMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetRollingUpgradesMappers.ts new file mode 100644 index 000000000000..24c95d8ed16d --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetRollingUpgradesMappers.ts @@ -0,0 +1,159 @@ +/* + * 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 { + CloudError, + RollingUpgradeStatusInfo, + Resource, + BaseResource, + RollingUpgradePolicy, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + SubResource, + AvailabilitySet, + InstanceViewStatus, + Sku, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ImageReference, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + Plan, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetVMsMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetVMsMappers.ts new file mode 100644 index 000000000000..0d46cd18fc77 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetVMsMappers.ts @@ -0,0 +1,163 @@ +/* + * 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 { + CloudError, + VirtualMachineScaleSetVM, + Resource, + BaseResource, + Sku, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + InstanceViewStatus, + MaintenanceRedeployStatus, + DiskInstanceView, + DiskEncryptionSettings, + KeyVaultSecretReference, + SubResource, + KeyVaultKeyReference, + VirtualMachineExtensionInstanceView, + VirtualMachineHealthStatus, + BootDiagnosticsInstanceView, + HardwareProfile, + StorageProfile, + ImageReference, + OSDisk, + VirtualHardDisk, + DiffDiskSettings, + ManagedDiskParameters, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + NetworkInterfaceReference, + DiagnosticsProfile, + BootDiagnostics, + Plan, + VirtualMachineExtension, + VirtualMachineScaleSetVMListResult, + RunCommandInput, + RunCommandInputParameter, + RunCommandResult, + AvailabilitySet, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + VirtualMachine, + VirtualMachineInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + UpdateResource, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + AvailabilitySetUpdate, + VirtualMachineExtensionUpdate, + VirtualMachineUpdate, + ImageUpdate, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetsMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetsMappers.ts new file mode 100644 index 000000000000..45fff5172d71 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineScaleSetsMappers.ts @@ -0,0 +1,176 @@ +/* + * 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 { + VirtualMachineScaleSet, + Resource, + BaseResource, + Sku, + Plan, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + SubResource, + VaultCertificate, + VirtualMachineScaleSetStorageProfile, + ImageReference, + VirtualMachineScaleSetOSDisk, + DiffDiskSettings, + VirtualHardDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + AdditionalCapabilities, + VirtualMachineScaleSetNetworkProfile, + ApiEntityReference, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetIPConfiguration, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + CloudError, + VirtualMachineScaleSetUpdate, + UpdateResource, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetVMInstanceIDs, + VirtualMachineScaleSetVMInstanceRequiredIDs, + VirtualMachineScaleSetInstanceView, + VirtualMachineScaleSetInstanceViewStatusesSummary, + VirtualMachineStatusCodeCount, + VirtualMachineScaleSetVMExtensionsSummary, + InstanceViewStatus, + VirtualMachineScaleSetListResult, + VirtualMachineScaleSetListWithLinkResult, + VirtualMachineScaleSetListSkusResult, + VirtualMachineScaleSetSku, + VirtualMachineScaleSetSkuCapacity, + VirtualMachineScaleSetListOSUpgradeHistory, + UpgradeOperationHistoricalStatusInfo, + UpgradeOperationHistoricalStatusInfoProperties, + UpgradeOperationHistoryStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + RollbackStatusInfo, + RecoveryWalkResponse, + AvailabilitySet, + AvailabilitySetUpdate, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtension, + VirtualMachineExtensionInstanceView, + VirtualMachineExtensionUpdate, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + VirtualMachineCaptureResult, + ManagedDiskParameters, + NetworkInterfaceReference, + VirtualMachine, + HardwareProfile, + StorageProfile, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + DataDisk, + OSProfile, + NetworkProfile, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + MaintenanceRedeployStatus, + DiskInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + VirtualMachineUpdate, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + ImageUpdate, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + InGuestSoftwareItem, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachineSizesMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachineSizesMappers.ts new file mode 100644 index 000000000000..a3ed4a2455b3 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachineSizesMappers.ts @@ -0,0 +1,16 @@ +/* + * 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 { + VirtualMachineSizeListResult, + VirtualMachineSize, + CloudError +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/models/virtualMachinesMappers.ts b/packages/@azure/arm-compute/lib/models/virtualMachinesMappers.ts new file mode 100644 index 000000000000..65f248a89699 --- /dev/null +++ b/packages/@azure/arm-compute/lib/models/virtualMachinesMappers.ts @@ -0,0 +1,167 @@ +/* + * 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 { + VirtualMachineListResult, + VirtualMachine, + Resource, + BaseResource, + Plan, + HardwareProfile, + StorageProfile, + ImageReference, + SubResource, + OSDisk, + DiskEncryptionSettings, + KeyVaultSecretReference, + KeyVaultKeyReference, + VirtualHardDisk, + DiffDiskSettings, + ManagedDiskParameters, + DataDisk, + AdditionalCapabilities, + OSProfile, + WindowsConfiguration, + AdditionalUnattendContent, + WinRMConfiguration, + WinRMListener, + LinuxConfiguration, + SshConfiguration, + SshPublicKey, + VaultSecretGroup, + VaultCertificate, + NetworkProfile, + NetworkInterfaceReference, + DiagnosticsProfile, + BootDiagnostics, + VirtualMachineInstanceView, + VirtualMachineAgentInstanceView, + VirtualMachineExtensionHandlerInstanceView, + InstanceViewStatus, + MaintenanceRedeployStatus, + DiskInstanceView, + VirtualMachineExtensionInstanceView, + BootDiagnosticsInstanceView, + VirtualMachineExtension, + VirtualMachineIdentity, + VirtualMachineIdentityUserAssignedIdentitiesValue, + CloudError, + VirtualMachineCaptureParameters, + VirtualMachineCaptureResult, + VirtualMachineUpdate, + UpdateResource, + VirtualMachineSizeListResult, + VirtualMachineSize, + InGuestSoftwareItemsListResult, + InGuestSoftwareItem, + RunCommandInput, + RunCommandInputParameter, + RunCommandResult, + AvailabilitySet, + Sku, + AvailabilitySetUpdate, + VirtualMachineExtensionImage, + VirtualMachineImageResource, + VirtualMachineExtensionUpdate, + VirtualMachineImage, + PurchasePlan, + OSDiskImage, + DataDiskImage, + AutomaticOSUpgradeProperties, + Image, + ImageStorageProfile, + ImageOSDisk, + ImageDataDisk, + ImageUpdate, + VirtualMachineScaleSetIPConfiguration, + ApiEntityReference, + VirtualMachineScaleSetPublicIPAddressConfiguration, + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, + VirtualMachineScaleSetIpTag, + VirtualMachineScaleSetUpdateIPConfiguration, + VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, + VirtualMachineScaleSetNetworkConfiguration, + VirtualMachineScaleSetNetworkConfigurationDnsSettings, + VirtualMachineScaleSetUpdateNetworkConfiguration, + VirtualMachineScaleSet, + UpgradePolicy, + RollingUpgradePolicy, + AutomaticOSUpgradePolicy, + VirtualMachineScaleSetVMProfile, + VirtualMachineScaleSetOSProfile, + VirtualMachineScaleSetStorageProfile, + VirtualMachineScaleSetOSDisk, + VirtualMachineScaleSetManagedDiskParameters, + VirtualMachineScaleSetDataDisk, + VirtualMachineScaleSetNetworkProfile, + VirtualMachineScaleSetExtensionProfile, + VirtualMachineScaleSetExtension, + SubResourceReadOnly, + VirtualMachineScaleSetIdentity, + VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, + VirtualMachineScaleSetUpdate, + VirtualMachineScaleSetUpdateVMProfile, + VirtualMachineScaleSetUpdateOSProfile, + VirtualMachineScaleSetUpdateStorageProfile, + VirtualMachineScaleSetUpdateOSDisk, + VirtualMachineScaleSetUpdateNetworkProfile, + VirtualMachineScaleSetVM, + VirtualMachineScaleSetVMInstanceView, + VirtualMachineHealthStatus, + RollingUpgradeStatusInfo, + RollingUpgradeRunningStatus, + RollingUpgradeProgressInfo, + ApiError, + ApiErrorBase, + InnerError, + Disk, + DiskSku, + CreationData, + ImageDiskReference, + EncryptionSettings, + KeyVaultAndSecretReference, + SourceVault, + KeyVaultAndKeyReference, + Snapshot, + SnapshotSku, + Gallery, + GalleryIdentifier, + GalleryImage, + GalleryImageIdentifier, + RecommendedMachineConfiguration, + ResourceRange, + Disallowed, + ImagePurchasePlan, + GalleryImageVersion, + GalleryImageVersionPublishingProfile, + GalleryArtifactPublishingProfileBase, + TargetRegion, + GalleryArtifactSource, + ManagedArtifact, + GalleryImageVersionStorageProfile, + GalleryOSDiskImage, + GalleryDiskImage, + GalleryDataDiskImage, + ReplicationStatus, + RegionalReplicationStatus, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics +} from "../models/mappers"; + diff --git a/packages/@azure/arm-compute/lib/operations/availabilitySets.ts b/packages/@azure/arm-compute/lib/operations/availabilitySets.ts new file mode 100644 index 000000000000..4d61028c81c7 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/availabilitySets.ts @@ -0,0 +1,534 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/availabilitySetsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a AvailabilitySets. */ +export class AvailabilitySets { + private readonly client: ComputeManagementClientContext; + + /** + * Create a AvailabilitySets. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Create or update an availability set. + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param parameters Parameters supplied to the Create Availability Set operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, availabilitySetName: string, parameters: Models.AvailabilitySet, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param parameters Parameters supplied to the Create Availability Set operation. + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, availabilitySetName: string, parameters: Models.AvailabilitySet, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param parameters Parameters supplied to the Create Availability Set operation. + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, availabilitySetName: string, parameters: Models.AvailabilitySet, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(resourceGroupName: string, availabilitySetName: string, parameters: Models.AvailabilitySet, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + availabilitySetName, + parameters, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * Update an availability set. + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param parameters Parameters supplied to the Update Availability Set operation. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, availabilitySetName: string, parameters: Models.AvailabilitySetUpdate, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param parameters Parameters supplied to the Update Availability Set operation. + * @param callback The callback + */ + update(resourceGroupName: string, availabilitySetName: string, parameters: Models.AvailabilitySetUpdate, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param parameters Parameters supplied to the Update Availability Set operation. + * @param options The optional parameters + * @param callback The callback + */ + update(resourceGroupName: string, availabilitySetName: string, parameters: Models.AvailabilitySetUpdate, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, availabilitySetName: string, parameters: Models.AvailabilitySetUpdate, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + availabilitySetName, + parameters, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * Delete an availability set. + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, availabilitySetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, availabilitySetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, availabilitySetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, availabilitySetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + availabilitySetName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * Retrieves information about an availability set. + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, availabilitySetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param callback The callback + */ + get(resourceGroupName: string, availabilitySetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, availabilitySetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, availabilitySetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + availabilitySetName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Lists all availability sets in a subscription. + * @param [options] The optional parameters + * @returns Promise + */ + listBySubscription(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + listBySubscription(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listBySubscription(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listBySubscription(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listBySubscriptionOperationSpec, + callback) as Promise; + } + + /** + * Lists all availability sets in a resource group. + * @param resourceGroupName The name of the resource group. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param callback The callback + */ + list(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Lists all available virtual machine sizes that can be used to create a new virtual machine in an + * existing availability set. + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param [options] The optional parameters + * @returns Promise + */ + listAvailableSizes(resourceGroupName: string, availabilitySetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param callback The callback + */ + listAvailableSizes(resourceGroupName: string, availabilitySetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param availabilitySetName The name of the availability set. + * @param options The optional parameters + * @param callback The callback + */ + listAvailableSizes(resourceGroupName: string, availabilitySetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listAvailableSizes(resourceGroupName: string, availabilitySetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + availabilitySetName, + options + }, + listAvailableSizesOperationSpec, + callback) as Promise; + } + + /** + * Lists all availability sets in a subscription. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listBySubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listBySubscriptionNext(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 + */ + listBySubscriptionNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listBySubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listBySubscriptionNextOperationSpec, + callback) as Promise; + } + + /** + * Lists all availability sets in a resource group. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.availabilitySetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.AvailabilitySet, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.AvailabilitySet + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.availabilitySetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.AvailabilitySetUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.AvailabilitySet + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.availabilitySetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.availabilitySetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AvailabilitySet + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listBySubscriptionOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/availabilitySets", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AvailabilitySetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AvailabilitySetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listAvailableSizesOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.availabilitySetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineSizeListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listBySubscriptionNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AvailabilitySetListResult + }, + 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.AvailabilitySetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/containerServices.ts b/packages/@azure/arm-compute/lib/operations/containerServices.ts new file mode 100644 index 000000000000..4478344c82a9 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/containerServices.ts @@ -0,0 +1,444 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/containerServicesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a ContainerServices. */ +export class ContainerServices { + private readonly client: ComputeManagementClientContext; + + /** + * Create a ContainerServices. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of container services in the specified subscription. The operation returns + * properties of each container service including state, orchestrator, number of masters and + * agents, and FQDNs of masters and agents. + * @summary Gets a list of container services in the specified subscription. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates a container service with the specified configuration of orchestrator, + * masters, and agents. + * @summary Creates or updates a container service. + * @param resourceGroupName The name of the resource group. + * @param containerServiceName The name of the container service in the specified subscription and + * resource group. + * @param parameters Parameters supplied to the Create or Update a Container Service operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, containerServiceName: string, parameters: Models.ContainerService, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,containerServiceName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Gets the properties of the specified container service in the specified subscription and + * resource group. The operation returns the properties including state, orchestrator, number of + * masters and agents, and FQDNs of masters and agents. + * @summary Gets the properties of the specified container service. + * @param resourceGroupName The name of the resource group. + * @param containerServiceName The name of the container service in the specified subscription and + * resource group. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, containerServiceName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param containerServiceName The name of the container service in the specified subscription and + * resource group. + * @param callback The callback + */ + get(resourceGroupName: string, containerServiceName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param containerServiceName The name of the container service in the specified subscription and + * resource group. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, containerServiceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, containerServiceName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + containerServiceName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Deletes the specified container service in the specified subscription and resource group. The + * operation does not delete other resources created as part of creating a container service, + * including storage accounts, VMs, and availability sets. All the other resources created with the + * container service are part of the same resource group and can be deleted individually. + * @summary Deletes the specified container service. + * @param resourceGroupName The name of the resource group. + * @param containerServiceName The name of the container service in the specified subscription and + * resource group. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, containerServiceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,containerServiceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Gets a list of container services in the specified subscription and resource group. The + * operation returns properties of each container service including state, orchestrator, number of + * masters and agents, and FQDNs of masters and agents. + * @summary Gets a list of container services in the specified resource group. + * @param resourceGroupName The name of the resource group. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates a container service with the specified configuration of orchestrator, + * masters, and agents. + * @summary Creates or updates a container service. + * @param resourceGroupName The name of the resource group. + * @param containerServiceName The name of the container service in the specified subscription and + * resource group. + * @param parameters Parameters supplied to the Create or Update a Container Service operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, containerServiceName: string, parameters: Models.ContainerService, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + containerServiceName, + parameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Deletes the specified container service in the specified subscription and resource group. The + * operation does not delete other resources created as part of creating a container service, + * including storage accounts, VMs, and availability sets. All the other resources created with the + * container service are part of the same resource group and can be deleted individually. + * @summary Deletes the specified container service. + * @param resourceGroupName The name of the resource group. + * @param containerServiceName The name of the container service in the specified subscription and + * resource group. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, containerServiceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + containerServiceName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Gets a list of container services in the specified subscription. The operation returns + * properties of each container service including state, orchestrator, number of masters and + * agents, and FQDNs of masters and agents. + * @summary Gets a list of container services in the specified subscription. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of container services in the specified subscription and resource group. The + * operation returns properties of each container service including state, orchestrator, number of + * masters and agents, and FQDNs of masters and agents. + * @summary Gets a list of container services in the specified resource group. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(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 + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion3 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ContainerServiceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.containerServiceName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion3 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ContainerService + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion3 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ContainerServiceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.containerServiceName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion3 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ContainerService, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ContainerService + }, + 201: { + bodyMapper: Mappers.ContainerService + }, + 202: { + bodyMapper: Mappers.ContainerService + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.containerServiceName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion3 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 202: {}, + 204: {}, + 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.ContainerServiceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ContainerServiceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/disks.ts b/packages/@azure/arm-compute/lib/operations/disks.ts new file mode 100644 index 000000000000..222782a6290a --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/disks.ts @@ -0,0 +1,622 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/disksMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a Disks. */ +export class Disks { + private readonly client: ComputeManagementClientContext; + + /** + * Create a Disks. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Creates or updates a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param disk Disk object supplied in the body of the Put disk operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, diskName: string, disk: Models.Disk, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,diskName,disk,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Updates (patches) a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param disk Disk object supplied in the body of the Patch disk operation. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, diskName: string, disk: Models.DiskUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,diskName,disk,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Gets information about a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, diskName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param callback The callback + */ + get(resourceGroupName: string, diskName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, diskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, diskName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + diskName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Deletes a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, diskName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,diskName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Lists all the disks under a resource group. + * @param resourceGroupName The name of the resource group. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * Lists all the disks under a subscription. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Grants access to a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param grantAccessData Access data object supplied in the body of the get disk access operation. + * @param [options] The optional parameters + * @returns Promise + */ + grantAccess(resourceGroupName: string, diskName: string, grantAccessData: Models.GrantAccessData, options?: msRest.RequestOptionsBase): Promise { + return this.beginGrantAccess(resourceGroupName,diskName,grantAccessData,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Revokes access to a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + revokeAccess(resourceGroupName: string, diskName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginRevokeAccess(resourceGroupName,diskName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Creates or updates a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param disk Disk object supplied in the body of the Put disk operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, diskName: string, disk: Models.Disk, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + diskName, + disk, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Updates (patches) a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param disk Disk object supplied in the body of the Patch disk operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, diskName: string, disk: Models.DiskUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + diskName, + disk, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * Deletes a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, diskName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + diskName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Grants access to a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param grantAccessData Access data object supplied in the body of the get disk access operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginGrantAccess(resourceGroupName: string, diskName: string, grantAccessData: Models.GrantAccessData, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + diskName, + grantAccessData, + options + }, + beginGrantAccessOperationSpec, + options); + } + + /** + * Revokes access to a disk. + * @param resourceGroupName The name of the resource group. + * @param diskName The name of the managed disk that is being created. The name can't be changed + * after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * maximum name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + beginRevokeAccess(resourceGroupName: string, diskName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + diskName, + options + }, + beginRevokeAccessOperationSpec, + options); + } + + /** + * Lists all the disks under a resource group. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(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 + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } + + /** + * Lists all the disks under a subscription. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.diskName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Disk + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DiskList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DiskList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.diskName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "disk", + mapper: { + ...Mappers.Disk, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Disk + }, + 202: { + bodyMapper: Mappers.Disk + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.diskName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "disk", + mapper: { + ...Mappers.DiskUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Disk + }, + 202: { + bodyMapper: Mappers.Disk + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.diskName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginGrantAccessOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.diskName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "grantAccessData", + mapper: { + ...Mappers.GrantAccessData, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.AccessUri + }, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRevokeAccessOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.diskName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DiskList + }, + 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.DiskList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/galleries.ts b/packages/@azure/arm-compute/lib/operations/galleries.ts new file mode 100644 index 000000000000..fda6238ba32b --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/galleries.ts @@ -0,0 +1,413 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/galleriesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a Galleries. */ +export class Galleries { + private readonly client: ComputeManagementClientContext; + + /** + * Create a Galleries. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Create or update a Shared Image Gallery. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets + * and numbers with dots and periods allowed in the middle. The maximum length is 80 characters. + * @param gallery Parameters supplied to the create or update Shared Image Gallery operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, galleryName: string, gallery: Models.Gallery, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,galleryName,gallery,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Retrieves information about a Shared Image Gallery. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, galleryName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery. + * @param callback The callback + */ + get(resourceGroupName: string, galleryName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, galleryName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, galleryName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + galleryName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Delete a Shared Image Gallery. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery to be deleted. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, galleryName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,galleryName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * List galleries under a resource group. + * @param resourceGroupName The name of the resource group. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * List galleries under a subscription. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Create or update a Shared Image Gallery. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets + * and numbers with dots and periods allowed in the middle. The maximum length is 80 characters. + * @param gallery Parameters supplied to the create or update Shared Image Gallery operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, galleryName: string, gallery: Models.Gallery, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + galleryName, + gallery, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Delete a Shared Image Gallery. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery to be deleted. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, galleryName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + galleryName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * List galleries under a resource group. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(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 + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } + + /** + * List galleries under a subscription. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Gallery + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "gallery", + mapper: { + ...Mappers.Gallery, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Gallery + }, + 201: { + bodyMapper: Mappers.Gallery + }, + 202: { + bodyMapper: Mappers.Gallery + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryList + }, + 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.GalleryList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/galleryImageVersions.ts b/packages/@azure/arm-compute/lib/operations/galleryImageVersions.ts new file mode 100644 index 000000000000..795d2a461ead --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/galleryImageVersions.ts @@ -0,0 +1,368 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/galleryImageVersionsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a GalleryImageVersions. */ +export class GalleryImageVersions { + private readonly client: ComputeManagementClientContext; + + /** + * Create a GalleryImageVersions. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Create or update a gallery Image Version. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the gallery Image Definition in which the Image Version is + * to be created. + * @param galleryImageVersionName The name of the gallery Image Version to be created. Needs to + * follow semantic version name pattern: The allowed characters are digit and period. Digits must + * be within the range of a 32-bit integer. Format: .. + * @param galleryImageVersion Parameters supplied to the create or update gallery Image Version + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, galleryImageVersion: Models.GalleryImageVersion, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,galleryName,galleryImageName,galleryImageVersionName,galleryImageVersion,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Retrieves information about a gallery Image Version. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the gallery Image Definition in which the Image Version + * resides. + * @param galleryImageVersionName The name of the gallery Image Version to be retrieved. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, options?: Models.GalleryImageVersionsGetOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the gallery Image Definition in which the Image Version + * resides. + * @param galleryImageVersionName The name of the gallery Image Version to be retrieved. + * @param callback The callback + */ + get(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the gallery Image Definition in which the Image Version + * resides. + * @param galleryImageVersionName The name of the gallery Image Version to be retrieved. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, options: Models.GalleryImageVersionsGetOptionalParams, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, options?: Models.GalleryImageVersionsGetOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + galleryName, + galleryImageName, + galleryImageVersionName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Delete a gallery Image Version. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the gallery Image Definition in which the Image Version + * resides. + * @param galleryImageVersionName The name of the gallery Image Version to be deleted. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,galleryName,galleryImageName,galleryImageVersionName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * List gallery Image Versions in a gallery Image Definition. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the Shared Image Gallery Image Definition from which the + * Image Versions are to be listed. + * @param [options] The optional parameters + * @returns Promise + */ + listByGalleryImage(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the Shared Image Gallery Image Definition from which the + * Image Versions are to be listed. + * @param callback The callback + */ + listByGalleryImage(resourceGroupName: string, galleryName: string, galleryImageName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the Shared Image Gallery Image Definition from which the + * Image Versions are to be listed. + * @param options The optional parameters + * @param callback The callback + */ + listByGalleryImage(resourceGroupName: string, galleryName: string, galleryImageName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByGalleryImage(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + galleryName, + galleryImageName, + options + }, + listByGalleryImageOperationSpec, + callback) as Promise; + } + + /** + * Create or update a gallery Image Version. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the gallery Image Definition in which the Image Version is + * to be created. + * @param galleryImageVersionName The name of the gallery Image Version to be created. Needs to + * follow semantic version name pattern: The allowed characters are digit and period. Digits must + * be within the range of a 32-bit integer. Format: .. + * @param galleryImageVersion Parameters supplied to the create or update gallery Image Version + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, galleryImageVersion: Models.GalleryImageVersion, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + galleryName, + galleryImageName, + galleryImageVersionName, + galleryImageVersion, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Delete a gallery Image Version. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides. + * @param galleryImageName The name of the gallery Image Definition in which the Image Version + * resides. + * @param galleryImageVersionName The name of the gallery Image Version to be deleted. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + galleryName, + galleryImageName, + galleryImageVersionName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * List gallery Image Versions in a gallery Image Definition. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByGalleryImageNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByGalleryImageNext(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 + */ + listByGalleryImageNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByGalleryImageNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByGalleryImageNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName, + Parameters.galleryImageName, + Parameters.galleryImageVersionName + ], + queryParameters: [ + Parameters.expand0, + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryImageVersion + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByGalleryImageOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName, + Parameters.galleryImageName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryImageVersionList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName, + Parameters.galleryImageName, + Parameters.galleryImageVersionName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "galleryImageVersion", + mapper: { + ...Mappers.GalleryImageVersion, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.GalleryImageVersion + }, + 201: { + bodyMapper: Mappers.GalleryImageVersion + }, + 202: { + bodyMapper: Mappers.GalleryImageVersion + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName, + Parameters.galleryImageName, + Parameters.galleryImageVersionName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByGalleryImageNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryImageVersionList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/galleryImages.ts b/packages/@azure/arm-compute/lib/operations/galleryImages.ts new file mode 100644 index 000000000000..50aef0b2903d --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/galleryImages.ts @@ -0,0 +1,347 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/galleryImagesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a GalleryImages. */ +export class GalleryImages { + private readonly client: ComputeManagementClientContext; + + /** + * Create a GalleryImages. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Create or update a gallery Image Definition. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be + * created. + * @param galleryImageName The name of the gallery Image Definition to be created or updated. The + * allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the + * middle. The maximum length is 80 characters. + * @param galleryImage Parameters supplied to the create or update gallery image operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImage: Models.GalleryImage, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,galleryName,galleryImageName,galleryImage,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Retrieves information about a gallery Image Definition. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery from which the Image Definitions are to + * be retrieved. + * @param galleryImageName The name of the gallery Image Definition to be retrieved. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery from which the Image Definitions are to + * be retrieved. + * @param galleryImageName The name of the gallery Image Definition to be retrieved. + * @param callback The callback + */ + get(resourceGroupName: string, galleryName: string, galleryImageName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery from which the Image Definitions are to + * be retrieved. + * @param galleryImageName The name of the gallery Image Definition to be retrieved. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, galleryName: string, galleryImageName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + galleryName, + galleryImageName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Delete a gallery image. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be + * deleted. + * @param galleryImageName The name of the gallery Image Definition to be deleted. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,galleryName,galleryImageName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * List gallery Image Definitions in a gallery. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery from which Image Definitions are to be + * listed. + * @param [options] The optional parameters + * @returns Promise + */ + listByGallery(resourceGroupName: string, galleryName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery from which Image Definitions are to be + * listed. + * @param callback The callback + */ + listByGallery(resourceGroupName: string, galleryName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery from which Image Definitions are to be + * listed. + * @param options The optional parameters + * @param callback The callback + */ + listByGallery(resourceGroupName: string, galleryName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByGallery(resourceGroupName: string, galleryName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + galleryName, + options + }, + listByGalleryOperationSpec, + callback) as Promise; + } + + /** + * Create or update a gallery Image Definition. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be + * created. + * @param galleryImageName The name of the gallery Image Definition to be created or updated. The + * allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the + * middle. The maximum length is 80 characters. + * @param galleryImage Parameters supplied to the create or update gallery image operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImage: Models.GalleryImage, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + galleryName, + galleryImageName, + galleryImage, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Delete a gallery image. + * @param resourceGroupName The name of the resource group. + * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be + * deleted. + * @param galleryImageName The name of the gallery Image Definition to be deleted. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + galleryName, + galleryImageName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * List gallery Image Definitions in a gallery. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByGalleryNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByGalleryNext(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 + */ + listByGalleryNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByGalleryNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByGalleryNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName, + Parameters.galleryImageName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryImage + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByGalleryOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryImageList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName, + Parameters.galleryImageName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "galleryImage", + mapper: { + ...Mappers.GalleryImage, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.GalleryImage + }, + 201: { + bodyMapper: Mappers.GalleryImage + }, + 202: { + bodyMapper: Mappers.GalleryImage + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.galleryName, + Parameters.galleryImageName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByGalleryNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.GalleryImageList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/images.ts b/packages/@azure/arm-compute/lib/operations/images.ts new file mode 100644 index 000000000000..756ef6b889d4 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/images.ts @@ -0,0 +1,479 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/imagesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a Images. */ +export class Images { + private readonly client: ComputeManagementClientContext; + + /** + * Create a Images. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Create or update an image. + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param parameters Parameters supplied to the Create Image operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, imageName: string, parameters: Models.Image, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,imageName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Update an image. + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param parameters Parameters supplied to the Update Image operation. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, imageName: string, parameters: Models.ImageUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,imageName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Deletes an Image. + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, imageName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,imageName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Gets an image. + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, imageName: string, options?: Models.ImagesGetOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param callback The callback + */ + get(resourceGroupName: string, imageName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, imageName: string, options: Models.ImagesGetOptionalParams, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, imageName: string, options?: Models.ImagesGetOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + imageName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Gets the list of images under a resource group. + * @param resourceGroupName The name of the resource group. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * Gets the list of Images in the subscription. Use nextLink property in the response to get the + * next page of Images. Do this till nextLink is null to fetch all the Images. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Create or update an image. + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param parameters Parameters supplied to the Create Image operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, imageName: string, parameters: Models.Image, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + imageName, + parameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Update an image. + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param parameters Parameters supplied to the Update Image operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, imageName: string, parameters: Models.ImageUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + imageName, + parameters, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * Deletes an Image. + * @param resourceGroupName The name of the resource group. + * @param imageName The name of the image. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, imageName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + imageName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Gets the list of images under a resource group. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(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 + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } + + /** + * Gets the list of Images in the subscription. Use nextLink property in the response to get the + * next page of Images. Do this till nextLink is null to fetch all the Images. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.imageName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.expand0, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Image + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ImageListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/images", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ImageListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.imageName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.Image, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Image + }, + 201: { + bodyMapper: Mappers.Image + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.imageName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ImageUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Image + }, + 201: { + bodyMapper: Mappers.Image + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.imageName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ImageListResult + }, + 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.ImageListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/index.ts b/packages/@azure/arm-compute/lib/operations/index.ts new file mode 100644 index 000000000000..98261ca1ab6b --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/index.ts @@ -0,0 +1,32 @@ +/* + * 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 * from "./operations"; +export * from "./availabilitySets"; +export * from "./virtualMachineExtensionImages"; +export * from "./virtualMachineExtensions"; +export * from "./virtualMachineImages"; +export * from "./usageOperations"; +export * from "./virtualMachines"; +export * from "./virtualMachineSizes"; +export * from "./images"; +export * from "./virtualMachineScaleSets"; +export * from "./virtualMachineScaleSetExtensions"; +export * from "./virtualMachineScaleSetRollingUpgrades"; +export * from "./virtualMachineScaleSetVMs"; +export * from "./logAnalytics"; +export * from "./virtualMachineRunCommands"; +export * from "./resourceSkus"; +export * from "./disks"; +export * from "./snapshots"; +export * from "./galleries"; +export * from "./galleryImages"; +export * from "./galleryImageVersions"; +export * from "./containerServices"; diff --git a/packages/@azure/arm-compute/lib/operations/logAnalytics.ts b/packages/@azure/arm-compute/lib/operations/logAnalytics.ts new file mode 100644 index 000000000000..1ce24a0da64d --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/logAnalytics.ts @@ -0,0 +1,159 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/logAnalyticsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a LogAnalytics. */ +export class LogAnalytics { + private readonly client: ComputeManagementClientContext; + + /** + * Create a LogAnalytics. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Export logs that show Api requests made by this subscription in the given time window to show + * throttling activities. + * @param parameters Parameters supplied to the LogAnalytics getRequestRateByInterval Api. + * @param location The location upon which virtual-machine-sizes is queried. + * @param [options] The optional parameters + * @returns Promise + */ + exportRequestRateByInterval(parameters: Models.RequestRateByIntervalInput, location: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginExportRequestRateByInterval(parameters,location,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Export logs that show total throttled Api requests for this subscription in the given time + * window. + * @param parameters Parameters supplied to the LogAnalytics getThrottledRequests Api. + * @param location The location upon which virtual-machine-sizes is queried. + * @param [options] The optional parameters + * @returns Promise + */ + exportThrottledRequests(parameters: Models.ThrottledRequestsInput, location: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginExportThrottledRequests(parameters,location,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Export logs that show Api requests made by this subscription in the given time window to show + * throttling activities. + * @param parameters Parameters supplied to the LogAnalytics getRequestRateByInterval Api. + * @param location The location upon which virtual-machine-sizes is queried. + * @param [options] The optional parameters + * @returns Promise + */ + beginExportRequestRateByInterval(parameters: Models.RequestRateByIntervalInput, location: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + parameters, + location, + options + }, + beginExportRequestRateByIntervalOperationSpec, + options); + } + + /** + * Export logs that show total throttled Api requests for this subscription in the given time + * window. + * @param parameters Parameters supplied to the LogAnalytics getThrottledRequests Api. + * @param location The location upon which virtual-machine-sizes is queried. + * @param [options] The optional parameters + * @returns Promise + */ + beginExportThrottledRequests(parameters: Models.ThrottledRequestsInput, location: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + parameters, + location, + options + }, + beginExportThrottledRequestsOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const beginExportRequestRateByIntervalOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval", + urlParameters: [ + Parameters.location1, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.RequestRateByIntervalInput, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.LogAnalyticsOperationResult + }, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginExportThrottledRequestsOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests", + urlParameters: [ + Parameters.location1, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ThrottledRequestsInput, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.LogAnalyticsOperationResult + }, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/operations.ts b/packages/@azure/arm-compute/lib/operations/operations.ts new file mode 100644 index 000000000000..ce959da2c911 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/operations.ts @@ -0,0 +1,74 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/operationsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a Operations. */ +export class Operations { + private readonly client: ComputeManagementClientContext; + + /** + * Create a Operations. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of compute operations. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Compute/operations", + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ComputeOperationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/resourceSkus.ts b/packages/@azure/arm-compute/lib/operations/resourceSkus.ts new file mode 100644 index 000000000000..a641b8ec3db5 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/resourceSkus.ts @@ -0,0 +1,126 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/resourceSkusMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a ResourceSkus. */ +export class ResourceSkus { + private readonly client: ComputeManagementClientContext; + + /** + * Create a ResourceSkus. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Gets the list of Microsoft.Compute SKUs available for your Subscription. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Gets the list of Microsoft.Compute SKUs available for your Subscription. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion1 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ResourceSkusResult + }, + 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.ResourceSkusResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/snapshots.ts b/packages/@azure/arm-compute/lib/operations/snapshots.ts new file mode 100644 index 000000000000..335eda62e711 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/snapshots.ts @@ -0,0 +1,624 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/snapshotsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a Snapshots. */ +export class Snapshots { + private readonly client: ComputeManagementClientContext; + + /** + * Create a Snapshots. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Creates or updates a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param snapshot Snapshot object supplied in the body of the Put disk operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, snapshotName: string, snapshot: Models.Snapshot, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,snapshotName,snapshot,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Updates (patches) a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param snapshot Snapshot object supplied in the body of the Patch snapshot operation. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, snapshotName: string, snapshot: Models.SnapshotUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,snapshotName,snapshot,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Gets information about a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, snapshotName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param callback The callback + */ + get(resourceGroupName: string, snapshotName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, snapshotName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, snapshotName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + snapshotName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Deletes a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, snapshotName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,snapshotName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Lists snapshots under a resource group. + * @param resourceGroupName The name of the resource group. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * Lists snapshots under a subscription. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Grants access to a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param grantAccessData Access data object supplied in the body of the get snapshot access + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + grantAccess(resourceGroupName: string, snapshotName: string, grantAccessData: Models.GrantAccessData, options?: msRest.RequestOptionsBase): Promise { + return this.beginGrantAccess(resourceGroupName,snapshotName,grantAccessData,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Revokes access to a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + revokeAccess(resourceGroupName: string, snapshotName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginRevokeAccess(resourceGroupName,snapshotName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Creates or updates a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param snapshot Snapshot object supplied in the body of the Put disk operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, snapshotName: string, snapshot: Models.Snapshot, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + snapshotName, + snapshot, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Updates (patches) a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param snapshot Snapshot object supplied in the body of the Patch snapshot operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, snapshotName: string, snapshot: Models.SnapshotUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + snapshotName, + snapshot, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * Deletes a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, snapshotName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + snapshotName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Grants access to a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param grantAccessData Access data object supplied in the body of the get snapshot access + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginGrantAccess(resourceGroupName: string, snapshotName: string, grantAccessData: Models.GrantAccessData, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + snapshotName, + grantAccessData, + options + }, + beginGrantAccessOperationSpec, + options); + } + + /** + * Revokes access to a snapshot. + * @param resourceGroupName The name of the resource group. + * @param snapshotName The name of the snapshot that is being created. The name can't be changed + * after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The + * max name length is 80 characters. + * @param [options] The optional parameters + * @returns Promise + */ + beginRevokeAccess(resourceGroupName: string, snapshotName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + snapshotName, + options + }, + beginRevokeAccessOperationSpec, + options); + } + + /** + * Lists snapshots under a resource group. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(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 + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } + + /** + * Lists snapshots under a subscription. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.snapshotName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Snapshot + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SnapshotList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SnapshotList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.snapshotName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "snapshot", + mapper: { + ...Mappers.Snapshot, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Snapshot + }, + 202: { + bodyMapper: Mappers.Snapshot + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.snapshotName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "snapshot", + mapper: { + ...Mappers.SnapshotUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Snapshot + }, + 202: { + bodyMapper: Mappers.Snapshot + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.snapshotName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginGrantAccessOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.snapshotName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "grantAccessData", + mapper: { + ...Mappers.GrantAccessData, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.AccessUri + }, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRevokeAccessOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.snapshotName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SnapshotList + }, + 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.SnapshotList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/usageOperations.ts b/packages/@azure/arm-compute/lib/operations/usageOperations.ts new file mode 100644 index 000000000000..3ea7988f2fc9 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/usageOperations.ts @@ -0,0 +1,133 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/usageOperationsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a UsageOperations. */ +export class UsageOperations { + private readonly client: ComputeManagementClientContext; + + /** + * Create a UsageOperations. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Gets, for the specified location, the current compute resource usage information as well as the + * limits for compute resources under the subscription. + * @param location The location for which resource usage is queried. + * @param [options] The optional parameters + * @returns Promise + */ + list(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The location for which resource usage is queried. + * @param callback The callback + */ + list(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location The location for which resource usage is queried. + * @param options The optional parameters + * @param callback The callback + */ + list(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(location: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Gets, for the specified location, the current compute resource usage information as well as the + * limits for compute resources under the subscription. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages", + urlParameters: [ + Parameters.location1, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ListUsagesResult + }, + 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.ListUsagesResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineExtensionImages.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineExtensionImages.ts new file mode 100644 index 000000000000..ab35556d8d70 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineExtensionImages.ts @@ -0,0 +1,241 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineExtensionImagesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineExtensionImages. */ +export class VirtualMachineExtensionImages { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineExtensionImages. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Gets a virtual machine extension image. + * @param location The name of a supported Azure region. + * @param publisherName + * @param type + * @param version + * @param [options] The optional parameters + * @returns Promise + */ + get(location: string, publisherName: string, type: string, version: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The name of a supported Azure region. + * @param publisherName + * @param type + * @param version + * @param callback The callback + */ + get(location: string, publisherName: string, type: string, version: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of a supported Azure region. + * @param publisherName + * @param type + * @param version + * @param options The optional parameters + * @param callback The callback + */ + get(location: string, publisherName: string, type: string, version: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(location: string, publisherName: string, type: string, version: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + publisherName, + type, + version, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of virtual machine extension image types. + * @param location The name of a supported Azure region. + * @param publisherName + * @param [options] The optional parameters + * @returns Promise + */ + listTypes(location: string, publisherName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The name of a supported Azure region. + * @param publisherName + * @param callback The callback + */ + listTypes(location: string, publisherName: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of a supported Azure region. + * @param publisherName + * @param options The optional parameters + * @param callback The callback + */ + listTypes(location: string, publisherName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listTypes(location: string, publisherName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + publisherName, + options + }, + listTypesOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of virtual machine extension image versions. + * @param location The name of a supported Azure region. + * @param publisherName + * @param type + * @param [options] The optional parameters + * @returns Promise + */ + listVersions(location: string, publisherName: string, type: string, options?: Models.VirtualMachineExtensionImagesListVersionsOptionalParams): Promise; + /** + * @param location The name of a supported Azure region. + * @param publisherName + * @param type + * @param callback The callback + */ + listVersions(location: string, publisherName: string, type: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of a supported Azure region. + * @param publisherName + * @param type + * @param options The optional parameters + * @param callback The callback + */ + listVersions(location: string, publisherName: string, type: string, options: Models.VirtualMachineExtensionImagesListVersionsOptionalParams, callback: msRest.ServiceCallback): void; + listVersions(location: string, publisherName: string, type: string, options?: Models.VirtualMachineExtensionImagesListVersionsOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + publisherName, + type, + options + }, + listVersionsOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}", + urlParameters: [ + Parameters.location0, + Parameters.publisherName, + Parameters.type, + Parameters.version, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineExtensionImage + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listTypesOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types", + urlParameters: [ + Parameters.location0, + Parameters.publisherName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: { + serializedName: "parsedResponse", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineExtensionImage" + } + } + } + } + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listVersionsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions", + urlParameters: [ + Parameters.location0, + Parameters.publisherName, + Parameters.type, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.filter, + Parameters.top, + Parameters.orderby, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: { + serializedName: "parsedResponse", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineExtensionImage" + } + } + } + } + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineExtensions.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineExtensions.ts new file mode 100644 index 000000000000..55987d58d203 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineExtensions.ts @@ -0,0 +1,356 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineExtensionsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineExtensions. */ +export class VirtualMachineExtensions { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineExtensions. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * The operation to create or update the extension. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine where the extension should be created or updated. + * @param vmExtensionName The name of the virtual machine extension. + * @param extensionParameters Parameters supplied to the Create Virtual Machine Extension + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, vmName: string, vmExtensionName: string, extensionParameters: Models.VirtualMachineExtension, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,vmName,vmExtensionName,extensionParameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * The operation to update the extension. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine where the extension should be updated. + * @param vmExtensionName The name of the virtual machine extension. + * @param extensionParameters Parameters supplied to the Update Virtual Machine Extension + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, vmName: string, vmExtensionName: string, extensionParameters: Models.VirtualMachineExtensionUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,vmName,vmExtensionName,extensionParameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * The operation to delete the extension. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine where the extension should be deleted. + * @param vmExtensionName The name of the virtual machine extension. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, vmName: string, vmExtensionName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,vmName,vmExtensionName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The operation to get the extension. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine containing the extension. + * @param vmExtensionName The name of the virtual machine extension. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, vmName: string, vmExtensionName: string, options?: Models.VirtualMachineExtensionsGetOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine containing the extension. + * @param vmExtensionName The name of the virtual machine extension. + * @param callback The callback + */ + get(resourceGroupName: string, vmName: string, vmExtensionName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine containing the extension. + * @param vmExtensionName The name of the virtual machine extension. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, vmName: string, vmExtensionName: string, options: Models.VirtualMachineExtensionsGetOptionalParams, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, vmName: string, vmExtensionName: string, options?: Models.VirtualMachineExtensionsGetOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmName, + vmExtensionName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * The operation to get all extensions of a Virtual Machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine containing the extension. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, vmName: string, options?: Models.VirtualMachineExtensionsListOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine containing the extension. + * @param callback The callback + */ + list(resourceGroupName: string, vmName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine containing the extension. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, vmName: string, options: Models.VirtualMachineExtensionsListOptionalParams, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, vmName: string, options?: Models.VirtualMachineExtensionsListOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * The operation to create or update the extension. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine where the extension should be created or updated. + * @param vmExtensionName The name of the virtual machine extension. + * @param extensionParameters Parameters supplied to the Create Virtual Machine Extension + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, vmName: string, vmExtensionName: string, extensionParameters: Models.VirtualMachineExtension, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + vmExtensionName, + extensionParameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * The operation to update the extension. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine where the extension should be updated. + * @param vmExtensionName The name of the virtual machine extension. + * @param extensionParameters Parameters supplied to the Update Virtual Machine Extension + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, vmName: string, vmExtensionName: string, extensionParameters: Models.VirtualMachineExtensionUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + vmExtensionName, + extensionParameters, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * The operation to delete the extension. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine where the extension should be deleted. + * @param vmExtensionName The name of the virtual machine extension. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, vmName: string, vmExtensionName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + vmExtensionName, + options + }, + beginDeleteMethodOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.vmExtensionName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.expand0, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineExtension + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.expand0, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineExtensionsListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.vmExtensionName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "extensionParameters", + mapper: { + ...Mappers.VirtualMachineExtension, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineExtension + }, + 201: { + bodyMapper: Mappers.VirtualMachineExtension + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.vmExtensionName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "extensionParameters", + mapper: { + ...Mappers.VirtualMachineExtensionUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineExtension + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.vmExtensionName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineImages.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineImages.ts new file mode 100644 index 000000000000..46b583bcd2a6 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineImages.ts @@ -0,0 +1,388 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineImagesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineImages. */ +export class VirtualMachineImages { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineImages. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Gets a virtual machine image. + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param skus A valid image SKU. + * @param version A valid image SKU version. + * @param [options] The optional parameters + * @returns Promise + */ + get(location: string, publisherName: string, offer: string, skus: string, version: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param skus A valid image SKU. + * @param version A valid image SKU version. + * @param callback The callback + */ + get(location: string, publisherName: string, offer: string, skus: string, version: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param skus A valid image SKU. + * @param version A valid image SKU version. + * @param options The optional parameters + * @param callback The callback + */ + get(location: string, publisherName: string, offer: string, skus: string, version: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(location: string, publisherName: string, offer: string, skus: string, version: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + publisherName, + offer, + skus, + version, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of all virtual machine image versions for the specified location, publisher, offer, + * and SKU. + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param skus A valid image SKU. + * @param [options] The optional parameters + * @returns Promise + */ + list(location: string, publisherName: string, offer: string, skus: string, options?: Models.VirtualMachineImagesListOptionalParams): Promise; + /** + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param skus A valid image SKU. + * @param callback The callback + */ + list(location: string, publisherName: string, offer: string, skus: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param skus A valid image SKU. + * @param options The optional parameters + * @param callback The callback + */ + list(location: string, publisherName: string, offer: string, skus: string, options: Models.VirtualMachineImagesListOptionalParams, callback: msRest.ServiceCallback): void; + list(location: string, publisherName: string, offer: string, skus: string, options?: Models.VirtualMachineImagesListOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + publisherName, + offer, + skus, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of virtual machine image offers for the specified location and publisher. + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param [options] The optional parameters + * @returns Promise + */ + listOffers(location: string, publisherName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param callback The callback + */ + listOffers(location: string, publisherName: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param options The optional parameters + * @param callback The callback + */ + listOffers(location: string, publisherName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listOffers(location: string, publisherName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + publisherName, + options + }, + listOffersOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of virtual machine image publishers for the specified Azure location. + * @param location The name of a supported Azure region. + * @param [options] The optional parameters + * @returns Promise + */ + listPublishers(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The name of a supported Azure region. + * @param callback The callback + */ + listPublishers(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of a supported Azure region. + * @param options The optional parameters + * @param callback The callback + */ + listPublishers(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listPublishers(location: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listPublishersOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of virtual machine image SKUs for the specified location, publisher, and offer. + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param [options] The optional parameters + * @returns Promise + */ + listSkus(location: string, publisherName: string, offer: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param callback The callback + */ + listSkus(location: string, publisherName: string, offer: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of a supported Azure region. + * @param publisherName A valid image publisher. + * @param offer A valid image publisher offer. + * @param options The optional parameters + * @param callback The callback + */ + listSkus(location: string, publisherName: string, offer: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listSkus(location: string, publisherName: string, offer: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + publisherName, + offer, + options + }, + listSkusOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}", + urlParameters: [ + Parameters.location0, + Parameters.publisherName, + Parameters.offer, + Parameters.skus, + Parameters.version, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineImage + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions", + urlParameters: [ + Parameters.location0, + Parameters.publisherName, + Parameters.offer, + Parameters.skus, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.filter, + Parameters.top, + Parameters.orderby, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: { + serializedName: "parsedResponse", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineImageResource" + } + } + } + } + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOffersOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers", + urlParameters: [ + Parameters.location0, + Parameters.publisherName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: { + serializedName: "parsedResponse", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineImageResource" + } + } + } + } + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listPublishersOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers", + urlParameters: [ + Parameters.location0, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: { + serializedName: "parsedResponse", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineImageResource" + } + } + } + } + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listSkusOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus", + urlParameters: [ + Parameters.location0, + Parameters.publisherName, + Parameters.offer, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: { + serializedName: "parsedResponse", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineImageResource" + } + } + } + } + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineRunCommands.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineRunCommands.ts new file mode 100644 index 000000000000..1db094699596 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineRunCommands.ts @@ -0,0 +1,188 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineRunCommandsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineRunCommands. */ +export class VirtualMachineRunCommands { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineRunCommands. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Lists all available run commands for a subscription in a location. + * @param location The location upon which run commands is queried. + * @param [options] The optional parameters + * @returns Promise + */ + list(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The location upon which run commands is queried. + * @param callback The callback + */ + list(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location The location upon which run commands is queried. + * @param options The optional parameters + * @param callback The callback + */ + list(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(location: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Gets specific run command for a subscription in a location. + * @param location The location upon which run commands is queried. + * @param commandId The command id. + * @param [options] The optional parameters + * @returns Promise + */ + get(location: string, commandId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The location upon which run commands is queried. + * @param commandId The command id. + * @param callback The callback + */ + get(location: string, commandId: string, callback: msRest.ServiceCallback): void; + /** + * @param location The location upon which run commands is queried. + * @param commandId The command id. + * @param options The optional parameters + * @param callback The callback + */ + get(location: string, commandId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(location: string, commandId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + commandId, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Lists all available run commands for a subscription in a location. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands", + urlParameters: [ + Parameters.location1, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.RunCommandListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}", + urlParameters: [ + Parameters.location1, + Parameters.commandId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.RunCommandDocument + }, + 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.RunCommandListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetExtensions.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetExtensions.ts new file mode 100644 index 000000000000..9bb3b4b1e150 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetExtensions.ts @@ -0,0 +1,333 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineScaleSetExtensionsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineScaleSetExtensions. */ +export class VirtualMachineScaleSetExtensions { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineScaleSetExtensions. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * The operation to create or update an extension. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set where the extension should be create or + * updated. + * @param vmssExtensionName The name of the VM scale set extension. + * @param extensionParameters Parameters supplied to the Create VM scale set Extension operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, vmScaleSetName: string, vmssExtensionName: string, extensionParameters: Models.VirtualMachineScaleSetExtension, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,vmScaleSetName,vmssExtensionName,extensionParameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * The operation to delete the extension. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set where the extension should be deleted. + * @param vmssExtensionName The name of the VM scale set extension. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, vmScaleSetName: string, vmssExtensionName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,vmScaleSetName,vmssExtensionName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The operation to get the extension. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set containing the extension. + * @param vmssExtensionName The name of the VM scale set extension. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, vmScaleSetName: string, vmssExtensionName: string, options?: Models.VirtualMachineScaleSetExtensionsGetOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set containing the extension. + * @param vmssExtensionName The name of the VM scale set extension. + * @param callback The callback + */ + get(resourceGroupName: string, vmScaleSetName: string, vmssExtensionName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set containing the extension. + * @param vmssExtensionName The name of the VM scale set extension. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, vmScaleSetName: string, vmssExtensionName: string, options: Models.VirtualMachineScaleSetExtensionsGetOptionalParams, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, vmScaleSetName: string, vmssExtensionName: string, options?: Models.VirtualMachineScaleSetExtensionsGetOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + vmssExtensionName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of all extensions in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set containing the extension. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set containing the extension. + * @param callback The callback + */ + list(resourceGroupName: string, vmScaleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set containing the extension. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, vmScaleSetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * The operation to create or update an extension. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set where the extension should be create or + * updated. + * @param vmssExtensionName The name of the VM scale set extension. + * @param extensionParameters Parameters supplied to the Create VM scale set Extension operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, vmScaleSetName: string, vmssExtensionName: string, extensionParameters: Models.VirtualMachineScaleSetExtension, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + vmssExtensionName, + extensionParameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * The operation to delete the extension. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set where the extension should be deleted. + * @param vmssExtensionName The name of the VM scale set extension. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, vmScaleSetName: string, vmssExtensionName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + vmssExtensionName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Gets a list of all extensions in a VM scale set. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.vmssExtensionName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.expand0, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetExtension + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetExtensionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.vmssExtensionName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "extensionParameters", + mapper: { + ...Mappers.VirtualMachineScaleSetExtension, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetExtension + }, + 201: { + bodyMapper: Mappers.VirtualMachineScaleSetExtension + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.vmssExtensionName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + 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.VirtualMachineScaleSetExtensionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetRollingUpgrades.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetRollingUpgrades.ts new file mode 100644 index 000000000000..318bfe986327 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetRollingUpgrades.ts @@ -0,0 +1,258 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineScaleSetRollingUpgradesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineScaleSetRollingUpgrades. */ +export class VirtualMachineScaleSetRollingUpgrades { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineScaleSetRollingUpgrades. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Cancels the current virtual machine scale set rolling upgrade. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + cancel(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginCancel(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Starts a rolling upgrade to move all virtual machine scale set instances to the latest available + * Platform Image OS version. Instances which are already running the latest available OS version + * are not affected. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + startOSUpgrade(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginStartOSUpgrade(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Starts a rolling upgrade to move all extensions for all virtual machine scale set instances to + * the latest available extension version. Instances which are already running the latest extension + * versions are not affected. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + startExtensionUpgrade(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginStartExtensionUpgrade(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Gets the status of the latest virtual machine scale set rolling upgrade. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + getLatest(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param callback The callback + */ + getLatest(resourceGroupName: string, vmScaleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param options The optional parameters + * @param callback The callback + */ + getLatest(resourceGroupName: string, vmScaleSetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getLatest(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + getLatestOperationSpec, + callback) as Promise; + } + + /** + * Cancels the current virtual machine scale set rolling upgrade. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginCancel(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginCancelOperationSpec, + options); + } + + /** + * Starts a rolling upgrade to move all virtual machine scale set instances to the latest available + * Platform Image OS version. Instances which are already running the latest available OS version + * are not affected. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginStartOSUpgrade(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginStartOSUpgradeOperationSpec, + options); + } + + /** + * Starts a rolling upgrade to move all extensions for all virtual machine scale set instances to + * the latest available extension version. Instances which are already running the latest extension + * versions are not affected. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginStartExtensionUpgrade(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginStartExtensionUpgradeOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getLatestOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.RollingUpgradeStatusInfo + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCancelOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginStartOSUpgradeOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginStartExtensionUpgradeOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensionRollingUpgrade", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetVMs.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetVMs.ts new file mode 100644 index 000000000000..718b4bb9ad20 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSetVMs.ts @@ -0,0 +1,941 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineScaleSetVMsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineScaleSetVMs. */ +export class VirtualMachineScaleSetVMs { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineScaleSetVMs. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Reimages (upgrade the operating system) a specific virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + reimage(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginReimage(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. + * This operation is only supported for managed disks. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + reimageAll(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginReimageAll(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and + * releases the compute resources it uses. You are not billed for the compute resources of this + * virtual machine once it is deallocated. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + deallocate(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeallocate(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Updates a virtual machine of a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set where the extension should be create or + * updated. + * @param instanceId The instance ID of the virtual machine. + * @param parameters Parameters supplied to the Update Virtual Machine Scale Sets VM operation. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, vmScaleSetName: string, instanceId: string, parameters: Models.VirtualMachineScaleSetVM, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,vmScaleSetName,instanceId,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Deletes a virtual machine from a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Gets a virtual machine from a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param callback The callback + */ + get(resourceGroupName: string, vmScaleSetName: string, instanceId: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Gets the status of a virtual machine from a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + getInstanceView(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param callback The callback + */ + getInstanceView(resourceGroupName: string, vmScaleSetName: string, instanceId: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param options The optional parameters + * @param callback The callback + */ + getInstanceView(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getInstanceView(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + getInstanceViewOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of all virtual machines in a VM scale sets. + * @param resourceGroupName The name of the resource group. + * @param virtualMachineScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, virtualMachineScaleSetName: string, options?: Models.VirtualMachineScaleSetVMsListOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param virtualMachineScaleSetName The name of the VM scale set. + * @param callback The callback + */ + list(resourceGroupName: string, virtualMachineScaleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param virtualMachineScaleSetName The name of the VM scale set. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, virtualMachineScaleSetName: string, options: Models.VirtualMachineScaleSetVMsListOptionalParams, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, virtualMachineScaleSetName: string, options?: Models.VirtualMachineScaleSetVMsListOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + virtualMachineScaleSetName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and + * you are getting charged for the resources. Instead, use deallocate to release resources and + * avoid charges. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + powerOff(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginPowerOff(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Restarts a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + restart(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginRestart(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Starts a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + start(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginStart(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Redeploys a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + redeploy(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginRedeploy(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Performs maintenance on a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + performMaintenance(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginPerformMaintenance(resourceGroupName,vmScaleSetName,instanceId,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Run command on a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param parameters Parameters supplied to the Run command operation. + * @param [options] The optional parameters + * @returns Promise + */ + runCommand(resourceGroupName: string, vmScaleSetName: string, instanceId: string, parameters: Models.RunCommandInput, options?: msRest.RequestOptionsBase): Promise { + return this.beginRunCommand(resourceGroupName,vmScaleSetName,instanceId,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Reimages (upgrade the operating system) a specific virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginReimage(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginReimageOperationSpec, + options); + } + + /** + * Allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. + * This operation is only supported for managed disks. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginReimageAll(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginReimageAllOperationSpec, + options); + } + + /** + * Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and + * releases the compute resources it uses. You are not billed for the compute resources of this + * virtual machine once it is deallocated. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeallocate(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginDeallocateOperationSpec, + options); + } + + /** + * Updates a virtual machine of a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set where the extension should be create or + * updated. + * @param instanceId The instance ID of the virtual machine. + * @param parameters Parameters supplied to the Update Virtual Machine Scale Sets VM operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, vmScaleSetName: string, instanceId: string, parameters: Models.VirtualMachineScaleSetVM, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + parameters, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * Deletes a virtual machine from a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and + * you are getting charged for the resources. Instead, use deallocate to release resources and + * avoid charges. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginPowerOff(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginPowerOffOperationSpec, + options); + } + + /** + * Restarts a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginRestart(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginRestartOperationSpec, + options); + } + + /** + * Starts a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginStart(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginStartOperationSpec, + options); + } + + /** + * Redeploys a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginRedeploy(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginRedeployOperationSpec, + options); + } + + /** + * Performs maintenance on a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginPerformMaintenance(resourceGroupName: string, vmScaleSetName: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + options + }, + beginPerformMaintenanceOperationSpec, + options); + } + + /** + * Run command on a virtual machine in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param instanceId The instance ID of the virtual machine. + * @param parameters Parameters supplied to the Run command operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginRunCommand(resourceGroupName: string, vmScaleSetName: string, instanceId: string, parameters: Models.RunCommandInput, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + instanceId, + parameters, + options + }, + beginRunCommandOperationSpec, + options); + } + + /** + * Gets a list of all virtual machines in a VM scale sets. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetVM + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getInstanceViewOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetVMInstanceView + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.virtualMachineScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.filter, + Parameters.select, + Parameters.expand0, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetVMListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginReimageOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginReimageAllOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeallocateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VirtualMachineScaleSetVM, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetVM + }, + 202: { + bodyMapper: Mappers.VirtualMachineScaleSetVM + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginPowerOffOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRestartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginStartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRedeployOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginPerformMaintenanceOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRunCommandOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/runCommand", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.instanceId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.RunCommandInput, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.RunCommandResult + }, + 202: {}, + 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.VirtualMachineScaleSetVMListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSets.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSets.ts new file mode 100644 index 000000000000..5d4af754ce15 --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineScaleSets.ts @@ -0,0 +1,1447 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineScaleSetsMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineScaleSets. */ +export class VirtualMachineScaleSets { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineScaleSets. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Create or update a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set to create or update. + * @param parameters The scale set object. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, vmScaleSetName: string, parameters: Models.VirtualMachineScaleSet, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,vmScaleSetName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Update a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set to create or update. + * @param parameters The scale set object. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, vmScaleSetName: string, parameters: Models.VirtualMachineScaleSetUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,vmScaleSetName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Deletes a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Display information about a virtual machine scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param callback The callback + */ + get(resourceGroupName: string, vmScaleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, vmScaleSetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and + * releases the compute resources. You are not billed for the compute resources that this virtual + * machine scale set deallocates. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + deallocate(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsDeallocateOptionalParams): Promise { + return this.beginDeallocate(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Deletes virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param vmInstanceIDs A list of virtual machine instance IDs from the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + deleteInstances(resourceGroupName: string, vmScaleSetName: string, vmInstanceIDs: Models.VirtualMachineScaleSetVMInstanceRequiredIDs, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteInstances(resourceGroupName,vmScaleSetName,vmInstanceIDs,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Gets the status of a VM scale set instance. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + getInstanceView(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param callback The callback + */ + getInstanceView(resourceGroupName: string, vmScaleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param options The optional parameters + * @param callback The callback + */ + getInstanceView(resourceGroupName: string, vmScaleSetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getInstanceView(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + getInstanceViewOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of all VM scale sets under a resource group. + * @param resourceGroupName The name of the resource group. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param callback The callback + */ + list(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of all VM Scale Sets in the subscription, regardless of the associated resource + * group. Use nextLink property in the response to get the next page of VM Scale Sets. Do this till + * nextLink is null to fetch all the VM Scale Sets. + * @param [options] The optional parameters + * @returns Promise + */ + listAll(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + listAll(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listAll(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listAll(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listAllOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of SKUs available for your VM scale set, including the minimum and maximum VM + * instances allowed for each SKU. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + listSkus(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param callback The callback + */ + listSkus(resourceGroupName: string, vmScaleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param options The optional parameters + * @param callback The callback + */ + listSkus(resourceGroupName: string, vmScaleSetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listSkus(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + listSkusOperationSpec, + callback) as Promise; + } + + /** + * Gets list of OS upgrades on a VM scale set instance. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + getOSUpgradeHistory(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param callback The callback + */ + getOSUpgradeHistory(resourceGroupName: string, vmScaleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param options The optional parameters + * @param callback The callback + */ + getOSUpgradeHistory(resourceGroupName: string, vmScaleSetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getOSUpgradeHistory(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + getOSUpgradeHistoryOperationSpec, + callback) as Promise; + } + + /** + * Power off (stop) one or more virtual machines in a VM scale set. Note that resources are still + * attached and you are getting charged for the resources. Instead, use deallocate to release + * resources and avoid charges. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + powerOff(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsPowerOffOptionalParams): Promise { + return this.beginPowerOff(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Restarts one or more virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + restart(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsRestartOptionalParams): Promise { + return this.beginRestart(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Starts one or more virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + start(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsStartOptionalParams): Promise { + return this.beginStart(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Redeploy one or more virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + redeploy(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsRedeployOptionalParams): Promise { + return this.beginRedeploy(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances + * which are not eligible for perform maintenance will be failed. Please refer to best practices + * for more details: + * https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + performMaintenance(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsPerformMaintenanceOptionalParams): Promise { + return this.beginPerformMaintenance(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Upgrades one or more virtual machines to the latest SKU set in the VM scale set model. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param vmInstanceIDs A list of virtual machine instance IDs from the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + updateInstances(resourceGroupName: string, vmScaleSetName: string, vmInstanceIDs: Models.VirtualMachineScaleSetVMInstanceRequiredIDs, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdateInstances(resourceGroupName,vmScaleSetName,vmInstanceIDs,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Reimages (upgrade the operating system) one or more virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + reimage(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsReimageOptionalParams): Promise { + return this.beginReimage(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This + * operation is only supported for managed disks. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + reimageAll(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsReimageAllOptionalParams): Promise { + return this.beginReimageAll(resourceGroupName,vmScaleSetName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Manual platform update domain walk to update virtual machines in a service fabric virtual + * machine scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param platformUpdateDomain The platform update domain for which a manual recovery walk is + * requested + * @param [options] The optional parameters + * @returns + * Promise + */ + forceRecoveryServiceFabricPlatformUpdateDomainWalk(resourceGroupName: string, vmScaleSetName: string, platformUpdateDomain: number, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param platformUpdateDomain The platform update domain for which a manual recovery walk is + * requested + * @param callback The callback + */ + forceRecoveryServiceFabricPlatformUpdateDomainWalk(resourceGroupName: string, vmScaleSetName: string, platformUpdateDomain: number, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param platformUpdateDomain The platform update domain for which a manual recovery walk is + * requested + * @param options The optional parameters + * @param callback The callback + */ + forceRecoveryServiceFabricPlatformUpdateDomainWalk(resourceGroupName: string, vmScaleSetName: string, platformUpdateDomain: number, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + forceRecoveryServiceFabricPlatformUpdateDomainWalk(resourceGroupName: string, vmScaleSetName: string, platformUpdateDomain: number, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmScaleSetName, + platformUpdateDomain, + options + }, + forceRecoveryServiceFabricPlatformUpdateDomainWalkOperationSpec, + callback) as Promise; + } + + /** + * Create or update a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set to create or update. + * @param parameters The scale set object. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, vmScaleSetName: string, parameters: Models.VirtualMachineScaleSet, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + parameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Update a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set to create or update. + * @param parameters The scale set object. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, vmScaleSetName: string, parameters: Models.VirtualMachineScaleSetUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + parameters, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * Deletes a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, vmScaleSetName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and + * releases the compute resources. You are not billed for the compute resources that this virtual + * machine scale set deallocates. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeallocate(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsBeginDeallocateOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginDeallocateOperationSpec, + options); + } + + /** + * Deletes virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param vmInstanceIDs A list of virtual machine instance IDs from the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteInstances(resourceGroupName: string, vmScaleSetName: string, vmInstanceIDs: Models.VirtualMachineScaleSetVMInstanceRequiredIDs, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + vmInstanceIDs, + options + }, + beginDeleteInstancesOperationSpec, + options); + } + + /** + * Power off (stop) one or more virtual machines in a VM scale set. Note that resources are still + * attached and you are getting charged for the resources. Instead, use deallocate to release + * resources and avoid charges. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginPowerOff(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsBeginPowerOffOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginPowerOffOperationSpec, + options); + } + + /** + * Restarts one or more virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginRestart(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsBeginRestartOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginRestartOperationSpec, + options); + } + + /** + * Starts one or more virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginStart(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsBeginStartOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginStartOperationSpec, + options); + } + + /** + * Redeploy one or more virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginRedeploy(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsBeginRedeployOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginRedeployOperationSpec, + options); + } + + /** + * Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances + * which are not eligible for perform maintenance will be failed. Please refer to best practices + * for more details: + * https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginPerformMaintenance(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsBeginPerformMaintenanceOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginPerformMaintenanceOperationSpec, + options); + } + + /** + * Upgrades one or more virtual machines to the latest SKU set in the VM scale set model. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param vmInstanceIDs A list of virtual machine instance IDs from the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdateInstances(resourceGroupName: string, vmScaleSetName: string, vmInstanceIDs: Models.VirtualMachineScaleSetVMInstanceRequiredIDs, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + vmInstanceIDs, + options + }, + beginUpdateInstancesOperationSpec, + options); + } + + /** + * Reimages (upgrade the operating system) one or more virtual machines in a VM scale set. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginReimage(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsBeginReimageOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginReimageOperationSpec, + options); + } + + /** + * Reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This + * operation is only supported for managed disks. + * @param resourceGroupName The name of the resource group. + * @param vmScaleSetName The name of the VM scale set. + * @param [options] The optional parameters + * @returns Promise + */ + beginReimageAll(resourceGroupName: string, vmScaleSetName: string, options?: Models.VirtualMachineScaleSetsBeginReimageAllOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmScaleSetName, + options + }, + beginReimageAllOperationSpec, + options); + } + + /** + * Gets a list of all VM scale sets under a resource group. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of all VM Scale Sets in the subscription, regardless of the associated resource + * group. Use nextLink property in the response to get the next page of VM Scale Sets. Do this till + * nextLink is null to fetch all the VM Scale Sets. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listAllNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listAllNext(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 + */ + listAllNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listAllNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listAllNextOperationSpec, + callback) as Promise; + } + + /** + * Gets a list of SKUs available for your VM scale set, including the minimum and maximum VM + * instances allowed for each SKU. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listSkusNext(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 + */ + listSkusNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listSkusNextOperationSpec, + callback) as Promise; + } + + /** + * Gets list of OS upgrades on a VM scale set instance. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getOSUpgradeHistoryNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getOSUpgradeHistoryNext(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 + */ + getOSUpgradeHistoryNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getOSUpgradeHistoryNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + getOSUpgradeHistoryNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSet + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getInstanceViewOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetInstanceView + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listAllOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetListWithLinkResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listSkusOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetListSkusResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOSUpgradeHistoryOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetListOSUpgradeHistory + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const forceRecoveryServiceFabricPlatformUpdateDomainWalkOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0, + Parameters.platformUpdateDomain + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.RecoveryWalkResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VirtualMachineScaleSet, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSet + }, + 201: { + bodyMapper: Mappers.VirtualMachineScaleSet + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VirtualMachineScaleSetUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSet + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeallocateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "vmInstanceIDs" + ], + mapper: Mappers.VirtualMachineScaleSetVMInstanceIDs + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteInstancesOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "vmInstanceIDs", + mapper: { + ...Mappers.VirtualMachineScaleSetVMInstanceRequiredIDs, + required: true + } + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginPowerOffOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "vmInstanceIDs" + ], + mapper: Mappers.VirtualMachineScaleSetVMInstanceIDs + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRestartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "vmInstanceIDs" + ], + mapper: Mappers.VirtualMachineScaleSetVMInstanceIDs + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginStartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "vmInstanceIDs" + ], + mapper: Mappers.VirtualMachineScaleSetVMInstanceIDs + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRedeployOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "vmInstanceIDs" + ], + mapper: Mappers.VirtualMachineScaleSetVMInstanceIDs + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginPerformMaintenanceOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "vmInstanceIDs" + ], + mapper: Mappers.VirtualMachineScaleSetVMInstanceIDs + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateInstancesOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "vmInstanceIDs", + mapper: { + ...Mappers.VirtualMachineScaleSetVMInstanceRequiredIDs, + required: true + } + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginReimageOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "vmInstanceIDs" + ], + mapper: Mappers.VirtualMachineScaleSetVMInstanceIDs + }, + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginReimageAllOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmScaleSetName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "vmInstanceIDs" + ], + mapper: Mappers.VirtualMachineScaleSetVMInstanceIDs + }, + responses: { + 200: {}, + 202: {}, + 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.VirtualMachineScaleSetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listAllNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetListWithLinkResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listSkusNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetListSkusResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOSUpgradeHistoryNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineScaleSetListOSUpgradeHistory + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachineSizes.ts b/packages/@azure/arm-compute/lib/operations/virtualMachineSizes.ts new file mode 100644 index 000000000000..75650099f5ec --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachineSizes.ts @@ -0,0 +1,83 @@ +/* + * 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 "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachineSizesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachineSizes. */ +export class VirtualMachineSizes { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachineSizes. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * This API is deprecated. Use [Resources + * Skus](https://docs.microsoft.com/en-us/rest/api/compute/resourceskus/list) + * @param location The location upon which virtual-machine-sizes is queried. + * @param [options] The optional parameters + * @returns Promise + */ + list(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The location upon which virtual-machine-sizes is queried. + * @param callback The callback + */ + list(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location The location upon which virtual-machine-sizes is queried. + * @param options The optional parameters + * @param callback The callback + */ + list(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(location: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes", + urlParameters: [ + Parameters.location1, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineSizeListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/lib/operations/virtualMachines.ts b/packages/@azure/arm-compute/lib/operations/virtualMachines.ts new file mode 100644 index 000000000000..91a22f435e6a --- /dev/null +++ b/packages/@azure/arm-compute/lib/operations/virtualMachines.ts @@ -0,0 +1,1439 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/virtualMachinesMappers"; +import * as Parameters from "../models/parameters"; +import { ComputeManagementClientContext } from "../computeManagementClientContext"; + +/** Class representing a VirtualMachines. */ +export class VirtualMachines { + private readonly client: ComputeManagementClientContext; + + /** + * Create a VirtualMachines. + * @param {ComputeManagementClientContext} client Reference to the service client. + */ + constructor(client: ComputeManagementClientContext) { + this.client = client; + } + + /** + * Gets all the virtual machines under the specified subscription for the specified location. + * @param location The location for which virtual machines under the subscription are queried. + * @param [options] The optional parameters + * @returns Promise + */ + listByLocation(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The location for which virtual machines under the subscription are queried. + * @param callback The callback + */ + listByLocation(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location The location for which virtual machines under the subscription are queried. + * @param options The optional parameters + * @param callback The callback + */ + listByLocation(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByLocation(location: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listByLocationOperationSpec, + callback) as Promise; + } + + /** + * Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used + * to create similar VMs. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param parameters Parameters supplied to the Capture Virtual Machine operation. + * @param [options] The optional parameters + * @returns Promise + */ + capture(resourceGroupName: string, vmName: string, parameters: Models.VirtualMachineCaptureParameters, options?: msRest.RequestOptionsBase): Promise { + return this.beginCapture(resourceGroupName,vmName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * The operation to create or update a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param parameters Parameters supplied to the Create Virtual Machine operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, vmName: string, parameters: Models.VirtualMachine, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,vmName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * The operation to update a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param parameters Parameters supplied to the Update Virtual Machine operation. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, vmName: string, parameters: Models.VirtualMachineUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,vmName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * The operation to delete a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,vmName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Retrieves information about the model view or the instance view of a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, vmName: string, options?: Models.VirtualMachinesGetOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param callback The callback + */ + get(resourceGroupName: string, vmName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, vmName: string, options: Models.VirtualMachinesGetOptionalParams, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, vmName: string, options?: Models.VirtualMachinesGetOptionalParams, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Retrieves information about the run-time state of a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + instanceView(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param callback The callback + */ + instanceView(resourceGroupName: string, vmName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param options The optional parameters + * @param callback The callback + */ + instanceView(resourceGroupName: string, vmName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + instanceView(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmName, + options + }, + instanceViewOperationSpec, + callback) as Promise; + } + + /** + * Converts virtual machine disks from blob-based to managed disks. Virtual machine must be + * stop-deallocated before invoking this operation. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + convertToManagedDisks(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginConvertToManagedDisks(resourceGroupName,vmName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Shuts down the virtual machine and releases the compute resources. You are not billed for the + * compute resources that this virtual machine uses. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + deallocate(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeallocate(resourceGroupName,vmName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Sets the state of the virtual machine to generalized. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + generalize(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param callback The callback + */ + generalize(resourceGroupName: string, vmName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param options The optional parameters + * @param callback The callback + */ + generalize(resourceGroupName: string, vmName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + generalize(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmName, + options + }, + generalizeOperationSpec, + callback); + } + + /** + * Lists all of the virtual machines in the specified resource group. Use the nextLink property in + * the response to get the next page of virtual machines. + * @param resourceGroupName The name of the resource group. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param callback The callback + */ + list(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Lists all of the virtual machines in the specified subscription. Use the nextLink property in + * the response to get the next page of virtual machines. + * @param [options] The optional parameters + * @returns Promise + */ + listAll(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + listAll(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listAll(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listAll(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listAllOperationSpec, + callback) as Promise; + } + + /** + * Lists all available virtual machine sizes to which the specified virtual machine can be resized. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + listAvailableSizes(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param callback The callback + */ + listAvailableSizes(resourceGroupName: string, vmName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param options The optional parameters + * @param callback The callback + */ + listAvailableSizes(resourceGroupName: string, vmName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listAvailableSizes(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmName, + options + }, + listAvailableSizesOperationSpec, + callback) as Promise; + } + + /** + * The operation to power off (stop) a virtual machine. The virtual machine can be restarted with + * the same provisioned resources. You are still charged for this virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + powerOff(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginPowerOff(resourceGroupName,vmName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The operation to restart a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + restart(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginRestart(resourceGroupName,vmName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The operation to start a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + start(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginStart(resourceGroupName,vmName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The operation to redeploy a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + redeploy(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginRedeploy(resourceGroupName,vmName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The operation to perform maintenance on a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + performMaintenance(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginPerformMaintenance(resourceGroupName,vmName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Lists all of the In-Guest software items of virtual machines in the specified subscription. Use + * the nextLink property in the response to get the next page of items. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + listInGuestSoftwareItems(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param callback The callback + */ + listInGuestSoftwareItems(resourceGroupName: string, vmName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param options The optional parameters + * @param callback The callback + */ + listInGuestSoftwareItems(resourceGroupName: string, vmName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listInGuestSoftwareItems(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmName, + options + }, + listInGuestSoftwareItemsOperationSpec, + callback) as Promise; + } + + /** + * Get the In-Guest software item of the virtual machine in the specified subscription + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param itemId Identifier of the In-Guest resource type. + * @param [options] The optional parameters + * @returns Promise + */ + getInGuestSoftwareItem(resourceGroupName: string, vmName: string, itemId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param itemId Identifier of the In-Guest resource type. + * @param callback The callback + */ + getInGuestSoftwareItem(resourceGroupName: string, vmName: string, itemId: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param itemId Identifier of the In-Guest resource type. + * @param options The optional parameters + * @param callback The callback + */ + getInGuestSoftwareItem(resourceGroupName: string, vmName: string, itemId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getInGuestSoftwareItem(resourceGroupName: string, vmName: string, itemId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vmName, + itemId, + options + }, + getInGuestSoftwareItemOperationSpec, + callback) as Promise; + } + + /** + * Run command on the VM. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param parameters Parameters supplied to the Run command operation. + * @param [options] The optional parameters + * @returns Promise + */ + runCommand(resourceGroupName: string, vmName: string, parameters: Models.RunCommandInput, options?: msRest.RequestOptionsBase): Promise { + return this.beginRunCommand(resourceGroupName,vmName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used + * to create similar VMs. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param parameters Parameters supplied to the Capture Virtual Machine operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCapture(resourceGroupName: string, vmName: string, parameters: Models.VirtualMachineCaptureParameters, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + parameters, + options + }, + beginCaptureOperationSpec, + options); + } + + /** + * The operation to create or update a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param parameters Parameters supplied to the Create Virtual Machine operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, vmName: string, parameters: Models.VirtualMachine, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + parameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * The operation to update a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param parameters Parameters supplied to the Update Virtual Machine operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, vmName: string, parameters: Models.VirtualMachineUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + parameters, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * The operation to delete a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Converts virtual machine disks from blob-based to managed disks. Virtual machine must be + * stop-deallocated before invoking this operation. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginConvertToManagedDisks(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + options + }, + beginConvertToManagedDisksOperationSpec, + options); + } + + /** + * Shuts down the virtual machine and releases the compute resources. You are not billed for the + * compute resources that this virtual machine uses. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeallocate(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + options + }, + beginDeallocateOperationSpec, + options); + } + + /** + * The operation to power off (stop) a virtual machine. The virtual machine can be restarted with + * the same provisioned resources. You are still charged for this virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginPowerOff(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + options + }, + beginPowerOffOperationSpec, + options); + } + + /** + * The operation to restart a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginRestart(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + options + }, + beginRestartOperationSpec, + options); + } + + /** + * The operation to start a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginStart(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + options + }, + beginStartOperationSpec, + options); + } + + /** + * The operation to redeploy a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginRedeploy(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + options + }, + beginRedeployOperationSpec, + options); + } + + /** + * The operation to perform maintenance on a virtual machine. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param [options] The optional parameters + * @returns Promise + */ + beginPerformMaintenance(resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + options + }, + beginPerformMaintenanceOperationSpec, + options); + } + + /** + * Run command on the VM. + * @param resourceGroupName The name of the resource group. + * @param vmName The name of the virtual machine. + * @param parameters Parameters supplied to the Run command operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginRunCommand(resourceGroupName: string, vmName: string, parameters: Models.RunCommandInput, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + vmName, + parameters, + options + }, + beginRunCommandOperationSpec, + options); + } + + /** + * Gets all the virtual machines under the specified subscription for the specified location. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByLocationNext(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 + */ + listByLocationNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByLocationNextOperationSpec, + callback) as Promise; + } + + /** + * Lists all of the virtual machines in the specified resource group. Use the nextLink property in + * the response to get the next page of virtual machines. + * @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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } + + /** + * Lists all of the virtual machines in the specified subscription. Use the nextLink property in + * the response to get the next page of virtual machines. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listAllNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listAllNext(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 + */ + listAllNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listAllNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listAllNextOperationSpec, + callback) as Promise; + } + + /** + * Lists all of the In-Guest software items of virtual machines in the specified subscription. Use + * the nextLink property in the response to get the next page of items. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listInGuestSoftwareItemsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listInGuestSoftwareItemsNext(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 + */ + listInGuestSoftwareItemsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listInGuestSoftwareItemsNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listInGuestSoftwareItemsNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByLocationOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines", + urlParameters: [ + Parameters.location1, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.expand1, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachine + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const instanceViewOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineInstanceView + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const generalizeOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listAllOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listAvailableSizesOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineSizeListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listInGuestSoftwareItemsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.InGuestSoftwareItemsListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getInGuestSoftwareItemOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items/{itemId}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.itemId, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.InGuestSoftwareItem + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCaptureOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VirtualMachineCaptureParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineCaptureResult + }, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VirtualMachine, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachine + }, + 201: { + bodyMapper: Mappers.VirtualMachine + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VirtualMachineUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VirtualMachine + }, + 201: { + bodyMapper: Mappers.VirtualMachine + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginConvertToManagedDisksOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeallocateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginPowerOffOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRestartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginStartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRedeployOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginPerformMaintenanceOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginRunCommandOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vmName, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.RunCommandInput, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.RunCommandResult + }, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByLocationNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineListResult + }, + 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.VirtualMachineListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listAllNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VirtualMachineListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listInGuestSoftwareItemsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.InGuestSoftwareItemsListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-compute/package.json b/packages/@azure/arm-compute/package.json new file mode 100644 index 000000000000..ee070ab264f5 --- /dev/null +++ b/packages/@azure/arm-compute/package.json @@ -0,0 +1,42 @@ +{ + "name": "@azure/arm-compute", + "author": "Microsoft Corporation", + "description": "ComputeManagementClient Library with typescript type definitions for node.js and browser.", + "version": "1.0.0", + "dependencies": { + "ms-rest-azure-js": "^1.0.166", + "ms-rest-js": "^1.0.439", + "tslib": "^1.9.3" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/arm-compute.js", + "module": "./esm/computeManagementClient.js", + "types": "./esm/computeManagementClient.d.ts", + "devDependencies": { + "typescript": "^3.1.1", + "rollup": "^0.66.2", + "rollup-plugin-node-resolve": "^3.4.0", + "uglify-js": "^3.4.9" + }, + "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/packages/@azure/arm-compute", + "repository": { + "type": "git", + "url": "https://github.com/azure/azure-sdk-for-js.git" + }, + "bugs": { + "url": "https://github.com/azure/azure-sdk-for-js/issues" + }, + "scripts": { + "build": "tsc && rollup -c rollup.config.js && npm run minify", + "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-compute.js.map'\" -o ./dist/arm-compute.min.js ./dist/arm-compute.js", + "prepare": "npm run build" + }, + "sideEffects": false +} diff --git a/packages/@azure/arm-compute/rollup.config.js b/packages/@azure/arm-compute/rollup.config.js new file mode 100644 index 000000000000..c92f8d73cf6a --- /dev/null +++ b/packages/@azure/arm-compute/rollup.config.js @@ -0,0 +1,31 @@ +import nodeResolve from "rollup-plugin-node-resolve"; +/** + * @type {import('rollup').RollupFileOptions} + */ +const config = { + input: './esm/computeManagementClient.js', + external: ["ms-rest-js", "ms-rest-azure-js"], + output: { + file: "./dist/arm-compute.js", + format: "umd", + name: "Azure.ArmCompute", + sourcemap: true, + globals: { + "ms-rest-js": "msRest", + "ms-rest-azure-js": "msRestAzure" + }, + banner: `/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */` + }, + plugins: [ + nodeResolve({ module: true }) + ] +}; +export default config; diff --git a/packages/@azure/arm-compute/tsconfig.json b/packages/@azure/arm-compute/tsconfig.json new file mode 100644 index 000000000000..f32d1664f320 --- /dev/null +++ b/packages/@azure/arm-compute/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es5", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": ["es6"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./lib/**/*"], + "exclude": ["node_modules"] +}