All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.azurefleet.inputs.WindowsConfigurationArgs Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.azurefleet.inputs;

import com.pulumi.azurenative.azurefleet.inputs.AdditionalUnattendContentArgs;
import com.pulumi.azurenative.azurefleet.inputs.PatchSettingsArgs;
import com.pulumi.azurenative.azurefleet.inputs.WinRMConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Specifies Windows operating system settings on the virtual machine.
 * 
 */
public final class WindowsConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final WindowsConfigurationArgs Empty = new WindowsConfigurationArgs();

    /**
     * Specifies additional base-64 encoded XML formatted information that can be
     * included in the Unattend.xml file, which is used by Windows Setup.
     * 
     */
    @Import(name="additionalUnattendContent")
    private @Nullable Output> additionalUnattendContent;

    /**
     * @return Specifies additional base-64 encoded XML formatted information that can be
     * included in the Unattend.xml file, which is used by Windows Setup.
     * 
     */
    public Optional>> additionalUnattendContent() {
        return Optional.ofNullable(this.additionalUnattendContent);
    }

    /**
     * Indicates whether Automatic Updates is enabled for the Windows virtual machine.
     * Default value is true. For virtual machine scale sets, this property can be
     * updated and updates will take effect on OS reprovisioning.
     * 
     */
    @Import(name="enableAutomaticUpdates")
    private @Nullable Output enableAutomaticUpdates;

    /**
     * @return Indicates whether Automatic Updates is enabled for the Windows virtual machine.
     * Default value is true. For virtual machine scale sets, this property can be
     * updated and updates will take effect on OS reprovisioning.
     * 
     */
    public Optional> enableAutomaticUpdates() {
        return Optional.ofNullable(this.enableAutomaticUpdates);
    }

    /**
     * Indicates whether VMAgent Platform Updates is enabled for the Windows virtual
     * machine. Default value is false.
     * 
     */
    @Import(name="enableVMAgentPlatformUpdates")
    private @Nullable Output enableVMAgentPlatformUpdates;

    /**
     * @return Indicates whether VMAgent Platform Updates is enabled for the Windows virtual
     * machine. Default value is false.
     * 
     */
    public Optional> enableVMAgentPlatformUpdates() {
        return Optional.ofNullable(this.enableVMAgentPlatformUpdates);
    }

    /**
     * [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
     * 
     */
    @Import(name="patchSettings")
    private @Nullable Output patchSettings;

    /**
     * @return [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
     * 
     */
    public Optional> patchSettings() {
        return Optional.ofNullable(this.patchSettings);
    }

    /**
     * Indicates whether virtual machine agent should be provisioned on the virtual
     * machine. When this property is not specified in the request body, it is set to
     * true by default. This will ensure that VM Agent is installed on the VM so that
     * extensions can be added to the VM later.
     * 
     */
    @Import(name="provisionVMAgent")
    private @Nullable Output provisionVMAgent;

    /**
     * @return Indicates whether virtual machine agent should be provisioned on the virtual
     * machine. When this property is not specified in the request body, it is set to
     * true by default. This will ensure that VM Agent is installed on the VM so that
     * extensions can be added to the VM later.
     * 
     */
    public Optional> provisionVMAgent() {
        return Optional.ofNullable(this.provisionVMAgent);
    }

    /**
     * Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time".
     * Possible values can be
     * [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id)
     * value from time zones returned by
     * [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones).
     * 
     */
    @Import(name="timeZone")
    private @Nullable Output timeZone;

    /**
     * @return Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time".
     * Possible values can be
     * [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id)
     * value from time zones returned by
     * [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones).
     * 
     */
    public Optional> timeZone() {
        return Optional.ofNullable(this.timeZone);
    }

    /**
     * Specifies the Windows Remote Management listeners. This enables remote Windows
     * PowerShell.
     * 
     */
    @Import(name="winRM")
    private @Nullable Output winRM;

    /**
     * @return Specifies the Windows Remote Management listeners. This enables remote Windows
     * PowerShell.
     * 
     */
    public Optional> winRM() {
        return Optional.ofNullable(this.winRM);
    }

    private WindowsConfigurationArgs() {}

    private WindowsConfigurationArgs(WindowsConfigurationArgs $) {
        this.additionalUnattendContent = $.additionalUnattendContent;
        this.enableAutomaticUpdates = $.enableAutomaticUpdates;
        this.enableVMAgentPlatformUpdates = $.enableVMAgentPlatformUpdates;
        this.patchSettings = $.patchSettings;
        this.provisionVMAgent = $.provisionVMAgent;
        this.timeZone = $.timeZone;
        this.winRM = $.winRM;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(WindowsConfigurationArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private WindowsConfigurationArgs $;

        public Builder() {
            $ = new WindowsConfigurationArgs();
        }

        public Builder(WindowsConfigurationArgs defaults) {
            $ = new WindowsConfigurationArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param additionalUnattendContent Specifies additional base-64 encoded XML formatted information that can be
         * included in the Unattend.xml file, which is used by Windows Setup.
         * 
         * @return builder
         * 
         */
        public Builder additionalUnattendContent(@Nullable Output> additionalUnattendContent) {
            $.additionalUnattendContent = additionalUnattendContent;
            return this;
        }

        /**
         * @param additionalUnattendContent Specifies additional base-64 encoded XML formatted information that can be
         * included in the Unattend.xml file, which is used by Windows Setup.
         * 
         * @return builder
         * 
         */
        public Builder additionalUnattendContent(List additionalUnattendContent) {
            return additionalUnattendContent(Output.of(additionalUnattendContent));
        }

        /**
         * @param additionalUnattendContent Specifies additional base-64 encoded XML formatted information that can be
         * included in the Unattend.xml file, which is used by Windows Setup.
         * 
         * @return builder
         * 
         */
        public Builder additionalUnattendContent(AdditionalUnattendContentArgs... additionalUnattendContent) {
            return additionalUnattendContent(List.of(additionalUnattendContent));
        }

        /**
         * @param enableAutomaticUpdates Indicates whether Automatic Updates is enabled for the Windows virtual machine.
         * Default value is true. For virtual machine scale sets, this property can be
         * updated and updates will take effect on OS reprovisioning.
         * 
         * @return builder
         * 
         */
        public Builder enableAutomaticUpdates(@Nullable Output enableAutomaticUpdates) {
            $.enableAutomaticUpdates = enableAutomaticUpdates;
            return this;
        }

        /**
         * @param enableAutomaticUpdates Indicates whether Automatic Updates is enabled for the Windows virtual machine.
         * Default value is true. For virtual machine scale sets, this property can be
         * updated and updates will take effect on OS reprovisioning.
         * 
         * @return builder
         * 
         */
        public Builder enableAutomaticUpdates(Boolean enableAutomaticUpdates) {
            return enableAutomaticUpdates(Output.of(enableAutomaticUpdates));
        }

        /**
         * @param enableVMAgentPlatformUpdates Indicates whether VMAgent Platform Updates is enabled for the Windows virtual
         * machine. Default value is false.
         * 
         * @return builder
         * 
         */
        public Builder enableVMAgentPlatformUpdates(@Nullable Output enableVMAgentPlatformUpdates) {
            $.enableVMAgentPlatformUpdates = enableVMAgentPlatformUpdates;
            return this;
        }

        /**
         * @param enableVMAgentPlatformUpdates Indicates whether VMAgent Platform Updates is enabled for the Windows virtual
         * machine. Default value is false.
         * 
         * @return builder
         * 
         */
        public Builder enableVMAgentPlatformUpdates(Boolean enableVMAgentPlatformUpdates) {
            return enableVMAgentPlatformUpdates(Output.of(enableVMAgentPlatformUpdates));
        }

        /**
         * @param patchSettings [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
         * 
         * @return builder
         * 
         */
        public Builder patchSettings(@Nullable Output patchSettings) {
            $.patchSettings = patchSettings;
            return this;
        }

        /**
         * @param patchSettings [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
         * 
         * @return builder
         * 
         */
        public Builder patchSettings(PatchSettingsArgs patchSettings) {
            return patchSettings(Output.of(patchSettings));
        }

        /**
         * @param provisionVMAgent Indicates whether virtual machine agent should be provisioned on the virtual
         * machine. When this property is not specified in the request body, it is set to
         * true by default. This will ensure that VM Agent is installed on the VM so that
         * extensions can be added to the VM later.
         * 
         * @return builder
         * 
         */
        public Builder provisionVMAgent(@Nullable Output provisionVMAgent) {
            $.provisionVMAgent = provisionVMAgent;
            return this;
        }

        /**
         * @param provisionVMAgent Indicates whether virtual machine agent should be provisioned on the virtual
         * machine. When this property is not specified in the request body, it is set to
         * true by default. This will ensure that VM Agent is installed on the VM so that
         * extensions can be added to the VM later.
         * 
         * @return builder
         * 
         */
        public Builder provisionVMAgent(Boolean provisionVMAgent) {
            return provisionVMAgent(Output.of(provisionVMAgent));
        }

        /**
         * @param timeZone Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time".
         * Possible values can be
         * [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id)
         * value from time zones returned by
         * [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones).
         * 
         * @return builder
         * 
         */
        public Builder timeZone(@Nullable Output timeZone) {
            $.timeZone = timeZone;
            return this;
        }

        /**
         * @param timeZone Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time".
         * Possible values can be
         * [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id)
         * value from time zones returned by
         * [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones).
         * 
         * @return builder
         * 
         */
        public Builder timeZone(String timeZone) {
            return timeZone(Output.of(timeZone));
        }

        /**
         * @param winRM Specifies the Windows Remote Management listeners. This enables remote Windows
         * PowerShell.
         * 
         * @return builder
         * 
         */
        public Builder winRM(@Nullable Output winRM) {
            $.winRM = winRM;
            return this;
        }

        /**
         * @param winRM Specifies the Windows Remote Management listeners. This enables remote Windows
         * PowerShell.
         * 
         * @return builder
         * 
         */
        public Builder winRM(WinRMConfigurationArgs winRM) {
            return winRM(Output.of(winRM));
        }

        public WindowsConfigurationArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy