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

com.pulumi.azurenative.compute.outputs.LinuxConfigurationResponse Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** 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.compute.outputs;

import com.pulumi.azurenative.compute.outputs.LinuxPatchSettingsResponse;
import com.pulumi.azurenative.compute.outputs.SshConfigurationResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class LinuxConfigurationResponse {
    /**
     * @return Specifies whether password authentication should be disabled.
     * 
     */
    private @Nullable Boolean disablePasswordAuthentication;
    /**
     * @return Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false.
     * 
     */
    private @Nullable Boolean enableVMAgentPlatformUpdates;
    /**
     * @return [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
     * 
     */
    private @Nullable LinuxPatchSettingsResponse patchSettings;
    /**
     * @return 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.
     * 
     */
    private @Nullable Boolean provisionVMAgent;
    /**
     * @return Specifies the ssh key configuration for a Linux OS.
     * 
     */
    private @Nullable SshConfigurationResponse ssh;

    private LinuxConfigurationResponse() {}
    /**
     * @return Specifies whether password authentication should be disabled.
     * 
     */
    public Optional disablePasswordAuthentication() {
        return Optional.ofNullable(this.disablePasswordAuthentication);
    }
    /**
     * @return Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false.
     * 
     */
    public Optional enableVMAgentPlatformUpdates() {
        return Optional.ofNullable(this.enableVMAgentPlatformUpdates);
    }
    /**
     * @return [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
     * 
     */
    public Optional patchSettings() {
        return Optional.ofNullable(this.patchSettings);
    }
    /**
     * @return 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.
     * 
     */
    public Optional provisionVMAgent() {
        return Optional.ofNullable(this.provisionVMAgent);
    }
    /**
     * @return Specifies the ssh key configuration for a Linux OS.
     * 
     */
    public Optional ssh() {
        return Optional.ofNullable(this.ssh);
    }

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

    public static Builder builder(LinuxConfigurationResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Boolean disablePasswordAuthentication;
        private @Nullable Boolean enableVMAgentPlatformUpdates;
        private @Nullable LinuxPatchSettingsResponse patchSettings;
        private @Nullable Boolean provisionVMAgent;
        private @Nullable SshConfigurationResponse ssh;
        public Builder() {}
        public Builder(LinuxConfigurationResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.disablePasswordAuthentication = defaults.disablePasswordAuthentication;
    	      this.enableVMAgentPlatformUpdates = defaults.enableVMAgentPlatformUpdates;
    	      this.patchSettings = defaults.patchSettings;
    	      this.provisionVMAgent = defaults.provisionVMAgent;
    	      this.ssh = defaults.ssh;
        }

        @CustomType.Setter
        public Builder disablePasswordAuthentication(@Nullable Boolean disablePasswordAuthentication) {

            this.disablePasswordAuthentication = disablePasswordAuthentication;
            return this;
        }
        @CustomType.Setter
        public Builder enableVMAgentPlatformUpdates(@Nullable Boolean enableVMAgentPlatformUpdates) {

            this.enableVMAgentPlatformUpdates = enableVMAgentPlatformUpdates;
            return this;
        }
        @CustomType.Setter
        public Builder patchSettings(@Nullable LinuxPatchSettingsResponse patchSettings) {

            this.patchSettings = patchSettings;
            return this;
        }
        @CustomType.Setter
        public Builder provisionVMAgent(@Nullable Boolean provisionVMAgent) {

            this.provisionVMAgent = provisionVMAgent;
            return this;
        }
        @CustomType.Setter
        public Builder ssh(@Nullable SshConfigurationResponse ssh) {

            this.ssh = ssh;
            return this;
        }
        public LinuxConfigurationResponse build() {
            final var _resultValue = new LinuxConfigurationResponse();
            _resultValue.disablePasswordAuthentication = disablePasswordAuthentication;
            _resultValue.enableVMAgentPlatformUpdates = enableVMAgentPlatformUpdates;
            _resultValue.patchSettings = patchSettings;
            _resultValue.provisionVMAgent = provisionVMAgent;
            _resultValue.ssh = ssh;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy