com.microsoft.graph.beta.generated.models.RecommendationBase Maven / Gradle / Ivy
package com.microsoft.graph.beta.models;
import com.microsoft.kiota.serialization.Parsable;
import com.microsoft.kiota.serialization.ParseNode;
import com.microsoft.kiota.serialization.SerializationWriter;
import java.time.OffsetDateTime;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@jakarta.annotation.Generated("com.microsoft.kiota")
public class RecommendationBase extends Entity implements Parsable {
/**
* Instantiates a new {@link RecommendationBase} and sets the default values.
*/
public RecommendationBase() {
super();
}
/**
* 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 RecommendationBase}
*/
@jakarta.annotation.Nonnull
public static RecommendationBase createFromDiscriminatorValue(@jakarta.annotation.Nonnull final ParseNode parseNode) {
Objects.requireNonNull(parseNode);
final ParseNode mappingValueNode = parseNode.getChildNode("@odata.type");
if (mappingValueNode != null) {
final String mappingValue = mappingValueNode.getStringValue();
switch (mappingValue) {
case "#microsoft.graph.recommendation": return new Recommendation();
}
}
return new RecommendationBase();
}
/**
* Gets the actionSteps property value. List of actions to take to complete a recommendation.
* @return a {@link java.util.List}
*/
@jakarta.annotation.Nullable
public java.util.List getActionSteps() {
return this.backingStore.get("actionSteps");
}
/**
* Gets the benefits property value. An explanation of why completing the recommendation will benefit you. Corresponds to the Value section of a recommendation shown in the Microsoft Entra admin center.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getBenefits() {
return this.backingStore.get("benefits");
}
/**
* Gets the category property value. The category property
* @return a {@link RecommendationCategory}
*/
@jakarta.annotation.Nullable
public RecommendationCategory getCategory() {
return this.backingStore.get("category");
}
/**
* Gets the createdDateTime property value. The date and time when the recommendation was detected as applicable to your directory.
* @return a {@link OffsetDateTime}
*/
@jakarta.annotation.Nullable
public OffsetDateTime getCreatedDateTime() {
return this.backingStore.get("createdDateTime");
}
/**
* Gets the currentScore property value. The number of points the tenant has attained. Only applies to recommendations with category set to identitySecureScore.
* @return a {@link Double}
*/
@jakarta.annotation.Nullable
public Double getCurrentScore() {
return this.backingStore.get("currentScore");
}
/**
* Gets the displayName property value. The title of the recommendation.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getDisplayName() {
return this.backingStore.get("displayName");
}
/**
* Gets the featureAreas property value. The directory feature that the recommendation is related to.
* @return a {@link java.util.List}
*/
@jakarta.annotation.Nullable
public java.util.List getFeatureAreas() {
return this.backingStore.get("featureAreas");
}
/**
* 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("actionSteps", (n) -> { this.setActionSteps(n.getCollectionOfObjectValues(ActionStep::createFromDiscriminatorValue)); });
deserializerMap.put("benefits", (n) -> { this.setBenefits(n.getStringValue()); });
deserializerMap.put("category", (n) -> { this.setCategory(n.getEnumValue(RecommendationCategory::forValue)); });
deserializerMap.put("createdDateTime", (n) -> { this.setCreatedDateTime(n.getOffsetDateTimeValue()); });
deserializerMap.put("currentScore", (n) -> { this.setCurrentScore(n.getDoubleValue()); });
deserializerMap.put("displayName", (n) -> { this.setDisplayName(n.getStringValue()); });
deserializerMap.put("featureAreas", (n) -> { this.setFeatureAreas(n.getCollectionOfEnumValues(RecommendationFeatureAreas::forValue)); });
deserializerMap.put("impactedResources", (n) -> { this.setImpactedResources(n.getCollectionOfObjectValues(ImpactedResource::createFromDiscriminatorValue)); });
deserializerMap.put("impactStartDateTime", (n) -> { this.setImpactStartDateTime(n.getOffsetDateTimeValue()); });
deserializerMap.put("impactType", (n) -> { this.setImpactType(n.getStringValue()); });
deserializerMap.put("insights", (n) -> { this.setInsights(n.getStringValue()); });
deserializerMap.put("lastCheckedDateTime", (n) -> { this.setLastCheckedDateTime(n.getOffsetDateTimeValue()); });
deserializerMap.put("lastModifiedBy", (n) -> { this.setLastModifiedBy(n.getStringValue()); });
deserializerMap.put("lastModifiedDateTime", (n) -> { this.setLastModifiedDateTime(n.getOffsetDateTimeValue()); });
deserializerMap.put("maxScore", (n) -> { this.setMaxScore(n.getDoubleValue()); });
deserializerMap.put("postponeUntilDateTime", (n) -> { this.setPostponeUntilDateTime(n.getOffsetDateTimeValue()); });
deserializerMap.put("priority", (n) -> { this.setPriority(n.getEnumValue(RecommendationPriority::forValue)); });
deserializerMap.put("recommendationType", (n) -> { this.setRecommendationType(n.getEnumValue(RecommendationType::forValue)); });
deserializerMap.put("releaseType", (n) -> { this.setReleaseType(n.getStringValue()); });
deserializerMap.put("remediationImpact", (n) -> { this.setRemediationImpact(n.getStringValue()); });
deserializerMap.put("requiredLicenses", (n) -> { this.setRequiredLicenses(n.getEnumValue(RequiredLicenses::forValue)); });
deserializerMap.put("status", (n) -> { this.setStatus(n.getEnumValue(RecommendationStatus::forValue)); });
return deserializerMap;
}
/**
* Gets the impactedResources property value. The list of directory objects associated with the recommendation.
* @return a {@link java.util.List}
*/
@jakarta.annotation.Nullable
public java.util.List getImpactedResources() {
return this.backingStore.get("impactedResources");
}
/**
* Gets the impactStartDateTime property value. The future date and time when a recommendation should be completed.
* @return a {@link OffsetDateTime}
*/
@jakarta.annotation.Nullable
public OffsetDateTime getImpactStartDateTime() {
return this.backingStore.get("impactStartDateTime");
}
/**
* Gets the impactType property value. Indicates the scope of impact of a recommendation. Tenant level indicates that the recommendation impacts the whole tenant. Other possible values include users, applications.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getImpactType() {
return this.backingStore.get("impactType");
}
/**
* Gets the insights property value. Describes why a recommendation uniquely applies to your directory. Corresponds to the Description section of a recommendation shown in the Microsoft Entra admin center.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getInsights() {
return this.backingStore.get("insights");
}
/**
* Gets the lastCheckedDateTime property value. The most recent date and time a recommendation was deemed applicable to your directory.
* @return a {@link OffsetDateTime}
*/
@jakarta.annotation.Nullable
public OffsetDateTime getLastCheckedDateTime() {
return this.backingStore.get("lastCheckedDateTime");
}
/**
* Gets the lastModifiedBy property value. Name of the user who last updated the status of the recommendation.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getLastModifiedBy() {
return this.backingStore.get("lastModifiedBy");
}
/**
* Gets the lastModifiedDateTime property value. The date and time the status of a recommendation was last updated.
* @return a {@link OffsetDateTime}
*/
@jakarta.annotation.Nullable
public OffsetDateTime getLastModifiedDateTime() {
return this.backingStore.get("lastModifiedDateTime");
}
/**
* Gets the maxScore property value. The maximum number of points attainable. Only applies to recommendations with category set to identitySecureScore.
* @return a {@link Double}
*/
@jakarta.annotation.Nullable
public Double getMaxScore() {
return this.backingStore.get("maxScore");
}
/**
* Gets the postponeUntilDateTime property value. The future date and time when the status of a postponed recommendation will be active again.
* @return a {@link OffsetDateTime}
*/
@jakarta.annotation.Nullable
public OffsetDateTime getPostponeUntilDateTime() {
return this.backingStore.get("postponeUntilDateTime");
}
/**
* Gets the priority property value. The priority property
* @return a {@link RecommendationPriority}
*/
@jakarta.annotation.Nullable
public RecommendationPriority getPriority() {
return this.backingStore.get("priority");
}
/**
* Gets the recommendationType property value. Friendly shortname to identify the recommendation. The possible values are: adfsAppsMigration, enableDesktopSSO, enablePHS, enableProvisioning, switchFromPerUserMFA, tenantMFA, thirdPartyApps, turnOffPerUserMFA, useAuthenticatorApp, useMyApps, staleApps, staleAppCreds, applicationCredentialExpiry, servicePrincipalKeyExpiry, adminMFAV2, blockLegacyAuthentication, integratedApps, mfaRegistrationV2, pwagePolicyNew, passwordHashSync, oneAdmin, roleOverlap, selfServicePasswordReset, signinRiskPolicy, userRiskPolicy, verifyAppPublisher, privateLinkForAAD, appRoleAssignmentsGroups, appRoleAssignmentsUsers, managedIdentity, overprivilegedApps, unknownFutureValue, longLivedCredentials, aadConnectDeprecated, adalToMsalMigration, ownerlessApps, inactiveGuests, aadGraphDeprecationApplication, aadGraphDeprecationServicePrincipal, mfaServerDeprecation. Note that you must use the Prefer: include-unknown-enum-members request header to get the following value(s) in this evolvable enum: longLivedCredentials , aadConnectDeprecated , adalToMsalMigration , ownerlessApps , inactiveGuests , aadGraphDeprecationApplication , aadGraphDeprecationServicePrincipal , mfaServerDeprecation.
* @return a {@link RecommendationType}
*/
@jakarta.annotation.Nullable
public RecommendationType getRecommendationType() {
return this.backingStore.get("recommendationType");
}
/**
* Gets the releaseType property value. The current release type of the recommendation. The possible values are: preview, generallyAvailable, unknownFutureValue.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getReleaseType() {
return this.backingStore.get("releaseType");
}
/**
* Gets the remediationImpact property value. Description of the impact on users of the remediation. Only applies to recommendations with category set to identitySecureScore.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getRemediationImpact() {
return this.backingStore.get("remediationImpact");
}
/**
* Gets the requiredLicenses property value. The required licenses to view the recommendation. The possible values are: notApplicable, microsoftEntraIdFree, microsoftEntraIdP1, microsoftEntraIdP2, microsoftEntraIdGovernance, microsoftEntraWorkloadId, unknownFutureValue.
* @return a {@link RequiredLicenses}
*/
@jakarta.annotation.Nullable
public RequiredLicenses getRequiredLicenses() {
return this.backingStore.get("requiredLicenses");
}
/**
* Gets the status property value. The status property
* @return a {@link RecommendationStatus}
*/
@jakarta.annotation.Nullable
public RecommendationStatus getStatus() {
return this.backingStore.get("status");
}
/**
* 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.writeCollectionOfObjectValues("actionSteps", this.getActionSteps());
writer.writeStringValue("benefits", this.getBenefits());
writer.writeEnumValue("category", this.getCategory());
writer.writeOffsetDateTimeValue("createdDateTime", this.getCreatedDateTime());
writer.writeDoubleValue("currentScore", this.getCurrentScore());
writer.writeStringValue("displayName", this.getDisplayName());
writer.writeCollectionOfEnumValues("featureAreas", this.getFeatureAreas());
writer.writeCollectionOfObjectValues("impactedResources", this.getImpactedResources());
writer.writeOffsetDateTimeValue("impactStartDateTime", this.getImpactStartDateTime());
writer.writeStringValue("impactType", this.getImpactType());
writer.writeStringValue("insights", this.getInsights());
writer.writeOffsetDateTimeValue("lastCheckedDateTime", this.getLastCheckedDateTime());
writer.writeStringValue("lastModifiedBy", this.getLastModifiedBy());
writer.writeOffsetDateTimeValue("lastModifiedDateTime", this.getLastModifiedDateTime());
writer.writeDoubleValue("maxScore", this.getMaxScore());
writer.writeOffsetDateTimeValue("postponeUntilDateTime", this.getPostponeUntilDateTime());
writer.writeEnumValue("priority", this.getPriority());
writer.writeEnumValue("recommendationType", this.getRecommendationType());
writer.writeStringValue("releaseType", this.getReleaseType());
writer.writeStringValue("remediationImpact", this.getRemediationImpact());
writer.writeEnumValue("requiredLicenses", this.getRequiredLicenses());
writer.writeEnumValue("status", this.getStatus());
}
/**
* Sets the actionSteps property value. List of actions to take to complete a recommendation.
* @param value Value to set for the actionSteps property.
*/
public void setActionSteps(@jakarta.annotation.Nullable final java.util.List value) {
this.backingStore.set("actionSteps", value);
}
/**
* Sets the benefits property value. An explanation of why completing the recommendation will benefit you. Corresponds to the Value section of a recommendation shown in the Microsoft Entra admin center.
* @param value Value to set for the benefits property.
*/
public void setBenefits(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("benefits", value);
}
/**
* Sets the category property value. The category property
* @param value Value to set for the category property.
*/
public void setCategory(@jakarta.annotation.Nullable final RecommendationCategory value) {
this.backingStore.set("category", value);
}
/**
* Sets the createdDateTime property value. The date and time when the recommendation was detected as applicable to your directory.
* @param value Value to set for the createdDateTime property.
*/
public void setCreatedDateTime(@jakarta.annotation.Nullable final OffsetDateTime value) {
this.backingStore.set("createdDateTime", value);
}
/**
* Sets the currentScore property value. The number of points the tenant has attained. Only applies to recommendations with category set to identitySecureScore.
* @param value Value to set for the currentScore property.
*/
public void setCurrentScore(@jakarta.annotation.Nullable final Double value) {
this.backingStore.set("currentScore", value);
}
/**
* Sets the displayName property value. The title of the recommendation.
* @param value Value to set for the displayName property.
*/
public void setDisplayName(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("displayName", value);
}
/**
* Sets the featureAreas property value. The directory feature that the recommendation is related to.
* @param value Value to set for the featureAreas property.
*/
public void setFeatureAreas(@jakarta.annotation.Nullable final java.util.List value) {
this.backingStore.set("featureAreas", value);
}
/**
* Sets the impactedResources property value. The list of directory objects associated with the recommendation.
* @param value Value to set for the impactedResources property.
*/
public void setImpactedResources(@jakarta.annotation.Nullable final java.util.List value) {
this.backingStore.set("impactedResources", value);
}
/**
* Sets the impactStartDateTime property value. The future date and time when a recommendation should be completed.
* @param value Value to set for the impactStartDateTime property.
*/
public void setImpactStartDateTime(@jakarta.annotation.Nullable final OffsetDateTime value) {
this.backingStore.set("impactStartDateTime", value);
}
/**
* Sets the impactType property value. Indicates the scope of impact of a recommendation. Tenant level indicates that the recommendation impacts the whole tenant. Other possible values include users, applications.
* @param value Value to set for the impactType property.
*/
public void setImpactType(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("impactType", value);
}
/**
* Sets the insights property value. Describes why a recommendation uniquely applies to your directory. Corresponds to the Description section of a recommendation shown in the Microsoft Entra admin center.
* @param value Value to set for the insights property.
*/
public void setInsights(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("insights", value);
}
/**
* Sets the lastCheckedDateTime property value. The most recent date and time a recommendation was deemed applicable to your directory.
* @param value Value to set for the lastCheckedDateTime property.
*/
public void setLastCheckedDateTime(@jakarta.annotation.Nullable final OffsetDateTime value) {
this.backingStore.set("lastCheckedDateTime", value);
}
/**
* Sets the lastModifiedBy property value. Name of the user who last updated the status of the recommendation.
* @param value Value to set for the lastModifiedBy property.
*/
public void setLastModifiedBy(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("lastModifiedBy", value);
}
/**
* Sets the lastModifiedDateTime property value. The date and time the status of a recommendation was last updated.
* @param value Value to set for the lastModifiedDateTime property.
*/
public void setLastModifiedDateTime(@jakarta.annotation.Nullable final OffsetDateTime value) {
this.backingStore.set("lastModifiedDateTime", value);
}
/**
* Sets the maxScore property value. The maximum number of points attainable. Only applies to recommendations with category set to identitySecureScore.
* @param value Value to set for the maxScore property.
*/
public void setMaxScore(@jakarta.annotation.Nullable final Double value) {
this.backingStore.set("maxScore", value);
}
/**
* Sets the postponeUntilDateTime property value. The future date and time when the status of a postponed recommendation will be active again.
* @param value Value to set for the postponeUntilDateTime property.
*/
public void setPostponeUntilDateTime(@jakarta.annotation.Nullable final OffsetDateTime value) {
this.backingStore.set("postponeUntilDateTime", value);
}
/**
* Sets the priority property value. The priority property
* @param value Value to set for the priority property.
*/
public void setPriority(@jakarta.annotation.Nullable final RecommendationPriority value) {
this.backingStore.set("priority", value);
}
/**
* Sets the recommendationType property value. Friendly shortname to identify the recommendation. The possible values are: adfsAppsMigration, enableDesktopSSO, enablePHS, enableProvisioning, switchFromPerUserMFA, tenantMFA, thirdPartyApps, turnOffPerUserMFA, useAuthenticatorApp, useMyApps, staleApps, staleAppCreds, applicationCredentialExpiry, servicePrincipalKeyExpiry, adminMFAV2, blockLegacyAuthentication, integratedApps, mfaRegistrationV2, pwagePolicyNew, passwordHashSync, oneAdmin, roleOverlap, selfServicePasswordReset, signinRiskPolicy, userRiskPolicy, verifyAppPublisher, privateLinkForAAD, appRoleAssignmentsGroups, appRoleAssignmentsUsers, managedIdentity, overprivilegedApps, unknownFutureValue, longLivedCredentials, aadConnectDeprecated, adalToMsalMigration, ownerlessApps, inactiveGuests, aadGraphDeprecationApplication, aadGraphDeprecationServicePrincipal, mfaServerDeprecation. Note that you must use the Prefer: include-unknown-enum-members request header to get the following value(s) in this evolvable enum: longLivedCredentials , aadConnectDeprecated , adalToMsalMigration , ownerlessApps , inactiveGuests , aadGraphDeprecationApplication , aadGraphDeprecationServicePrincipal , mfaServerDeprecation.
* @param value Value to set for the recommendationType property.
*/
public void setRecommendationType(@jakarta.annotation.Nullable final RecommendationType value) {
this.backingStore.set("recommendationType", value);
}
/**
* Sets the releaseType property value. The current release type of the recommendation. The possible values are: preview, generallyAvailable, unknownFutureValue.
* @param value Value to set for the releaseType property.
*/
public void setReleaseType(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("releaseType", value);
}
/**
* Sets the remediationImpact property value. Description of the impact on users of the remediation. Only applies to recommendations with category set to identitySecureScore.
* @param value Value to set for the remediationImpact property.
*/
public void setRemediationImpact(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("remediationImpact", value);
}
/**
* Sets the requiredLicenses property value. The required licenses to view the recommendation. The possible values are: notApplicable, microsoftEntraIdFree, microsoftEntraIdP1, microsoftEntraIdP2, microsoftEntraIdGovernance, microsoftEntraWorkloadId, unknownFutureValue.
* @param value Value to set for the requiredLicenses property.
*/
public void setRequiredLicenses(@jakarta.annotation.Nullable final RequiredLicenses value) {
this.backingStore.set("requiredLicenses", value);
}
/**
* Sets the status property value. The status property
* @param value Value to set for the status property.
*/
public void setStatus(@jakarta.annotation.Nullable final RecommendationStatus value) {
this.backingStore.set("status", value);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy