com.microsoft.graph.generated.models.IosManagedAppProtection Maven / Gradle / Ivy
package com.microsoft.graph.models;
import com.microsoft.kiota.serialization.Parsable;
import com.microsoft.kiota.serialization.ParseNode;
import com.microsoft.kiota.serialization.SerializationWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* Policy used to configure detailed management settings targeted to specific security groups and for a specified set of apps on an iOS device
*/
@jakarta.annotation.Generated("com.microsoft.kiota")
public class IosManagedAppProtection extends TargetedManagedAppProtection implements Parsable {
/**
* Instantiates a new {@link IosManagedAppProtection} and sets the default values.
*/
public IosManagedAppProtection() {
super();
this.setOdataType("#microsoft.graph.iosManagedAppProtection");
}
/**
* Creates a new instance of the appropriate class based on discriminator value
* @param parseNode The parse node to use to read the discriminator value and create the object
* @return a {@link IosManagedAppProtection}
*/
@jakarta.annotation.Nonnull
public static IosManagedAppProtection createFromDiscriminatorValue(@jakarta.annotation.Nonnull final ParseNode parseNode) {
Objects.requireNonNull(parseNode);
return new IosManagedAppProtection();
}
/**
* Gets the appDataEncryptionType property value. Represents the level to which app data is encrypted for managed apps
* @return a {@link ManagedAppDataEncryptionType}
*/
@jakarta.annotation.Nullable
public ManagedAppDataEncryptionType getAppDataEncryptionType() {
return this.backingStore.get("appDataEncryptionType");
}
/**
* Gets the apps property value. List of apps to which the policy is deployed.
* @return a {@link java.util.List}
*/
@jakarta.annotation.Nullable
public java.util.List getApps() {
return this.backingStore.get("apps");
}
/**
* Gets the customBrowserProtocol property value. A custom browser protocol to open weblink on iOS. When this property is configured, ManagedBrowserToOpenLinksRequired should be true.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getCustomBrowserProtocol() {
return this.backingStore.get("customBrowserProtocol");
}
/**
* Gets the deployedAppCount property value. Count of apps to which the current policy is deployed.
* @return a {@link Integer}
*/
@jakarta.annotation.Nullable
public Integer getDeployedAppCount() {
return this.backingStore.get("deployedAppCount");
}
/**
* Gets the deploymentSummary property value. Navigation property to deployment summary of the configuration.
* @return a {@link ManagedAppPolicyDeploymentSummary}
*/
@jakarta.annotation.Nullable
public ManagedAppPolicyDeploymentSummary getDeploymentSummary() {
return this.backingStore.get("deploymentSummary");
}
/**
* Gets the faceIdBlocked property value. Indicates whether use of the FaceID is allowed in place of a pin if PinRequired is set to True.
* @return a {@link Boolean}
*/
@jakarta.annotation.Nullable
public Boolean getFaceIdBlocked() {
return this.backingStore.get("faceIdBlocked");
}
/**
* The deserialization information for the current model
* @return a {@link Map>}
*/
@jakarta.annotation.Nonnull
public Map> getFieldDeserializers() {
final HashMap> deserializerMap = new HashMap>(super.getFieldDeserializers());
deserializerMap.put("appDataEncryptionType", (n) -> { this.setAppDataEncryptionType(n.getEnumValue(ManagedAppDataEncryptionType::forValue)); });
deserializerMap.put("apps", (n) -> { this.setApps(n.getCollectionOfObjectValues(ManagedMobileApp::createFromDiscriminatorValue)); });
deserializerMap.put("customBrowserProtocol", (n) -> { this.setCustomBrowserProtocol(n.getStringValue()); });
deserializerMap.put("deployedAppCount", (n) -> { this.setDeployedAppCount(n.getIntegerValue()); });
deserializerMap.put("deploymentSummary", (n) -> { this.setDeploymentSummary(n.getObjectValue(ManagedAppPolicyDeploymentSummary::createFromDiscriminatorValue)); });
deserializerMap.put("faceIdBlocked", (n) -> { this.setFaceIdBlocked(n.getBooleanValue()); });
deserializerMap.put("minimumRequiredSdkVersion", (n) -> { this.setMinimumRequiredSdkVersion(n.getStringValue()); });
return deserializerMap;
}
/**
* Gets the minimumRequiredSdkVersion property value. Versions less than the specified version will block the managed app from accessing company data.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getMinimumRequiredSdkVersion() {
return this.backingStore.get("minimumRequiredSdkVersion");
}
/**
* Serializes information the current object
* @param writer Serialization writer to use to serialize this model
*/
public void serialize(@jakarta.annotation.Nonnull final SerializationWriter writer) {
Objects.requireNonNull(writer);
super.serialize(writer);
writer.writeEnumValue("appDataEncryptionType", this.getAppDataEncryptionType());
writer.writeCollectionOfObjectValues("apps", this.getApps());
writer.writeStringValue("customBrowserProtocol", this.getCustomBrowserProtocol());
writer.writeIntegerValue("deployedAppCount", this.getDeployedAppCount());
writer.writeObjectValue("deploymentSummary", this.getDeploymentSummary());
writer.writeBooleanValue("faceIdBlocked", this.getFaceIdBlocked());
writer.writeStringValue("minimumRequiredSdkVersion", this.getMinimumRequiredSdkVersion());
}
/**
* Sets the appDataEncryptionType property value. Represents the level to which app data is encrypted for managed apps
* @param value Value to set for the appDataEncryptionType property.
*/
public void setAppDataEncryptionType(@jakarta.annotation.Nullable final ManagedAppDataEncryptionType value) {
this.backingStore.set("appDataEncryptionType", value);
}
/**
* Sets the apps property value. List of apps to which the policy is deployed.
* @param value Value to set for the apps property.
*/
public void setApps(@jakarta.annotation.Nullable final java.util.List value) {
this.backingStore.set("apps", value);
}
/**
* Sets the customBrowserProtocol property value. A custom browser protocol to open weblink on iOS. When this property is configured, ManagedBrowserToOpenLinksRequired should be true.
* @param value Value to set for the customBrowserProtocol property.
*/
public void setCustomBrowserProtocol(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("customBrowserProtocol", value);
}
/**
* Sets the deployedAppCount property value. Count of apps to which the current policy is deployed.
* @param value Value to set for the deployedAppCount property.
*/
public void setDeployedAppCount(@jakarta.annotation.Nullable final Integer value) {
this.backingStore.set("deployedAppCount", value);
}
/**
* Sets the deploymentSummary property value. Navigation property to deployment summary of the configuration.
* @param value Value to set for the deploymentSummary property.
*/
public void setDeploymentSummary(@jakarta.annotation.Nullable final ManagedAppPolicyDeploymentSummary value) {
this.backingStore.set("deploymentSummary", value);
}
/**
* Sets the faceIdBlocked property value. Indicates whether use of the FaceID is allowed in place of a pin if PinRequired is set to True.
* @param value Value to set for the faceIdBlocked property.
*/
public void setFaceIdBlocked(@jakarta.annotation.Nullable final Boolean value) {
this.backingStore.set("faceIdBlocked", value);
}
/**
* Sets the minimumRequiredSdkVersion property value. Versions less than the specified version will block the managed app from accessing company data.
* @param value Value to set for the minimumRequiredSdkVersion property.
*/
public void setMinimumRequiredSdkVersion(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("minimumRequiredSdkVersion", value);
}
}