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

odata.msgraph.client.entity.DeviceEnrollmentWindowsHelloForBusinessConfiguration Maven / Gradle / Ivy

package odata.msgraph.client.entity;

import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.github.davidmoten.odata.client.ClientException;
import com.github.davidmoten.odata.client.NameValue;
import com.github.davidmoten.odata.client.ODataEntityType;
import com.github.davidmoten.odata.client.RequestOptions;
import com.github.davidmoten.odata.client.UnmappedFields;
import com.github.davidmoten.odata.client.Util;
import com.github.davidmoten.odata.client.annotation.Property;
import com.github.davidmoten.odata.client.internal.ChangedFields;
import com.github.davidmoten.odata.client.internal.RequestHelper;
import com.github.davidmoten.odata.client.internal.UnmappedFieldsImpl;

import java.lang.Boolean;
import java.lang.Integer;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import java.lang.StringBuilder;
import java.time.OffsetDateTime;
import java.util.Optional;

import odata.msgraph.client.enums.Enablement;
import odata.msgraph.client.enums.WindowsHelloForBusinessPinUsage;


/**
 * “Windows Hello for Business settings lets users access their devices using a
 * gesture, such as biometric authentication, or a PIN. Configure settings for
 * enrolled Windows 10, Windows 10 Mobile and later.”
 */@JsonPropertyOrder({
    "@odata.type", 
    "enhancedBiometricsState", 
    "pinExpirationInDays", 
    "pinLowercaseCharactersUsage", 
    "pinMaximumLength", 
    "pinMinimumLength", 
    "pinPreviousBlockCount", 
    "pinSpecialCharactersUsage", 
    "pinUppercaseCharactersUsage", 
    "remotePassportEnabled", 
    "securityDeviceRequired", 
    "state", 
    "unlockWithBiometricsEnabled"})
@JsonInclude(Include.NON_NULL)
public class DeviceEnrollmentWindowsHelloForBusinessConfiguration extends DeviceEnrollmentConfiguration implements ODataEntityType {

    @Override
    public String odataTypeName() {
        return "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration";
    }

    @JsonProperty("enhancedBiometricsState")
    protected Enablement enhancedBiometricsState;

    @JsonProperty("pinExpirationInDays")
    protected Integer pinExpirationInDays;

    @JsonProperty("pinLowercaseCharactersUsage")
    protected WindowsHelloForBusinessPinUsage pinLowercaseCharactersUsage;

    @JsonProperty("pinMaximumLength")
    protected Integer pinMaximumLength;

    @JsonProperty("pinMinimumLength")
    protected Integer pinMinimumLength;

    @JsonProperty("pinPreviousBlockCount")
    protected Integer pinPreviousBlockCount;

    @JsonProperty("pinSpecialCharactersUsage")
    protected WindowsHelloForBusinessPinUsage pinSpecialCharactersUsage;

    @JsonProperty("pinUppercaseCharactersUsage")
    protected WindowsHelloForBusinessPinUsage pinUppercaseCharactersUsage;

    @JsonProperty("remotePassportEnabled")
    protected Boolean remotePassportEnabled;

    @JsonProperty("securityDeviceRequired")
    protected Boolean securityDeviceRequired;

    @JsonProperty("state")
    protected Enablement state;

    @JsonProperty("unlockWithBiometricsEnabled")
    protected Boolean unlockWithBiometricsEnabled;

    protected DeviceEnrollmentWindowsHelloForBusinessConfiguration() {
        super();
    }

    /**
     * Returns a builder which is used to create a new
     * instance of this class (given that this class is immutable).
     *
     * @return a new Builder for this class
     */
    // Suffix used on builder factory method to differentiate the method
    // from static builder methods on superclasses
    public static Builder builderDeviceEnrollmentWindowsHelloForBusinessConfiguration() {
        return new Builder();
    }

    public static final class Builder {
        private String id;
        private OffsetDateTime createdDateTime;
        private String description;
        private String displayName;
        private OffsetDateTime lastModifiedDateTime;
        private Integer priority;
        private Integer version;
        private Enablement enhancedBiometricsState;
        private Integer pinExpirationInDays;
        private WindowsHelloForBusinessPinUsage pinLowercaseCharactersUsage;
        private Integer pinMaximumLength;
        private Integer pinMinimumLength;
        private Integer pinPreviousBlockCount;
        private WindowsHelloForBusinessPinUsage pinSpecialCharactersUsage;
        private WindowsHelloForBusinessPinUsage pinUppercaseCharactersUsage;
        private Boolean remotePassportEnabled;
        private Boolean securityDeviceRequired;
        private Enablement state;
        private Boolean unlockWithBiometricsEnabled;
        private ChangedFields changedFields = ChangedFields.EMPTY;

        Builder() {
            // prevent instantiation
        }

        public Builder id(String id) {
            this.id = id;
            this.changedFields = changedFields.add("id");
            return this;
        }

        public Builder createdDateTime(OffsetDateTime createdDateTime) {
            this.createdDateTime = createdDateTime;
            this.changedFields = changedFields.add("createdDateTime");
            return this;
        }

        public Builder description(String description) {
            this.description = description;
            this.changedFields = changedFields.add("description");
            return this;
        }

        public Builder displayName(String displayName) {
            this.displayName = displayName;
            this.changedFields = changedFields.add("displayName");
            return this;
        }

        public Builder lastModifiedDateTime(OffsetDateTime lastModifiedDateTime) {
            this.lastModifiedDateTime = lastModifiedDateTime;
            this.changedFields = changedFields.add("lastModifiedDateTime");
            return this;
        }

        public Builder priority(Integer priority) {
            this.priority = priority;
            this.changedFields = changedFields.add("priority");
            return this;
        }

        public Builder version(Integer version) {
            this.version = version;
            this.changedFields = changedFields.add("version");
            return this;
        }

        /**
         * “Controls the ability to use the anti-spoofing features for facial recognition on
         * devices which support it. If set to disabled, anti-spoofing features are not
         * allowed. If set to Not Configured, the user can choose whether they want to use
         * anti-spoofing.”
         * 
         * @param enhancedBiometricsState
         *            value of {@code enhancedBiometricsState} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder enhancedBiometricsState(Enablement enhancedBiometricsState) {
            this.enhancedBiometricsState = enhancedBiometricsState;
            this.changedFields = changedFields.add("enhancedBiometricsState");
            return this;
        }

        /**
         * “Controls the period of time (in days) that a PIN can be used before the system
         * requires the user to change it. This must be set between 0 and 730, inclusive.
         * If set to 0, the user's PIN will never expire”
         * 
         * @param pinExpirationInDays
         *            value of {@code pinExpirationInDays} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder pinExpirationInDays(Integer pinExpirationInDays) {
            this.pinExpirationInDays = pinExpirationInDays;
            this.changedFields = changedFields.add("pinExpirationInDays");
            return this;
        }

        /**
         * “Controls the ability to use lowercase letters in the Windows Hello for Business
         * PIN.  Allowed permits the use of lowercase letter(s), whereas Required ensures
         * they are present. If set to Not Allowed, lowercase letters will not be permitted
         * .”
         * 
         * @param pinLowercaseCharactersUsage
         *            value of {@code pinLowercaseCharactersUsage} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder pinLowercaseCharactersUsage(WindowsHelloForBusinessPinUsage pinLowercaseCharactersUsage) {
            this.pinLowercaseCharactersUsage = pinLowercaseCharactersUsage;
            this.changedFields = changedFields.add("pinLowercaseCharactersUsage");
            return this;
        }

        /**
         * “Controls the maximum number of characters allowed for the Windows Hello for
         * Business PIN. This value must be between 4 and 127, inclusive. This value must
         * be greater than or equal to the value set for the minimum PIN.”
         * 
         * @param pinMaximumLength
         *            value of {@code pinMaximumLength} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder pinMaximumLength(Integer pinMaximumLength) {
            this.pinMaximumLength = pinMaximumLength;
            this.changedFields = changedFields.add("pinMaximumLength");
            return this;
        }

        /**
         * “Controls the minimum number of characters required for the Windows Hello for
         * Business PIN.  This value must be between 4 and 127, inclusive, and less than or
         * equal to the value set for the maximum PIN.”
         * 
         * @param pinMinimumLength
         *            value of {@code pinMinimumLength} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder pinMinimumLength(Integer pinMinimumLength) {
            this.pinMinimumLength = pinMinimumLength;
            this.changedFields = changedFields.add("pinMinimumLength");
            return this;
        }

        /**
         * “Controls the ability to prevent users from using past PINs. This must be set
         * between 0 and 50, inclusive, and the current PIN of the user is included in that
         * count. If set to 0, previous PINs are not stored. PIN history is not preserved
         * through a PIN reset.”
         * 
         * @param pinPreviousBlockCount
         *            value of {@code pinPreviousBlockCount} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder pinPreviousBlockCount(Integer pinPreviousBlockCount) {
            this.pinPreviousBlockCount = pinPreviousBlockCount;
            this.changedFields = changedFields.add("pinPreviousBlockCount");
            return this;
        }

        /**
         * “Controls the ability to use special characters in the Windows Hello for Business
         * PIN.  Allowed permits the use of special character(s), whereas Required ensures
         * they are present. If set to Not Allowed, special character(s) will not be
         * permitted.”
         * 
         * @param pinSpecialCharactersUsage
         *            value of {@code pinSpecialCharactersUsage} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder pinSpecialCharactersUsage(WindowsHelloForBusinessPinUsage pinSpecialCharactersUsage) {
            this.pinSpecialCharactersUsage = pinSpecialCharactersUsage;
            this.changedFields = changedFields.add("pinSpecialCharactersUsage");
            return this;
        }

        /**
         * “Controls the ability to use uppercase letters in the Windows Hello for Business
         * PIN.  Allowed permits the use of uppercase letter(s), whereas Required ensures
         * they are present. If set to Not Allowed, uppercase letters will not be permitted
         * .”
         * 
         * @param pinUppercaseCharactersUsage
         *            value of {@code pinUppercaseCharactersUsage} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder pinUppercaseCharactersUsage(WindowsHelloForBusinessPinUsage pinUppercaseCharactersUsage) {
            this.pinUppercaseCharactersUsage = pinUppercaseCharactersUsage;
            this.changedFields = changedFields.add("pinUppercaseCharactersUsage");
            return this;
        }

        /**
         * “Controls the use of Remote Windows Hello for Business. Remote Windows Hello for
         * Business provides the ability for a portable, registered device to be usable as
         * a companion for desktop authentication. The desktop must be Azure AD joined and
         * the companion device must have a Windows Hello for Business PIN.”
         * 
         * @param remotePassportEnabled
         *            value of {@code remotePassportEnabled} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder remotePassportEnabled(Boolean remotePassportEnabled) {
            this.remotePassportEnabled = remotePassportEnabled;
            this.changedFields = changedFields.add("remotePassportEnabled");
            return this;
        }

        /**
         * “Controls whether to require a Trusted Platform Module (TPM) for provisioning
         * Windows Hello for Business. A TPM provides an additional security benefit in
         * that data stored on it cannot be used on other devices. If set to False, all
         * devices can provision Windows Hello for Business even if there is not a usable
         * TPM.”
         * 
         * @param securityDeviceRequired
         *            value of {@code securityDeviceRequired} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder securityDeviceRequired(Boolean securityDeviceRequired) {
            this.securityDeviceRequired = securityDeviceRequired;
            this.changedFields = changedFields.add("securityDeviceRequired");
            return this;
        }

        /**
         * “Controls whether to allow the device to be configured for Windows Hello for
         * Business. If set to disabled, the user cannot provision Windows Hello for
         * Business except on Azure Active Directory joined mobile phones if otherwise
         * required. If set to Not Configured, Intune will not override client defaults.”
         * 
         * @param state
         *            value of {@code state} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder state(Enablement state) {
            this.state = state;
            this.changedFields = changedFields.add("state");
            return this;
        }

        /**
         * “Controls the use of biometric gestures, such as face and fingerprint, as an
         * alternative to the Windows Hello for Business PIN.  If set to False, biometric
         * gestures are not allowed. Users must still configure a PIN as a backup in case
         * of failures.”
         * 
         * @param unlockWithBiometricsEnabled
         *            value of {@code unlockWithBiometricsEnabled} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder unlockWithBiometricsEnabled(Boolean unlockWithBiometricsEnabled) {
            this.unlockWithBiometricsEnabled = unlockWithBiometricsEnabled;
            this.changedFields = changedFields.add("unlockWithBiometricsEnabled");
            return this;
        }

        public DeviceEnrollmentWindowsHelloForBusinessConfiguration build() {
            DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = new DeviceEnrollmentWindowsHelloForBusinessConfiguration();
            _x.contextPath = null;
            _x.changedFields = changedFields;
            _x.unmappedFields = new UnmappedFieldsImpl();
            _x.odataType = "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration";
            _x.id = id;
            _x.createdDateTime = createdDateTime;
            _x.description = description;
            _x.displayName = displayName;
            _x.lastModifiedDateTime = lastModifiedDateTime;
            _x.priority = priority;
            _x.version = version;
            _x.enhancedBiometricsState = enhancedBiometricsState;
            _x.pinExpirationInDays = pinExpirationInDays;
            _x.pinLowercaseCharactersUsage = pinLowercaseCharactersUsage;
            _x.pinMaximumLength = pinMaximumLength;
            _x.pinMinimumLength = pinMinimumLength;
            _x.pinPreviousBlockCount = pinPreviousBlockCount;
            _x.pinSpecialCharactersUsage = pinSpecialCharactersUsage;
            _x.pinUppercaseCharactersUsage = pinUppercaseCharactersUsage;
            _x.remotePassportEnabled = remotePassportEnabled;
            _x.securityDeviceRequired = securityDeviceRequired;
            _x.state = state;
            _x.unlockWithBiometricsEnabled = unlockWithBiometricsEnabled;
            return _x;
        }
    }

    @Override
    @JsonIgnore
    public ChangedFields getChangedFields() {
        return changedFields;
    }

    @Override
    public void postInject(boolean addKeysToContextPath) {
        if (addKeysToContextPath && id != null) {
            contextPath = contextPath.clearQueries().addKeys(new NameValue(id.toString()));
        }
    }

    /**
     * “Controls the ability to use the anti-spoofing features for facial recognition on
     * devices which support it. If set to disabled, anti-spoofing features are not
     * allowed. If set to Not Configured, the user can choose whether they want to use
     * anti-spoofing.”
     * 
     * @return property enhancedBiometricsState
     */
    @Property(name="enhancedBiometricsState")
    @JsonIgnore
    public Optional getEnhancedBiometricsState() {
        return Optional.ofNullable(enhancedBiometricsState);
    }

    /**
     * Returns an immutable copy of {@code this} with just the {@code
     * enhancedBiometricsState} field changed. Field description below. The field name
     * is also added to an internal map of changed fields in the returned object so
     * that when {@code this.patch()} is called (if available)on the returned object
     * only the changed fields are submitted.
     * 

* “Controls the ability to use the anti-spoofing features for facial recognition on * devices which support it. If set to disabled, anti-spoofing features are not * allowed. If set to Not Configured, the user can choose whether they want to use * anti-spoofing.” * * @param enhancedBiometricsState * new value of {@code enhancedBiometricsState} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code enhancedBiometricsState} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withEnhancedBiometricsState(Enablement enhancedBiometricsState) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("enhancedBiometricsState"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.enhancedBiometricsState = enhancedBiometricsState; return _x; } /** * “Controls the period of time (in days) that a PIN can be used before the system * requires the user to change it. This must be set between 0 and 730, inclusive. * If set to 0, the user's PIN will never expire” * * @return property pinExpirationInDays */ @Property(name="pinExpirationInDays") @JsonIgnore public Optional getPinExpirationInDays() { return Optional.ofNullable(pinExpirationInDays); } /** * Returns an immutable copy of {@code this} with just the {@code * pinExpirationInDays} field changed. Field description below. The field name is * also added to an internal map of changed fields in the returned object so that * when {@code this.patch()} is called (if available)on the returned object only * the changed fields are submitted. *

* “Controls the period of time (in days) that a PIN can be used before the system * requires the user to change it. This must be set between 0 and 730, inclusive. * If set to 0, the user's PIN will never expire” * * @param pinExpirationInDays * new value of {@code pinExpirationInDays} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code pinExpirationInDays} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withPinExpirationInDays(Integer pinExpirationInDays) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("pinExpirationInDays"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.pinExpirationInDays = pinExpirationInDays; return _x; } /** * “Controls the ability to use lowercase letters in the Windows Hello for Business * PIN. Allowed permits the use of lowercase letter(s), whereas Required ensures * they are present. If set to Not Allowed, lowercase letters will not be permitted * .” * * @return property pinLowercaseCharactersUsage */ @Property(name="pinLowercaseCharactersUsage") @JsonIgnore public Optional getPinLowercaseCharactersUsage() { return Optional.ofNullable(pinLowercaseCharactersUsage); } /** * Returns an immutable copy of {@code this} with just the {@code * pinLowercaseCharactersUsage} field changed. Field description below. The field * name is also added to an internal map of changed fields in the returned object * so that when {@code this.patch()} is called (if available)on the returned object * only the changed fields are submitted. *

* “Controls the ability to use lowercase letters in the Windows Hello for Business * PIN. Allowed permits the use of lowercase letter(s), whereas Required ensures * they are present. If set to Not Allowed, lowercase letters will not be permitted * .” * * @param pinLowercaseCharactersUsage * new value of {@code pinLowercaseCharactersUsage} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code pinLowercaseCharactersUsage} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withPinLowercaseCharactersUsage(WindowsHelloForBusinessPinUsage pinLowercaseCharactersUsage) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("pinLowercaseCharactersUsage"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.pinLowercaseCharactersUsage = pinLowercaseCharactersUsage; return _x; } /** * “Controls the maximum number of characters allowed for the Windows Hello for * Business PIN. This value must be between 4 and 127, inclusive. This value must * be greater than or equal to the value set for the minimum PIN.” * * @return property pinMaximumLength */ @Property(name="pinMaximumLength") @JsonIgnore public Optional getPinMaximumLength() { return Optional.ofNullable(pinMaximumLength); } /** * Returns an immutable copy of {@code this} with just the {@code pinMaximumLength} * field changed. Field description below. The field name is also added to an * internal map of changed fields in the returned object so that when {@code this. * patch()} is called (if available)on the returned object only the changed fields * are submitted. *

* “Controls the maximum number of characters allowed for the Windows Hello for * Business PIN. This value must be between 4 and 127, inclusive. This value must * be greater than or equal to the value set for the minimum PIN.” * * @param pinMaximumLength * new value of {@code pinMaximumLength} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code pinMaximumLength} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withPinMaximumLength(Integer pinMaximumLength) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("pinMaximumLength"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.pinMaximumLength = pinMaximumLength; return _x; } /** * “Controls the minimum number of characters required for the Windows Hello for * Business PIN. This value must be between 4 and 127, inclusive, and less than or * equal to the value set for the maximum PIN.” * * @return property pinMinimumLength */ @Property(name="pinMinimumLength") @JsonIgnore public Optional getPinMinimumLength() { return Optional.ofNullable(pinMinimumLength); } /** * Returns an immutable copy of {@code this} with just the {@code pinMinimumLength} * field changed. Field description below. The field name is also added to an * internal map of changed fields in the returned object so that when {@code this. * patch()} is called (if available)on the returned object only the changed fields * are submitted. *

* “Controls the minimum number of characters required for the Windows Hello for * Business PIN. This value must be between 4 and 127, inclusive, and less than or * equal to the value set for the maximum PIN.” * * @param pinMinimumLength * new value of {@code pinMinimumLength} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code pinMinimumLength} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withPinMinimumLength(Integer pinMinimumLength) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("pinMinimumLength"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.pinMinimumLength = pinMinimumLength; return _x; } /** * “Controls the ability to prevent users from using past PINs. This must be set * between 0 and 50, inclusive, and the current PIN of the user is included in that * count. If set to 0, previous PINs are not stored. PIN history is not preserved * through a PIN reset.” * * @return property pinPreviousBlockCount */ @Property(name="pinPreviousBlockCount") @JsonIgnore public Optional getPinPreviousBlockCount() { return Optional.ofNullable(pinPreviousBlockCount); } /** * Returns an immutable copy of {@code this} with just the {@code * pinPreviousBlockCount} field changed. Field description below. The field name is * also added to an internal map of changed fields in the returned object so that * when {@code this.patch()} is called (if available)on the returned object only * the changed fields are submitted. *

* “Controls the ability to prevent users from using past PINs. This must be set * between 0 and 50, inclusive, and the current PIN of the user is included in that * count. If set to 0, previous PINs are not stored. PIN history is not preserved * through a PIN reset.” * * @param pinPreviousBlockCount * new value of {@code pinPreviousBlockCount} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code pinPreviousBlockCount} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withPinPreviousBlockCount(Integer pinPreviousBlockCount) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("pinPreviousBlockCount"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.pinPreviousBlockCount = pinPreviousBlockCount; return _x; } /** * “Controls the ability to use special characters in the Windows Hello for Business * PIN. Allowed permits the use of special character(s), whereas Required ensures * they are present. If set to Not Allowed, special character(s) will not be * permitted.” * * @return property pinSpecialCharactersUsage */ @Property(name="pinSpecialCharactersUsage") @JsonIgnore public Optional getPinSpecialCharactersUsage() { return Optional.ofNullable(pinSpecialCharactersUsage); } /** * Returns an immutable copy of {@code this} with just the {@code * pinSpecialCharactersUsage} field changed. Field description below. The field * name is also added to an internal map of changed fields in the returned object * so that when {@code this.patch()} is called (if available)on the returned object * only the changed fields are submitted. *

* “Controls the ability to use special characters in the Windows Hello for Business * PIN. Allowed permits the use of special character(s), whereas Required ensures * they are present. If set to Not Allowed, special character(s) will not be * permitted.” * * @param pinSpecialCharactersUsage * new value of {@code pinSpecialCharactersUsage} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code pinSpecialCharactersUsage} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withPinSpecialCharactersUsage(WindowsHelloForBusinessPinUsage pinSpecialCharactersUsage) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("pinSpecialCharactersUsage"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.pinSpecialCharactersUsage = pinSpecialCharactersUsage; return _x; } /** * “Controls the ability to use uppercase letters in the Windows Hello for Business * PIN. Allowed permits the use of uppercase letter(s), whereas Required ensures * they are present. If set to Not Allowed, uppercase letters will not be permitted * .” * * @return property pinUppercaseCharactersUsage */ @Property(name="pinUppercaseCharactersUsage") @JsonIgnore public Optional getPinUppercaseCharactersUsage() { return Optional.ofNullable(pinUppercaseCharactersUsage); } /** * Returns an immutable copy of {@code this} with just the {@code * pinUppercaseCharactersUsage} field changed. Field description below. The field * name is also added to an internal map of changed fields in the returned object * so that when {@code this.patch()} is called (if available)on the returned object * only the changed fields are submitted. *

* “Controls the ability to use uppercase letters in the Windows Hello for Business * PIN. Allowed permits the use of uppercase letter(s), whereas Required ensures * they are present. If set to Not Allowed, uppercase letters will not be permitted * .” * * @param pinUppercaseCharactersUsage * new value of {@code pinUppercaseCharactersUsage} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code pinUppercaseCharactersUsage} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withPinUppercaseCharactersUsage(WindowsHelloForBusinessPinUsage pinUppercaseCharactersUsage) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("pinUppercaseCharactersUsage"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.pinUppercaseCharactersUsage = pinUppercaseCharactersUsage; return _x; } /** * “Controls the use of Remote Windows Hello for Business. Remote Windows Hello for * Business provides the ability for a portable, registered device to be usable as * a companion for desktop authentication. The desktop must be Azure AD joined and * the companion device must have a Windows Hello for Business PIN.” * * @return property remotePassportEnabled */ @Property(name="remotePassportEnabled") @JsonIgnore public Optional getRemotePassportEnabled() { return Optional.ofNullable(remotePassportEnabled); } /** * Returns an immutable copy of {@code this} with just the {@code * remotePassportEnabled} field changed. Field description below. The field name is * also added to an internal map of changed fields in the returned object so that * when {@code this.patch()} is called (if available)on the returned object only * the changed fields are submitted. *

* “Controls the use of Remote Windows Hello for Business. Remote Windows Hello for * Business provides the ability for a portable, registered device to be usable as * a companion for desktop authentication. The desktop must be Azure AD joined and * the companion device must have a Windows Hello for Business PIN.” * * @param remotePassportEnabled * new value of {@code remotePassportEnabled} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code remotePassportEnabled} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withRemotePassportEnabled(Boolean remotePassportEnabled) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("remotePassportEnabled"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.remotePassportEnabled = remotePassportEnabled; return _x; } /** * “Controls whether to require a Trusted Platform Module (TPM) for provisioning * Windows Hello for Business. A TPM provides an additional security benefit in * that data stored on it cannot be used on other devices. If set to False, all * devices can provision Windows Hello for Business even if there is not a usable * TPM.” * * @return property securityDeviceRequired */ @Property(name="securityDeviceRequired") @JsonIgnore public Optional getSecurityDeviceRequired() { return Optional.ofNullable(securityDeviceRequired); } /** * Returns an immutable copy of {@code this} with just the {@code * securityDeviceRequired} field changed. Field description below. The field name * is also added to an internal map of changed fields in the returned object so * that when {@code this.patch()} is called (if available)on the returned object * only the changed fields are submitted. *

* “Controls whether to require a Trusted Platform Module (TPM) for provisioning * Windows Hello for Business. A TPM provides an additional security benefit in * that data stored on it cannot be used on other devices. If set to False, all * devices can provision Windows Hello for Business even if there is not a usable * TPM.” * * @param securityDeviceRequired * new value of {@code securityDeviceRequired} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code securityDeviceRequired} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withSecurityDeviceRequired(Boolean securityDeviceRequired) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("securityDeviceRequired"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.securityDeviceRequired = securityDeviceRequired; return _x; } /** * “Controls whether to allow the device to be configured for Windows Hello for * Business. If set to disabled, the user cannot provision Windows Hello for * Business except on Azure Active Directory joined mobile phones if otherwise * required. If set to Not Configured, Intune will not override client defaults.” * * @return property state */ @Property(name="state") @JsonIgnore public Optional getState() { return Optional.ofNullable(state); } /** * Returns an immutable copy of {@code this} with just the {@code state} field * changed. Field description below. The field name is also added to an internal * map of changed fields in the returned object so that when {@code this.patch()} * is called (if available)on the returned object only the changed fields are * submitted. *

* “Controls whether to allow the device to be configured for Windows Hello for * Business. If set to disabled, the user cannot provision Windows Hello for * Business except on Azure Active Directory joined mobile phones if otherwise * required. If set to Not Configured, Intune will not override client defaults.” * * @param state * new value of {@code state} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code state} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withState(Enablement state) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("state"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.state = state; return _x; } /** * “Controls the use of biometric gestures, such as face and fingerprint, as an * alternative to the Windows Hello for Business PIN. If set to False, biometric * gestures are not allowed. Users must still configure a PIN as a backup in case * of failures.” * * @return property unlockWithBiometricsEnabled */ @Property(name="unlockWithBiometricsEnabled") @JsonIgnore public Optional getUnlockWithBiometricsEnabled() { return Optional.ofNullable(unlockWithBiometricsEnabled); } /** * Returns an immutable copy of {@code this} with just the {@code * unlockWithBiometricsEnabled} field changed. Field description below. The field * name is also added to an internal map of changed fields in the returned object * so that when {@code this.patch()} is called (if available)on the returned object * only the changed fields are submitted. *

* “Controls the use of biometric gestures, such as face and fingerprint, as an * alternative to the Windows Hello for Business PIN. If set to False, biometric * gestures are not allowed. Users must still configure a PIN as a backup in case * of failures.” * * @param unlockWithBiometricsEnabled * new value of {@code unlockWithBiometricsEnabled} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code unlockWithBiometricsEnabled} field changed */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration withUnlockWithBiometricsEnabled(Boolean unlockWithBiometricsEnabled) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = changedFields.add("unlockWithBiometricsEnabled"); _x.odataType = Util.nvl(odataType, "microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration"); _x.unlockWithBiometricsEnabled = unlockWithBiometricsEnabled; return _x; } public DeviceEnrollmentWindowsHelloForBusinessConfiguration withUnmappedField(String name, String value) { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.setUnmappedField(name, value); return _x; } @JsonAnySetter private void setUnmappedField(String name, Object value) { if (unmappedFields == null) { unmappedFields = new UnmappedFieldsImpl(); } unmappedFields.put(name, value); } @JsonAnyGetter private UnmappedFieldsImpl unmappedFields() { return unmappedFields == null ? UnmappedFieldsImpl.EMPTY : unmappedFields; } @Override public UnmappedFields getUnmappedFields() { return unmappedFields(); } /** * Submits only changed fields for update and returns an * immutable copy of {@code this} with changed fields reset. * * @return a copy of {@code this} with changed fields reset * @throws ClientException if HTTP response is not as expected */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration patch() { RequestHelper.patch(this, contextPath, RequestOptions.EMPTY); DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = null; return _x; } /** * Submits all fields for update and returns an immutable copy of {@code this} * with changed fields reset (they were ignored anyway). * * @return a copy of {@code this} with changed fields reset * @throws ClientException if HTTP response is not as expected */ public DeviceEnrollmentWindowsHelloForBusinessConfiguration put() { RequestHelper.put(this, contextPath, RequestOptions.EMPTY); DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = _copy(); _x.changedFields = null; return _x; } private DeviceEnrollmentWindowsHelloForBusinessConfiguration _copy() { DeviceEnrollmentWindowsHelloForBusinessConfiguration _x = new DeviceEnrollmentWindowsHelloForBusinessConfiguration(); _x.contextPath = contextPath; _x.changedFields = changedFields; _x.unmappedFields = unmappedFields.copy(); _x.odataType = odataType; _x.id = id; _x.createdDateTime = createdDateTime; _x.description = description; _x.displayName = displayName; _x.lastModifiedDateTime = lastModifiedDateTime; _x.priority = priority; _x.version = version; _x.enhancedBiometricsState = enhancedBiometricsState; _x.pinExpirationInDays = pinExpirationInDays; _x.pinLowercaseCharactersUsage = pinLowercaseCharactersUsage; _x.pinMaximumLength = pinMaximumLength; _x.pinMinimumLength = pinMinimumLength; _x.pinPreviousBlockCount = pinPreviousBlockCount; _x.pinSpecialCharactersUsage = pinSpecialCharactersUsage; _x.pinUppercaseCharactersUsage = pinUppercaseCharactersUsage; _x.remotePassportEnabled = remotePassportEnabled; _x.securityDeviceRequired = securityDeviceRequired; _x.state = state; _x.unlockWithBiometricsEnabled = unlockWithBiometricsEnabled; return _x; } @Override public String toString() { StringBuilder b = new StringBuilder(); b.append("DeviceEnrollmentWindowsHelloForBusinessConfiguration["); b.append("id="); b.append(this.id); b.append(", "); b.append("createdDateTime="); b.append(this.createdDateTime); b.append(", "); b.append("description="); b.append(this.description); b.append(", "); b.append("displayName="); b.append(this.displayName); b.append(", "); b.append("lastModifiedDateTime="); b.append(this.lastModifiedDateTime); b.append(", "); b.append("priority="); b.append(this.priority); b.append(", "); b.append("version="); b.append(this.version); b.append(", "); b.append("enhancedBiometricsState="); b.append(this.enhancedBiometricsState); b.append(", "); b.append("pinExpirationInDays="); b.append(this.pinExpirationInDays); b.append(", "); b.append("pinLowercaseCharactersUsage="); b.append(this.pinLowercaseCharactersUsage); b.append(", "); b.append("pinMaximumLength="); b.append(this.pinMaximumLength); b.append(", "); b.append("pinMinimumLength="); b.append(this.pinMinimumLength); b.append(", "); b.append("pinPreviousBlockCount="); b.append(this.pinPreviousBlockCount); b.append(", "); b.append("pinSpecialCharactersUsage="); b.append(this.pinSpecialCharactersUsage); b.append(", "); b.append("pinUppercaseCharactersUsage="); b.append(this.pinUppercaseCharactersUsage); b.append(", "); b.append("remotePassportEnabled="); b.append(this.remotePassportEnabled); b.append(", "); b.append("securityDeviceRequired="); b.append(this.securityDeviceRequired); b.append(", "); b.append("state="); b.append(this.state); b.append(", "); b.append("unlockWithBiometricsEnabled="); b.append(this.unlockWithBiometricsEnabled); b.append("]"); b.append(",unmappedFields="); b.append(unmappedFields); b.append(",odataType="); b.append(odataType); return b.toString(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy