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

package com.azure.resourcemanager.paloaltonetworks.ngfw.implementation;

import com.azure.resourcemanager.paloaltonetworks.ngfw.fluent.models.LogSettingsInner;
import com.azure.resourcemanager.paloaltonetworks.ngfw.models.ApplicationInsights;
import com.azure.resourcemanager.paloaltonetworks.ngfw.models.LogDestination;
import com.azure.resourcemanager.paloaltonetworks.ngfw.models.LogOption;
import com.azure.resourcemanager.paloaltonetworks.ngfw.models.LogSettings;
import com.azure.resourcemanager.paloaltonetworks.ngfw.models.LogType;

public final class LogSettingsImpl implements LogSettings {
    private LogSettingsInner innerObject;

    private final com.azure.resourcemanager.paloaltonetworks.ngfw.PaloAltoNetworksNgfwManager serviceManager;

    LogSettingsImpl(
        LogSettingsInner innerObject,
        com.azure.resourcemanager.paloaltonetworks.ngfw.PaloAltoNetworksNgfwManager serviceManager) {
        this.innerObject = innerObject;
        this.serviceManager = serviceManager;
    }

    public LogType logType() {
        return this.innerModel().logType();
    }

    public LogOption logOption() {
        return this.innerModel().logOption();
    }

    public ApplicationInsights applicationInsights() {
        return this.innerModel().applicationInsights();
    }

    public LogDestination commonDestination() {
        return this.innerModel().commonDestination();
    }

    public LogDestination trafficLogDestination() {
        return this.innerModel().trafficLogDestination();
    }

    public LogDestination threatLogDestination() {
        return this.innerModel().threatLogDestination();
    }

    public LogDestination decryptLogDestination() {
        return this.innerModel().decryptLogDestination();
    }

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

    private com.azure.resourcemanager.paloaltonetworks.ngfw.PaloAltoNetworksNgfwManager manager() {
        return this.serviceManager;
    }
}
