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

package com.azure.resourcemanager.automation.models;

import com.azure.resourcemanager.automation.fluent.models.TestJobInner;
import java.time.OffsetDateTime;
import java.util.Map;

/** An immutable client-side representation of TestJob. */
public interface TestJob {
    /**
     * Gets the creationTime property: Gets or sets the creation time of the test job.
     *
     * @return the creationTime value.
     */
    OffsetDateTime creationTime();

    /**
     * Gets the status property: Gets or sets the status of the test job.
     *
     * @return the status value.
     */
    String status();

    /**
     * Gets the statusDetails property: Gets or sets the status details of the test job.
     *
     * @return the statusDetails value.
     */
    String statusDetails();

    /**
     * Gets the runOn property: Gets or sets the runOn which specifies the group name where the job is to be executed.
     *
     * @return the runOn value.
     */
    String runOn();

    /**
     * Gets the startTime property: Gets or sets the start time of the test job.
     *
     * @return the startTime value.
     */
    OffsetDateTime startTime();

    /**
     * Gets the endTime property: Gets or sets the end time of the test job.
     *
     * @return the endTime value.
     */
    OffsetDateTime endTime();

    /**
     * Gets the exception property: Gets or sets the exception of the test job.
     *
     * @return the exception value.
     */
    String exception();

    /**
     * Gets the lastModifiedTime property: Gets or sets the last modified time of the test job.
     *
     * @return the lastModifiedTime value.
     */
    OffsetDateTime lastModifiedTime();

    /**
     * Gets the lastStatusModifiedTime property: Gets or sets the last status modified time of the test job.
     *
     * @return the lastStatusModifiedTime value.
     */
    OffsetDateTime lastStatusModifiedTime();

    /**
     * Gets the parameters property: Gets or sets the parameters of the test job.
     *
     * @return the parameters value.
     */
    Map<String, String> parameters();

    /**
     * Gets the logActivityTrace property: The activity-level tracing options of the runbook.
     *
     * @return the logActivityTrace value.
     */
    Integer logActivityTrace();

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