// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.maintenance.models;

import com.azure.resourcemanager.maintenance.fluent.models.UpdateInner;
import java.time.OffsetDateTime;

/** An immutable client-side representation of Update. */
public interface Update {
    /**
     * Gets the maintenanceScope property: The impact area.
     *
     * @return the maintenanceScope value.
     */
    MaintenanceScope maintenanceScope();

    /**
     * Gets the impactType property: The impact type.
     *
     * @return the impactType value.
     */
    ImpactType impactType();

    /**
     * Gets the status property: The status.
     *
     * @return the status value.
     */
    UpdateStatus status();

    /**
     * Gets the impactDurationInSec property: Duration of impact in seconds.
     *
     * @return the impactDurationInSec value.
     */
    Integer impactDurationInSec();

    /**
     * Gets the notBefore property: Time when Azure will start force updates if not self-updated by customer before this
     * time.
     *
     * @return the notBefore value.
     */
    OffsetDateTime notBefore();

    /**
     * Gets the resourceId property: The resourceId.
     *
     * @return the resourceId value.
     */
    String resourceId();

    /**
     * Gets the inner com.azure.resourcemanager.maintenance.fluent.models.UpdateInner object.
     *
     * @return the inner object.
     */
    UpdateInner innerModel();
}
