/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public override void Validate() { base.Validate(); if (UpgradePolicy != null) { UpgradePolicy.Validate(); } if (VirtualMachineProfile != null) { VirtualMachineProfile.Validate(); } }
/// <summary> /// Initializes a new instance of the VirtualMachineScaleSet class. /// </summary> /// <param name="location">Resource location</param> /// <param name="id">Resource Id</param> /// <param name="name">Resource name</param> /// <param name="type">Resource type</param> /// <param name="tags">Resource tags</param> /// <param name="sku">The virtual machine scale set sku.</param> /// <param name="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**.</param> /// <param name="upgradePolicy">The upgrade policy.</param> /// <param name="virtualMachineProfile">The virtual machine /// profile.</param> /// <param name="provisioningState">The provisioning state, which only /// appears in the response.</param> /// <param name="overprovision">Specifies whether the Virtual Machine /// Scale Set should be overprovisioned.</param> /// <param name="uniqueId">Specifies the ID which uniquely identifies a /// Virtual Machine Scale Set.</param> /// <param name="singlePlacementGroup">When true this limits the scale /// set to a single placement group, of max size 100 virtual /// machines.</param> /// <param name="zoneBalance">Whether to force stictly even Virtual /// Machine distribution cross x-zones in case there is zone /// outage.</param> /// <param name="platformFaultDomainCount">Fault Domain count for each /// placement group.</param> /// <param name="identity">The identity of the virtual machine scale /// set, if configured.</param> /// <param name="zones">The virtual machine scale set zones.</param> public VirtualMachineScaleSet(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetVMProfile virtualMachineProfile = default(VirtualMachineScaleSetVMProfile), string provisioningState = default(string), bool?overprovision = default(bool?), string uniqueId = default(string), bool?singlePlacementGroup = default(bool?), bool?zoneBalance = default(bool?), int?platformFaultDomainCount = default(int?), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity), IList <string> zones = default(IList <string>)) : base(location, id, name, type, tags) { Sku = sku; Plan = plan; UpgradePolicy = upgradePolicy; VirtualMachineProfile = virtualMachineProfile; ProvisioningState = provisioningState; Overprovision = overprovision; UniqueId = uniqueId; SinglePlacementGroup = singlePlacementGroup; ZoneBalance = zoneBalance; PlatformFaultDomainCount = platformFaultDomainCount; Identity = identity; Zones = zones; CustomInit(); }
/// <summary> /// Initializes a new instance of the VirtualMachineScaleSetUpdate /// class. /// </summary> /// <param name="tags">Resource tags</param> /// <param name="sku">The virtual machine scale set sku.</param> /// <param name="plan">The purchase plan when deploying a virtual /// machine scale set from VM Marketplace images.</param> /// <param name="upgradePolicy">The upgrade policy.</param> /// <param name="virtualMachineProfile">The virtual machine /// profile.</param> /// <param name="overprovision">Specifies whether the Virtual Machine /// Scale Set should be overprovisioned.</param> /// <param name="singlePlacementGroup">When true this limits the scale /// set to a single placement group, of max size 100 virtual /// machines.</param> /// <param name="identity">The identity of the virtual machine scale /// set, if configured.</param> public VirtualMachineScaleSetUpdate(IDictionary <string, string> tags = default(IDictionary <string, string>), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetUpdateVMProfile virtualMachineProfile = default(VirtualMachineScaleSetUpdateVMProfile), bool?overprovision = default(bool?), bool?singlePlacementGroup = default(bool?), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity)) : base(tags) { Sku = sku; Plan = plan; UpgradePolicy = upgradePolicy; VirtualMachineProfile = virtualMachineProfile; Overprovision = overprovision; SinglePlacementGroup = singlePlacementGroup; Identity = identity; CustomInit(); }