/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. * * Code generated by Microsoft (R) AutoRest Code Generator. */ package com.microsoft.azure.management.appservice.implementation; import org.joda.time.DateTime; import com.microsoft.azure.management.appservice.ResourceScopeType; import com.microsoft.azure.management.appservice.NotificationLevel; import com.microsoft.azure.management.appservice.Channels; import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; /** * Represents a recommendation result generated by the recommendation engine. */ public class RecommendationInner { /** * Timestamp when this instance was created. */ @JsonProperty(value = "creationTime") private DateTime creationTime; /** * A GUID value that each recommendation object is associated with. */ @JsonProperty(value = "recommendationId") private String recommendationId; /** * Full ARM resource ID string that this recommendation object is * associated with. */ @JsonProperty(value = "resourceId") private String resourceId; /** * Name of a resource type this recommendation applies, e.g. Subscription, * ServerFarm, Site. Possible values include: 'ServerFarm', 'Subscription', * 'WebSite'. */ @JsonProperty(value = "resourceScope") private ResourceScopeType resourceScope; /** * Unique name of the rule. */ @JsonProperty(value = "ruleName") private String ruleName; /** * UI friendly name of the rule (may not be unique). */ @JsonProperty(value = "displayName") private String displayName; /** * Recommendation text. */ @JsonProperty(value = "message") private String message; /** * Level indicating how critical this recommendation can impact. Possible * values include: 'Critical', 'Warning', 'Information', * 'NonUrgentSuggestion'. */ @JsonProperty(value = "level") private NotificationLevel level; /** * List of channels that this recommendation can apply. Possible values * include: 'Notification', 'Api', 'Email', 'Webhook', 'All'. */ @JsonProperty(value = "channels") private Channels channels; /** * The list of category tags that this recommendation belongs to. */ @JsonProperty(value = "tags") private List<String> tags; /** * Name of action recommended by this object. */ @JsonProperty(value = "actionName") private String actionName; /** * The beginning time in UTC of a range that the recommendation refers to. */ @JsonProperty(value = "startTime") private DateTime startTime; /** * The end time in UTC of a range that the recommendation refers to. */ @JsonProperty(value = "endTime") private DateTime endTime; /** * When to notify this recommendation next in UTC. Null means that this * will never be notified anymore. */ @JsonProperty(value = "nextNotificationTime") private DateTime nextNotificationTime; /** * Date and time in UTC when this notification expires. */ @JsonProperty(value = "notificationExpirationTime") private DateTime notificationExpirationTime; /** * Last timestamp in UTC this instance was actually notified. Null means * that this recommendation hasn't been notified yet. */ @JsonProperty(value = "notifiedTime") private DateTime notifiedTime; /** * A metric value measured by the rule. */ @JsonProperty(value = "score") private Double score; /** * Get the creationTime value. * * @return the creationTime value */ public DateTime creationTime() { return this.creationTime; } /** * Set the creationTime value. * * @param creationTime the creationTime value to set * @return the RecommendationInner object itself. */ public RecommendationInner withCreationTime(DateTime creationTime) { this.creationTime = creationTime; return this; } /** * Get the recommendationId value. * * @return the recommendationId value */ public String recommendationId() { return this.recommendationId; } /** * Set the recommendationId value. * * @param recommendationId the recommendationId value to set * @return the RecommendationInner object itself. */ public RecommendationInner withRecommendationId(String recommendationId) { this.recommendationId = recommendationId; return this; } /** * Get the resourceId value. * * @return the resourceId value */ public String resourceId() { return this.resourceId; } /** * Set the resourceId value. * * @param resourceId the resourceId value to set * @return the RecommendationInner object itself. */ public RecommendationInner withResourceId(String resourceId) { this.resourceId = resourceId; return this; } /** * Get the resourceScope value. * * @return the resourceScope value */ public ResourceScopeType resourceScope() { return this.resourceScope; } /** * Set the resourceScope value. * * @param resourceScope the resourceScope value to set * @return the RecommendationInner object itself. */ public RecommendationInner withResourceScope(ResourceScopeType resourceScope) { this.resourceScope = resourceScope; return this; } /** * Get the ruleName value. * * @return the ruleName value */ public String ruleName() { return this.ruleName; } /** * Set the ruleName value. * * @param ruleName the ruleName value to set * @return the RecommendationInner object itself. */ public RecommendationInner withRuleName(String ruleName) { this.ruleName = ruleName; return this; } /** * Get the displayName value. * * @return the displayName value */ public String displayName() { return this.displayName; } /** * Set the displayName value. * * @param displayName the displayName value to set * @return the RecommendationInner object itself. */ public RecommendationInner withDisplayName(String displayName) { this.displayName = displayName; return this; } /** * Get the message value. * * @return the message value */ public String message() { return this.message; } /** * Set the message value. * * @param message the message value to set * @return the RecommendationInner object itself. */ public RecommendationInner withMessage(String message) { this.message = message; return this; } /** * Get the level value. * * @return the level value */ public NotificationLevel level() { return this.level; } /** * Set the level value. * * @param level the level value to set * @return the RecommendationInner object itself. */ public RecommendationInner withLevel(NotificationLevel level) { this.level = level; return this; } /** * Get the channels value. * * @return the channels value */ public Channels channels() { return this.channels; } /** * Set the channels value. * * @param channels the channels value to set * @return the RecommendationInner object itself. */ public RecommendationInner withChannels(Channels channels) { this.channels = channels; return this; } /** * Get the tags value. * * @return the tags value */ public List<String> tags() { return this.tags; } /** * Set the tags value. * * @param tags the tags value to set * @return the RecommendationInner object itself. */ public RecommendationInner withTags(List<String> tags) { this.tags = tags; return this; } /** * Get the actionName value. * * @return the actionName value */ public String actionName() { return this.actionName; } /** * Set the actionName value. * * @param actionName the actionName value to set * @return the RecommendationInner object itself. */ public RecommendationInner withActionName(String actionName) { this.actionName = actionName; return this; } /** * Get the startTime value. * * @return the startTime value */ public DateTime startTime() { return this.startTime; } /** * Set the startTime value. * * @param startTime the startTime value to set * @return the RecommendationInner object itself. */ public RecommendationInner withStartTime(DateTime startTime) { this.startTime = startTime; return this; } /** * Get the endTime value. * * @return the endTime value */ public DateTime endTime() { return this.endTime; } /** * Set the endTime value. * * @param endTime the endTime value to set * @return the RecommendationInner object itself. */ public RecommendationInner withEndTime(DateTime endTime) { this.endTime = endTime; return this; } /** * Get the nextNotificationTime value. * * @return the nextNotificationTime value */ public DateTime nextNotificationTime() { return this.nextNotificationTime; } /** * Set the nextNotificationTime value. * * @param nextNotificationTime the nextNotificationTime value to set * @return the RecommendationInner object itself. */ public RecommendationInner withNextNotificationTime(DateTime nextNotificationTime) { this.nextNotificationTime = nextNotificationTime; return this; } /** * Get the notificationExpirationTime value. * * @return the notificationExpirationTime value */ public DateTime notificationExpirationTime() { return this.notificationExpirationTime; } /** * Set the notificationExpirationTime value. * * @param notificationExpirationTime the notificationExpirationTime value to set * @return the RecommendationInner object itself. */ public RecommendationInner withNotificationExpirationTime(DateTime notificationExpirationTime) { this.notificationExpirationTime = notificationExpirationTime; return this; } /** * Get the notifiedTime value. * * @return the notifiedTime value */ public DateTime notifiedTime() { return this.notifiedTime; } /** * Set the notifiedTime value. * * @param notifiedTime the notifiedTime value to set * @return the RecommendationInner object itself. */ public RecommendationInner withNotifiedTime(DateTime notifiedTime) { this.notifiedTime = notifiedTime; return this; } /** * Get the score value. * * @return the score value */ public Double score() { return this.score; } /** * Set the score value. * * @param score the score value to set * @return the RecommendationInner object itself. */ public RecommendationInner withScore(Double score) { this.score = score; return this; } }