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

package com.azure.resourcemanager.defendereasm.models;

import com.azure.resourcemanager.defendereasm.fluent.models.TaskResourceInner;

/** An immutable client-side representation of TaskResource. */
public interface TaskResource {
    /**
     * Gets the id property: Fully qualified resource Id for the resource.
     *
     * @return the id value.
     */
    String id();

    /**
     * Gets the name property: The name of the resource.
     *
     * @return the name value.
     */
    String name();

    /**
     * Gets the type property: The type of the resource.
     *
     * @return the type value.
     */
    String type();

    /**
     * Gets the startedAt property: The time the task started.
     *
     * @return the startedAt value.
     */
    String startedAt();

    /**
     * Gets the completedAt property: The time the task completed.
     *
     * @return the completedAt value.
     */
    String completedAt();

    /**
     * Gets the lastPolledAt property: The last time the task was polled.
     *
     * @return the lastPolledAt value.
     */
    String lastPolledAt();

    /**
     * Gets the state property: the state the task is in.
     *
     * @return the state value.
     */
    String state();

    /**
     * Gets the phase property: the phase the task is in.
     *
     * @return the phase value.
     */
    String phase();

    /**
     * Gets the reason property: The reason the task was moved into its current state, if the task wasn't completed.
     *
     * @return the reason value.
     */
    String reason();

    /**
     * Gets the metadata property: The reason the task was moved into its current state, if the task wasn't completed.
     *
     * @return the metadata value.
     */
    Object metadata();

    /**
     * Gets the provisioningState property: Resource provisioning state.
     *
     * @return the provisioningState value.
     */
    ResourceState provisioningState();

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