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

com.pulumi.vsphere.outputs.GuestOsCustomizationSpec Maven / Gradle / Ivy

There is a newer version: 4.13.0-alpha.1732775311
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.vsphere.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.vsphere.outputs.GuestOsCustomizationSpecLinuxOptions;
import com.pulumi.vsphere.outputs.GuestOsCustomizationSpecNetworkInterface;
import com.pulumi.vsphere.outputs.GuestOsCustomizationSpecWindowsOptions;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GuestOsCustomizationSpec {
    /**
     * @return The list of DNS servers for a virtual network adapter with a static IP address.
     * 
     */
    private @Nullable List dnsServerLists;
    /**
     * @return A list of DNS search domains to add to the DNS configuration on the virtual machine.
     * 
     */
    private @Nullable List dnsSuffixLists;
    /**
     * @return The IPv4 default gateway when using network_interface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
     * 
     */
    private @Nullable String ipv4Gateway;
    /**
     * @return The IPv6 default gateway when using network_interface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
     * 
     */
    private @Nullable String ipv6Gateway;
    /**
     * @return A list of configuration options specific to Linux virtual machines.
     * 
     */
    private @Nullable GuestOsCustomizationSpecLinuxOptions linuxOptions;
    /**
     * @return A specification of network interface configuration options.
     * 
     */
    private @Nullable List networkInterfaces;
    /**
     * @return A list of configuration options specific to Windows virtual machines.
     * 
     */
    private @Nullable GuestOsCustomizationSpecWindowsOptions windowsOptions;
    /**
     * @return Use this option to specify a windows sysprep file directly.
     * 
     */
    private @Nullable String windowsSysprepText;

    private GuestOsCustomizationSpec() {}
    /**
     * @return The list of DNS servers for a virtual network adapter with a static IP address.
     * 
     */
    public List dnsServerLists() {
        return this.dnsServerLists == null ? List.of() : this.dnsServerLists;
    }
    /**
     * @return A list of DNS search domains to add to the DNS configuration on the virtual machine.
     * 
     */
    public List dnsSuffixLists() {
        return this.dnsSuffixLists == null ? List.of() : this.dnsSuffixLists;
    }
    /**
     * @return The IPv4 default gateway when using network_interface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
     * 
     */
    public Optional ipv4Gateway() {
        return Optional.ofNullable(this.ipv4Gateway);
    }
    /**
     * @return The IPv6 default gateway when using network_interface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
     * 
     */
    public Optional ipv6Gateway() {
        return Optional.ofNullable(this.ipv6Gateway);
    }
    /**
     * @return A list of configuration options specific to Linux virtual machines.
     * 
     */
    public Optional linuxOptions() {
        return Optional.ofNullable(this.linuxOptions);
    }
    /**
     * @return A specification of network interface configuration options.
     * 
     */
    public List networkInterfaces() {
        return this.networkInterfaces == null ? List.of() : this.networkInterfaces;
    }
    /**
     * @return A list of configuration options specific to Windows virtual machines.
     * 
     */
    public Optional windowsOptions() {
        return Optional.ofNullable(this.windowsOptions);
    }
    /**
     * @return Use this option to specify a windows sysprep file directly.
     * 
     */
    public Optional windowsSysprepText() {
        return Optional.ofNullable(this.windowsSysprepText);
    }

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

    public static Builder builder(GuestOsCustomizationSpec defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List dnsServerLists;
        private @Nullable List dnsSuffixLists;
        private @Nullable String ipv4Gateway;
        private @Nullable String ipv6Gateway;
        private @Nullable GuestOsCustomizationSpecLinuxOptions linuxOptions;
        private @Nullable List networkInterfaces;
        private @Nullable GuestOsCustomizationSpecWindowsOptions windowsOptions;
        private @Nullable String windowsSysprepText;
        public Builder() {}
        public Builder(GuestOsCustomizationSpec defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.dnsServerLists = defaults.dnsServerLists;
    	      this.dnsSuffixLists = defaults.dnsSuffixLists;
    	      this.ipv4Gateway = defaults.ipv4Gateway;
    	      this.ipv6Gateway = defaults.ipv6Gateway;
    	      this.linuxOptions = defaults.linuxOptions;
    	      this.networkInterfaces = defaults.networkInterfaces;
    	      this.windowsOptions = defaults.windowsOptions;
    	      this.windowsSysprepText = defaults.windowsSysprepText;
        }

        @CustomType.Setter
        public Builder dnsServerLists(@Nullable List dnsServerLists) {

            this.dnsServerLists = dnsServerLists;
            return this;
        }
        public Builder dnsServerLists(String... dnsServerLists) {
            return dnsServerLists(List.of(dnsServerLists));
        }
        @CustomType.Setter
        public Builder dnsSuffixLists(@Nullable List dnsSuffixLists) {

            this.dnsSuffixLists = dnsSuffixLists;
            return this;
        }
        public Builder dnsSuffixLists(String... dnsSuffixLists) {
            return dnsSuffixLists(List.of(dnsSuffixLists));
        }
        @CustomType.Setter
        public Builder ipv4Gateway(@Nullable String ipv4Gateway) {

            this.ipv4Gateway = ipv4Gateway;
            return this;
        }
        @CustomType.Setter
        public Builder ipv6Gateway(@Nullable String ipv6Gateway) {

            this.ipv6Gateway = ipv6Gateway;
            return this;
        }
        @CustomType.Setter
        public Builder linuxOptions(@Nullable GuestOsCustomizationSpecLinuxOptions linuxOptions) {

            this.linuxOptions = linuxOptions;
            return this;
        }
        @CustomType.Setter
        public Builder networkInterfaces(@Nullable List networkInterfaces) {

            this.networkInterfaces = networkInterfaces;
            return this;
        }
        public Builder networkInterfaces(GuestOsCustomizationSpecNetworkInterface... networkInterfaces) {
            return networkInterfaces(List.of(networkInterfaces));
        }
        @CustomType.Setter
        public Builder windowsOptions(@Nullable GuestOsCustomizationSpecWindowsOptions windowsOptions) {

            this.windowsOptions = windowsOptions;
            return this;
        }
        @CustomType.Setter
        public Builder windowsSysprepText(@Nullable String windowsSysprepText) {

            this.windowsSysprepText = windowsSysprepText;
            return this;
        }
        public GuestOsCustomizationSpec build() {
            final var _resultValue = new GuestOsCustomizationSpec();
            _resultValue.dnsServerLists = dnsServerLists;
            _resultValue.dnsSuffixLists = dnsSuffixLists;
            _resultValue.ipv4Gateway = ipv4Gateway;
            _resultValue.ipv6Gateway = ipv6Gateway;
            _resultValue.linuxOptions = linuxOptions;
            _resultValue.networkInterfaces = networkInterfaces;
            _resultValue.windowsOptions = windowsOptions;
            _resultValue.windowsSysprepText = windowsSysprepText;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy