// 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.implementation;

import com.azure.resourcemanager.dynatrace.fluent.models.AppServiceInfoInner;
import com.azure.resourcemanager.dynatrace.models.AppServiceInfo;
import com.azure.resourcemanager.dynatrace.models.AutoUpdateSetting;
import com.azure.resourcemanager.dynatrace.models.AvailabilityState;
import com.azure.resourcemanager.dynatrace.models.LogModule;
import com.azure.resourcemanager.dynatrace.models.MonitoringType;
import com.azure.resourcemanager.dynatrace.models.UpdateStatus;

public final class AppServiceInfoImpl implements AppServiceInfo {
    private AppServiceInfoInner innerObject;

    private final com.azure.resourcemanager.dynatrace.DynatraceManager serviceManager;

    AppServiceInfoImpl(
        AppServiceInfoInner innerObject, com.azure.resourcemanager.dynatrace.DynatraceManager serviceManager) {
        this.innerObject = innerObject;
        this.serviceManager = serviceManager;
    }

    public String resourceId() {
        return this.innerModel().resourceId();
    }

    public String version() {
        return this.innerModel().version();
    }

    public MonitoringType monitoringType() {
        return this.innerModel().monitoringType();
    }

    public AutoUpdateSetting autoUpdateSetting() {
        return this.innerModel().autoUpdateSetting();
    }

    public UpdateStatus updateStatus() {
        return this.innerModel().updateStatus();
    }

    public AvailabilityState availabilityState() {
        return this.innerModel().availabilityState();
    }

    public LogModule logModule() {
        return this.innerModel().logModule();
    }

    public String hostGroup() {
        return this.innerModel().hostGroup();
    }

    public String hostname() {
        return this.innerModel().hostname();
    }

    public AppServiceInfoInner innerModel() {
        return this.innerObject;
    }

    private com.azure.resourcemanager.dynatrace.DynatraceManager manager() {
        return this.serviceManager;
    }
}
