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