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

package com.azure.resourcemanager.dynatrace.models;

import com.azure.resourcemanager.dynatrace.fluent.models.AppServiceInfoInner;

/** An immutable client-side representation of AppServiceInfo. */
public interface AppServiceInfo {
    /**
     * Gets the resourceId property: App service resource ID.
     *
     * @return the resourceId value.
     */
    String resourceId();

    /**
     * Gets the version property: Version of the Dynatrace agent installed on the App Service.
     *
     * @return the version value.
     */
    String version();

    /**
     * Gets the monitoringType property: The monitoring mode of OneAgent.
     *
     * @return the monitoringType value.
     */
    MonitoringType monitoringType();

    /**
     * Gets the autoUpdateSetting property: Update settings of OneAgent.
     *
     * @return the autoUpdateSetting value.
     */
    AutoUpdateSetting autoUpdateSetting();

    /**
     * Gets the updateStatus property: The current update status of OneAgent.
     *
     * @return the updateStatus value.
     */
    UpdateStatus updateStatus();

    /**
     * Gets the availabilityState property: The availability state of OneAgent.
     *
     * @return the availabilityState value.
     */
    AvailabilityState availabilityState();

    /**
     * Gets the logModule property: Tells whether log modules are enabled or not.
     *
     * @return the logModule value.
     */
    LogModule logModule();

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

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

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