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

com.pulumi.azurenative.containerservice.outputs.ManagedClusterWindowsProfileResponse Maven / Gradle / Ivy

There is a newer version: 2.72.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.containerservice.outputs;

import com.pulumi.azurenative.containerservice.outputs.WindowsGmsaProfileResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ManagedClusterWindowsProfileResponse {
    /**
     * @return Specifies the password of the administrator account. <br><br> **Minimum-length:** 8 characters <br><br> **Max-length:** 123 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc{@literal @}123", "P{@literal @}$$w0rd", "P{@literal @}ssw0rd", "P{@literal @}ssword123", "Pa$$word", "pass{@literal @}word1", "Password!", "Password1", "Password22", "iloveyou!"
     * 
     */
    private @Nullable String adminPassword;
    /**
     * @return Specifies the name of the administrator account. <br><br> **Restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length:** 1 character <br><br> **Max-length:** 20 characters
     * 
     */
    private String adminUsername;
    /**
     * @return For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy).
     * 
     */
    private @Nullable Boolean enableCSIProxy;
    /**
     * @return The Windows gMSA Profile in the Managed Cluster.
     * 
     */
    private @Nullable WindowsGmsaProfileResponse gmsaProfile;
    /**
     * @return The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details.
     * 
     */
    private @Nullable String licenseType;

    private ManagedClusterWindowsProfileResponse() {}
    /**
     * @return Specifies the password of the administrator account. <br><br> **Minimum-length:** 8 characters <br><br> **Max-length:** 123 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc{@literal @}123", "P{@literal @}$$w0rd", "P{@literal @}ssw0rd", "P{@literal @}ssword123", "Pa$$word", "pass{@literal @}word1", "Password!", "Password1", "Password22", "iloveyou!"
     * 
     */
    public Optional adminPassword() {
        return Optional.ofNullable(this.adminPassword);
    }
    /**
     * @return Specifies the name of the administrator account. <br><br> **Restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length:** 1 character <br><br> **Max-length:** 20 characters
     * 
     */
    public String adminUsername() {
        return this.adminUsername;
    }
    /**
     * @return For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy).
     * 
     */
    public Optional enableCSIProxy() {
        return Optional.ofNullable(this.enableCSIProxy);
    }
    /**
     * @return The Windows gMSA Profile in the Managed Cluster.
     * 
     */
    public Optional gmsaProfile() {
        return Optional.ofNullable(this.gmsaProfile);
    }
    /**
     * @return The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details.
     * 
     */
    public Optional licenseType() {
        return Optional.ofNullable(this.licenseType);
    }

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

    public static Builder builder(ManagedClusterWindowsProfileResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String adminPassword;
        private String adminUsername;
        private @Nullable Boolean enableCSIProxy;
        private @Nullable WindowsGmsaProfileResponse gmsaProfile;
        private @Nullable String licenseType;
        public Builder() {}
        public Builder(ManagedClusterWindowsProfileResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.adminPassword = defaults.adminPassword;
    	      this.adminUsername = defaults.adminUsername;
    	      this.enableCSIProxy = defaults.enableCSIProxy;
    	      this.gmsaProfile = defaults.gmsaProfile;
    	      this.licenseType = defaults.licenseType;
        }

        @CustomType.Setter
        public Builder adminPassword(@Nullable String adminPassword) {

            this.adminPassword = adminPassword;
            return this;
        }
        @CustomType.Setter
        public Builder adminUsername(String adminUsername) {
            if (adminUsername == null) {
              throw new MissingRequiredPropertyException("ManagedClusterWindowsProfileResponse", "adminUsername");
            }
            this.adminUsername = adminUsername;
            return this;
        }
        @CustomType.Setter
        public Builder enableCSIProxy(@Nullable Boolean enableCSIProxy) {

            this.enableCSIProxy = enableCSIProxy;
            return this;
        }
        @CustomType.Setter
        public Builder gmsaProfile(@Nullable WindowsGmsaProfileResponse gmsaProfile) {

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

            this.licenseType = licenseType;
            return this;
        }
        public ManagedClusterWindowsProfileResponse build() {
            final var _resultValue = new ManagedClusterWindowsProfileResponse();
            _resultValue.adminPassword = adminPassword;
            _resultValue.adminUsername = adminUsername;
            _resultValue.enableCSIProxy = enableCSIProxy;
            _resultValue.gmsaProfile = gmsaProfile;
            _resultValue.licenseType = licenseType;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy