
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();
}
}