protected override void ProcessRecord() { // Sku var vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); // UpgradePolicy var vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); // VirtualMachineProfile var vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); // NetworkProfile vVirtualMachineProfile.NetworkProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetNetworkProfile(); // ExtensionProfile vVirtualMachineProfile.ExtensionProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetExtensionProfile(); vSku.Name = this.SkuName; vSku.Tier = this.SkuTier; vSku.Capacity = this.SkuCapacity; vUpgradePolicy.Mode = this.UpgradePolicyMode; vVirtualMachineProfile.OsProfile = this.OsProfile; vVirtualMachineProfile.StorageProfile = this.StorageProfile; vVirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations = this.NetworkInterfaceConfiguration; vVirtualMachineProfile.ExtensionProfile.Extensions = this.Extension; var vVirtualMachineScaleSet = new VirtualMachineScaleSet { ProvisioningState = this.ProvisioningState, OverProvision = this.OverProvision, Location = this.Location, Tags = (this.Tag == null) ? null : this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value), Sku = vSku, UpgradePolicy = vUpgradePolicy, VirtualMachineProfile = vVirtualMachineProfile, }; WriteObject(vVirtualMachineScaleSet); }
private void Run() { // Sku Microsoft.Azure.Management.Compute.Models.Sku vSku = null; // Plan Microsoft.Azure.Management.Compute.Models.Plan vPlan = null; // UpgradePolicy Microsoft.Azure.Management.Compute.Models.UpgradePolicy vUpgradePolicy = null; // VirtualMachineProfile Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile vVirtualMachineProfile = null; // Identity Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetIdentity vIdentity = null; if (this.SkuName != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Name = this.SkuName; } if (this.SkuTier != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Tier = this.SkuTier; } if (this.SkuCapacity != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Capacity = this.SkuCapacity; } if (this.PlanName != null) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Name = this.PlanName; } if (this.PlanPublisher != null) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Publisher = this.PlanPublisher; } if (this.PlanProduct != null) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Product = this.PlanProduct; } if (this.PlanPromotionCode != null) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.PromotionCode = this.PlanPromotionCode; } if (this.UpgradePolicyMode != null) { if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } vUpgradePolicy.Mode = this.UpgradePolicyMode; } if (this.RollingUpgradePolicy != null) { if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } vUpgradePolicy.RollingUpgradePolicy = this.RollingUpgradePolicy; } if (this.AutoOSUpgrade.IsPresent) { if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } vUpgradePolicy.AutomaticOSUpgrade = true; } if (this.OsProfile != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.OsProfile = this.OsProfile; } if (this.StorageProfile != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.StorageProfile = this.StorageProfile; } if (this.HealthProbeId != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.NetworkProfile == null) { vVirtualMachineProfile.NetworkProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetNetworkProfile(); } if (vVirtualMachineProfile.NetworkProfile.HealthProbe == null) { vVirtualMachineProfile.NetworkProfile.HealthProbe = new Microsoft.Azure.Management.Compute.Models.ApiEntityReference(); } vVirtualMachineProfile.NetworkProfile.HealthProbe.Id = this.HealthProbeId; } if (this.NetworkInterfaceConfiguration != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.NetworkProfile == null) { vVirtualMachineProfile.NetworkProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetNetworkProfile(); } vVirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations = this.NetworkInterfaceConfiguration; } if (this.BootDiagnostic != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.DiagnosticsProfile == null) { vVirtualMachineProfile.DiagnosticsProfile = new Microsoft.Azure.Management.Compute.Models.DiagnosticsProfile(); } vVirtualMachineProfile.DiagnosticsProfile.BootDiagnostics = this.BootDiagnostic; } if (this.Extension != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.ExtensionProfile == null) { vVirtualMachineProfile.ExtensionProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetExtensionProfile(); } vVirtualMachineProfile.ExtensionProfile.Extensions = this.Extension; } if (this.LicenseType != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.LicenseType = this.LicenseType; } if (this.AssignIdentity.IsPresent) { if (vIdentity == null) { vIdentity = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetIdentity(); } vIdentity.Type = ResourceIdentityType.SystemAssigned; } var vVirtualMachineScaleSet = new PSVirtualMachineScaleSet { Overprovision = this.Overprovision, SinglePlacementGroup = this.SinglePlacementGroup, Zones = this.Zone, Location = this.Location, Tags = (this.Tag == null) ? null : this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value), Sku = vSku, Plan = vPlan, UpgradePolicy = vUpgradePolicy, VirtualMachineProfile = vVirtualMachineProfile, Identity = vIdentity, }; WriteObject(vVirtualMachineScaleSet); }
protected override void ProcessRecord() { // Sku Microsoft.Azure.Management.Compute.Models.Sku vSku = null; // UpgradePolicy Microsoft.Azure.Management.Compute.Models.UpgradePolicy vUpgradePolicy = null; // VirtualMachineProfile Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile vVirtualMachineProfile = null; if (this.SkuName != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Name = this.SkuName; } if (this.SkuTier != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Tier = this.SkuTier; } if (this.SkuCapacity != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Capacity = this.SkuCapacity; } if (this.UpgradePolicyMode != null) { if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } vUpgradePolicy.Mode = this.UpgradePolicyMode; } if (this.OsProfile != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.OsProfile = this.OsProfile; } if (this.StorageProfile != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.StorageProfile = this.StorageProfile; } if (this.NetworkInterfaceConfiguration != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.NetworkProfile == null) { vVirtualMachineProfile.NetworkProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetNetworkProfile(); } vVirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations = this.NetworkInterfaceConfiguration; } if (this.Extension != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.ExtensionProfile == null) { vVirtualMachineProfile.ExtensionProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetExtensionProfile(); } vVirtualMachineProfile.ExtensionProfile.Extensions = this.Extension; } var vVirtualMachineScaleSet = new VirtualMachineScaleSet { OverProvision = this.OverProvision, Location = this.Location, Tags = (this.Tag == null) ? null : this.Tag.Cast<DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value), Sku = vSku, UpgradePolicy = vUpgradePolicy, VirtualMachineProfile = vVirtualMachineProfile, }; WriteObject(vVirtualMachineScaleSet); }
private void Run() { // Sku Microsoft.Azure.Management.Compute.Models.Sku vSku = null; // Plan Microsoft.Azure.Management.Compute.Models.Plan vPlan = null; // UpgradePolicy Microsoft.Azure.Management.Compute.Models.UpgradePolicy vUpgradePolicy = null; // VirtualMachineProfile Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile vVirtualMachineProfile = null; // Identity Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetIdentity vIdentity = null; if (this.MyInvocation.BoundParameters.ContainsKey("SkuName")) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Name = this.SkuName; } if (this.MyInvocation.BoundParameters.ContainsKey("SkuTier")) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Tier = this.SkuTier; } if (this.MyInvocation.BoundParameters.ContainsKey("SkuCapacity")) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Capacity = this.SkuCapacity; } if (this.MyInvocation.BoundParameters.ContainsKey("PlanName")) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Name = this.PlanName; } if (this.MyInvocation.BoundParameters.ContainsKey("PlanPublisher")) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Publisher = this.PlanPublisher; } if (this.MyInvocation.BoundParameters.ContainsKey("PlanProduct")) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Product = this.PlanProduct; } if (this.MyInvocation.BoundParameters.ContainsKey("PlanPromotionCode")) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.PromotionCode = this.PlanPromotionCode; } if (this.MyInvocation.BoundParameters.ContainsKey("UpgradePolicyMode")) { if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } vUpgradePolicy.Mode = this.UpgradePolicyMode; } if (this.MyInvocation.BoundParameters.ContainsKey("RollingUpgradePolicy")) { if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } vUpgradePolicy.RollingUpgradePolicy = this.RollingUpgradePolicy; } if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } vUpgradePolicy.AutomaticOSUpgrade = this.AutoOSUpgrade.IsPresent; if (this.MyInvocation.BoundParameters.ContainsKey("DisableAutoRollback")) { if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } if (vUpgradePolicy.AutoOSUpgradePolicy == null) { vUpgradePolicy.AutoOSUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.AutoOSUpgradePolicy(); } vUpgradePolicy.AutoOSUpgradePolicy.DisableAutoRollback = this.DisableAutoRollback; } if (this.MyInvocation.BoundParameters.ContainsKey("OsProfile")) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.OsProfile = this.OsProfile; } if (this.MyInvocation.BoundParameters.ContainsKey("StorageProfile")) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.StorageProfile = this.StorageProfile; } if (this.MyInvocation.BoundParameters.ContainsKey("HealthProbeId")) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.NetworkProfile == null) { vVirtualMachineProfile.NetworkProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetNetworkProfile(); } if (vVirtualMachineProfile.NetworkProfile.HealthProbe == null) { vVirtualMachineProfile.NetworkProfile.HealthProbe = new Microsoft.Azure.Management.Compute.Models.ApiEntityReference(); } vVirtualMachineProfile.NetworkProfile.HealthProbe.Id = this.HealthProbeId; } if (this.MyInvocation.BoundParameters.ContainsKey("NetworkInterfaceConfiguration")) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.NetworkProfile == null) { vVirtualMachineProfile.NetworkProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetNetworkProfile(); } vVirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations = this.NetworkInterfaceConfiguration; } if (this.MyInvocation.BoundParameters.ContainsKey("BootDiagnostic")) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.DiagnosticsProfile == null) { vVirtualMachineProfile.DiagnosticsProfile = new Microsoft.Azure.Management.Compute.Models.DiagnosticsProfile(); } vVirtualMachineProfile.DiagnosticsProfile.BootDiagnostics = this.BootDiagnostic; } if (this.MyInvocation.BoundParameters.ContainsKey("Extension")) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.ExtensionProfile == null) { vVirtualMachineProfile.ExtensionProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetExtensionProfile(); } vVirtualMachineProfile.ExtensionProfile.Extensions = this.Extension; } if (this.MyInvocation.BoundParameters.ContainsKey("LicenseType")) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.LicenseType = this.LicenseType; } if (this.MyInvocation.BoundParameters.ContainsKey("Priority")) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.Priority = this.Priority; } if (this.AssignIdentity.IsPresent) { if (vIdentity == null) { vIdentity = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetIdentity(); } vIdentity.Type = ResourceIdentityType.SystemAssigned; } if (this.MyInvocation.BoundParameters.ContainsKey("IdentityType")) { if (vIdentity == null) { vIdentity = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetIdentity(); } vIdentity.Type = this.IdentityType; } if (this.MyInvocation.BoundParameters.ContainsKey("IdentityId")) { if (vIdentity == null) { vIdentity = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetIdentity(); } vIdentity.IdentityIds = this.IdentityId; } var vVirtualMachineScaleSet = new PSVirtualMachineScaleSet { Overprovision = this.MyInvocation.BoundParameters.ContainsKey("Overprovision") ? this.Overprovision : (bool?)null, SinglePlacementGroup = this.MyInvocation.BoundParameters.ContainsKey("SinglePlacementGroup") ? this.SinglePlacementGroup : (bool?)null, ZoneBalance = this.ZoneBalance.IsPresent ? true : (bool?)null, PlatformFaultDomainCount = this.MyInvocation.BoundParameters.ContainsKey("PlatformFaultDomainCount") ? this.PlatformFaultDomainCount : (int?)null, Zones = this.MyInvocation.BoundParameters.ContainsKey("Zone") ? this.Zone : null, Location = this.MyInvocation.BoundParameters.ContainsKey("Location") ? this.Location : null, Tags = this.MyInvocation.BoundParameters.ContainsKey("Tag") ? this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value) : null, Sku = vSku, Plan = vPlan, UpgradePolicy = vUpgradePolicy, VirtualMachineProfile = vVirtualMachineProfile, Identity = vIdentity, }; WriteObject(vVirtualMachineScaleSet); }
private void Run() { // Sku Microsoft.Azure.Management.Compute.Models.Sku vSku = null; // Plan Microsoft.Azure.Management.Compute.Models.Plan vPlan = null; // UpgradePolicy Microsoft.Azure.Management.Compute.Models.UpgradePolicy vUpgradePolicy = null; // VirtualMachineProfile Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile vVirtualMachineProfile = null; if (this.SkuName != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Name = this.SkuName; } if (this.SkuTier != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Tier = this.SkuTier; } if (this.SkuCapacity != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.Sku(); } vSku.Capacity = this.SkuCapacity; } if (this.PlanName != null) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Name = this.PlanName; } if (this.PlanPublisher != null) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Publisher = this.PlanPublisher; } if (this.PlanProduct != null) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.Product = this.PlanProduct; } if (this.PlanPromotionCode != null) { if (vPlan == null) { vPlan = new Microsoft.Azure.Management.Compute.Models.Plan(); } vPlan.PromotionCode = this.PlanPromotionCode; } if (this.UpgradePolicyMode != null) { if (vUpgradePolicy == null) { vUpgradePolicy = new Microsoft.Azure.Management.Compute.Models.UpgradePolicy(); } vUpgradePolicy.Mode = this.UpgradePolicyMode; } if (this.OsProfile != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.OsProfile = this.OsProfile; } if (this.StorageProfile != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } vVirtualMachineProfile.StorageProfile = this.StorageProfile; } if (this.NetworkInterfaceConfiguration != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.NetworkProfile == null) { vVirtualMachineProfile.NetworkProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetNetworkProfile(); } vVirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations = this.NetworkInterfaceConfiguration; } if (this.Extension != null) { if (vVirtualMachineProfile == null) { vVirtualMachineProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMProfile(); } if (vVirtualMachineProfile.ExtensionProfile == null) { vVirtualMachineProfile.ExtensionProfile = new Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetExtensionProfile(); } vVirtualMachineProfile.ExtensionProfile.Extensions = this.Extension; } var vVirtualMachineScaleSet = new VirtualMachineScaleSet { Overprovision = this.Overprovision, SinglePlacementGroup = this.SinglePlacementGroup, Location = this.Location, Tags = (this.Tag == null) ? null : this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value), Sku = vSku, Plan = vPlan, UpgradePolicy = vUpgradePolicy, VirtualMachineProfile = vVirtualMachineProfile, }; WriteObject(vVirtualMachineScaleSet); }
/// <summary> /// Initializes a new instance of the VirtualMachineScaleSetVM 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="instanceId">The virtual machine instance ID.</param> /// <param name="sku">The virtual machine SKU.</param> /// <param name="latestModelApplied">Specifies whether the latest model /// has been applied to the virtual machine.</param> /// <param name="vmId">Azure VM unique ID.</param> /// <param name="instanceView">The virtual machine instance /// view.</param> /// <param name="hardwareProfile">Specifies the hardware settings for /// the virtual machine.</param> /// <param name="storageProfile">Specifies the storage settings for the /// virtual machine disks.</param> /// <param name="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.</param> /// <param name="osProfile">Specifies the operating system settings for /// the virtual machine.</param> /// <param name="securityProfile">Specifies the Security related /// profile settings for the virtual machine.</param> /// <param name="networkProfile">Specifies the network interfaces of /// the virtual machine.</param> /// <param name="networkProfileConfiguration">Specifies the network /// profile configuration of the virtual machine.</param> /// <param name="diagnosticsProfile">Specifies the boot diagnostic /// settings state. <br><br>Minimum api-version: /// 2015-06-15.</param> /// <param name="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 [Availability sets /// overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). /// <br><br> For more information on Azure planned /// maintenance, see [Maintenance and updates for Virtual Machines in /// Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates) /// <br><br> Currently, a VM can only be added to /// availability set at creation time. An existing VM cannot be added /// to an availability set.</param> /// <param name="provisioningState">The provisioning state, which only /// appears in the response.</param> /// <param name="licenseType">Specifies that the image or disk that is /// being used was licensed on-premises. <br><br> Possible /// values for Windows Server operating system are: /// <br><br> Windows_Client <br><br> /// Windows_Server <br><br> Possible values for Linux /// Server operating system are: <br><br> RHEL_BYOS (for /// RHEL) <br><br> SLES_BYOS (for SUSE) /// <br><br> For more information, see [Azure Hybrid Use /// Benefit for Windows /// Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) /// <br><br> [Azure Hybrid Use Benefit for Linux /// Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) /// <br><br> Minimum api-version: 2015-06-15</param> /// <param name="modelDefinitionApplied">Specifies whether the model /// applied to the virtual machine is the model of the virtual machine /// scale set or the customized model for the virtual machine.</param> /// <param name="protectionPolicy">Specifies the protection policy of /// the virtual machine.</param> /// <param name="userData">UserData for the VM, which must be base-64 /// encoded. Customer should not pass any secrets in here. /// <br><br>Minimum api-version: 2021-03-01</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="resources">The virtual machine child extension /// resources.</param> /// <param name="zones">The virtual machine zones.</param> public VirtualMachineScaleSetVM(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string instanceId = default(string), Sku sku = default(Sku), bool?latestModelApplied = default(bool?), string vmId = default(string), VirtualMachineScaleSetVMInstanceView instanceView = default(VirtualMachineScaleSetVMInstanceView), HardwareProfile hardwareProfile = default(HardwareProfile), StorageProfile storageProfile = default(StorageProfile), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), OSProfile osProfile = default(OSProfile), SecurityProfile securityProfile = default(SecurityProfile), NetworkProfile networkProfile = default(NetworkProfile), VirtualMachineScaleSetVMNetworkProfileConfiguration networkProfileConfiguration = default(VirtualMachineScaleSetVMNetworkProfileConfiguration), DiagnosticsProfile diagnosticsProfile = default(DiagnosticsProfile), SubResource availabilitySet = default(SubResource), string provisioningState = default(string), string licenseType = default(string), string modelDefinitionApplied = default(string), VirtualMachineScaleSetVMProtectionPolicy protectionPolicy = default(VirtualMachineScaleSetVMProtectionPolicy), string userData = default(string), Plan plan = default(Plan), IList <VirtualMachineExtension> resources = default(IList <VirtualMachineExtension>), IList <string> zones = default(IList <string>)) : base(location, id, name, type, tags) { InstanceId = instanceId; Sku = sku; LatestModelApplied = latestModelApplied; VmId = vmId; InstanceView = instanceView; HardwareProfile = hardwareProfile; StorageProfile = storageProfile; AdditionalCapabilities = additionalCapabilities; OsProfile = osProfile; SecurityProfile = securityProfile; NetworkProfile = networkProfile; NetworkProfileConfiguration = networkProfileConfiguration; DiagnosticsProfile = diagnosticsProfile; AvailabilitySet = availabilitySet; ProvisioningState = provisioningState; LicenseType = licenseType; ModelDefinitionApplied = modelDefinitionApplied; ProtectionPolicy = protectionPolicy; UserData = userData; Plan = plan; Resources = resources; Zones = zones; CustomInit(); }
/// <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="automaticRepairsPolicy">Policy for automatic /// repairs.</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="doNotRunExtensionsOnOverprovisionedVMs">When /// Overprovision is enabled, extensions are launched only on the /// requested number of VMs which are finally kept. This property will /// hence ensure that the extensions do not run on the extra /// overprovisioned VMs.</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. /// NOTE: If singlePlacementGroup is true, it may be modified to false. /// However, if singlePlacementGroup is false, it may not be modified /// to true.</param> /// <param name="zoneBalance">Whether to force strictly even Virtual /// Machine distribution cross x-zones in case there is zone outage. /// zoneBalance property can only be set if the zones property of the /// scale set contains more than one zone. If there are no zones or /// only one zone specified, then zoneBalance property should not be /// set.</param> /// <param name="platformFaultDomainCount">Fault Domain count for each /// placement group.</param> /// <param name="proximityPlacementGroup">Specifies information about /// the proximity placement group that the virtual machine scale set /// should be assigned to. <br><br>Minimum api-version: /// 2018-04-01.</param> /// <param name="hostGroup">Specifies information about the dedicated /// host group that the virtual machine scale set resides in. /// <br><br>Minimum api-version: 2020-06-01.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the Virtual Machines in the /// Virtual Machine Scale Set. For instance: whether the Virtual /// Machines have the capability to support attaching managed data /// disks with UltraSSD_LRS storage account type.</param> /// <param name="scaleInPolicy">Specifies the policies applied when /// scaling in Virtual Machines in the Virtual Machine Scale /// Set.</param> /// <param name="orchestrationMode">Specifies the orchestration mode /// for the virtual machine scale set. Possible values include: /// 'Uniform', 'Flexible'</param> /// <param name="spotRestorePolicy">Specifies the Spot Restore /// properties for the virtual machine scale set.</param> /// <param name="timeCreated">Specifies the time at which the Virtual /// Machine Scale Set resource was created.<br><br>Minimum /// api-version: 2021-11-01.</param> /// <param name="identity">The identity of the virtual machine scale /// set, if configured.</param> /// <param name="zones">The virtual machine scale set zones. NOTE: /// Availability zones can only be set when you create the scale /// set</param> /// <param name="extendedLocation">The extended location of the Virtual /// Machine Scale Set.</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), AutomaticRepairsPolicy automaticRepairsPolicy = default(AutomaticRepairsPolicy), VirtualMachineScaleSetVMProfile virtualMachineProfile = default(VirtualMachineScaleSetVMProfile), string provisioningState = default(string), bool?overprovision = default(bool?), bool?doNotRunExtensionsOnOverprovisionedVMs = default(bool?), string uniqueId = default(string), bool?singlePlacementGroup = default(bool?), bool?zoneBalance = default(bool?), int?platformFaultDomainCount = default(int?), SubResource proximityPlacementGroup = default(SubResource), SubResource hostGroup = default(SubResource), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), ScaleInPolicy scaleInPolicy = default(ScaleInPolicy), string orchestrationMode = default(string), SpotRestorePolicy spotRestorePolicy = default(SpotRestorePolicy), System.DateTime?timeCreated = default(System.DateTime?), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity), IList <string> zones = default(IList <string>), ExtendedLocation extendedLocation = default(ExtendedLocation)) : base(location, id, name, type, tags) { Sku = sku; Plan = plan; UpgradePolicy = upgradePolicy; AutomaticRepairsPolicy = automaticRepairsPolicy; VirtualMachineProfile = virtualMachineProfile; ProvisioningState = provisioningState; Overprovision = overprovision; DoNotRunExtensionsOnOverprovisionedVMs = doNotRunExtensionsOnOverprovisionedVMs; UniqueId = uniqueId; SinglePlacementGroup = singlePlacementGroup; ZoneBalance = zoneBalance; PlatformFaultDomainCount = platformFaultDomainCount; ProximityPlacementGroup = proximityPlacementGroup; HostGroup = hostGroup; AdditionalCapabilities = additionalCapabilities; ScaleInPolicy = scaleInPolicy; OrchestrationMode = orchestrationMode; SpotRestorePolicy = spotRestorePolicy; TimeCreated = timeCreated; Identity = identity; Zones = zones; ExtendedLocation = extendedLocation; CustomInit(); }
/// <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="automaticRepairsPolicy">Policy for automatic /// repairs.</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="doNotRunExtensionsOnOverprovisionedVMs">When /// Overprovision is enabled, extensions are launched only on the /// requested number of VMs which are finally kept. This property will /// hence ensure that the extensions do not run on the extra /// overprovisioned VMs.</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. /// NOTE: If singlePlacementGroup is true, it may be modified to false. /// However, if singlePlacementGroup is false, it may not be modified /// to true.</param> /// <param name="zoneBalance">Whether to force strictly 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="proximityPlacementGroup">Specifies information about /// the proximity placement group that the virtual machine scale set /// should be assigned to. <br><br>Minimum api-version: /// 2018-04-01.</param> /// <param name="hostGroup">Specifies information about the dedicated /// host group that the virtual machine scale set resides in. /// <br><br>Minimum api-version: 2020-06-01.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the Virtual Machines in the /// Virtual Machine Scale Set. For instance: whether the Virtual /// Machines have the capability to support attaching managed data /// disks with UltraSSD_LRS storage account type.</param> /// <param name="scaleInPolicy">Specifies the scale-in policy that /// decides which virtual machines are chosen for removal when a /// Virtual Machine Scale Set is scaled-in.</param> /// <param name="identity">The identity of the virtual machine scale /// set, if configured.</param> public VirtualMachineScaleSet(string location, string id, string name, string type, IDictionary <string, string> tags, Sku sku, Plan plan, UpgradePolicy upgradePolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVMProfile virtualMachineProfile, string provisioningState, bool?overprovision, bool?doNotRunExtensionsOnOverprovisionedVMs, string uniqueId, bool?singlePlacementGroup, bool?zoneBalance, int?platformFaultDomainCount, SubResource proximityPlacementGroup, SubResource hostGroup, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, VirtualMachineScaleSetIdentity identity) : base(location, id, name, type, tags) { Sku = sku; Plan = plan; UpgradePolicy = upgradePolicy; AutomaticRepairsPolicy = automaticRepairsPolicy; VirtualMachineProfile = virtualMachineProfile; ProvisioningState = provisioningState; Overprovision = overprovision; DoNotRunExtensionsOnOverprovisionedVMs = doNotRunExtensionsOnOverprovisionedVMs; UniqueId = uniqueId; SinglePlacementGroup = singlePlacementGroup; ZoneBalance = zoneBalance; PlatformFaultDomainCount = platformFaultDomainCount; ProximityPlacementGroup = proximityPlacementGroup; HostGroup = hostGroup; AdditionalCapabilities = additionalCapabilities; ScaleInPolicy = scaleInPolicy; Identity = identity; CustomInit(); }