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

import com.azure.core.http.HttpPipeline;
import java.time.Duration;

/** The interface for PaloAltoNetworksCloudngfw class. */
public interface PaloAltoNetworksCloudngfw {
    /**
     * Gets The ID of the target subscription.
     *
     * @return the subscriptionId value.
     */
    String getSubscriptionId();

    /**
     * Gets server parameter.
     *
     * @return the endpoint value.
     */
    String getEndpoint();

    /**
     * Gets Api Version.
     *
     * @return the apiVersion value.
     */
    String getApiVersion();

    /**
     * Gets The HTTP pipeline to send requests through.
     *
     * @return the httpPipeline value.
     */
    HttpPipeline getHttpPipeline();

    /**
     * Gets The default poll interval for long-running operation.
     *
     * @return the defaultPollInterval value.
     */
    Duration getDefaultPollInterval();

    /**
     * Gets the GlobalRulestacksClient object to access its operations.
     *
     * @return the GlobalRulestacksClient object.
     */
    GlobalRulestacksClient getGlobalRulestacks();

    /**
     * Gets the CertificateObjectGlobalRulestacksClient object to access its operations.
     *
     * @return the CertificateObjectGlobalRulestacksClient object.
     */
    CertificateObjectGlobalRulestacksClient getCertificateObjectGlobalRulestacks();

    /**
     * Gets the FqdnListGlobalRulestacksClient object to access its operations.
     *
     * @return the FqdnListGlobalRulestacksClient object.
     */
    FqdnListGlobalRulestacksClient getFqdnListGlobalRulestacks();

    /**
     * Gets the PostRulesClient object to access its operations.
     *
     * @return the PostRulesClient object.
     */
    PostRulesClient getPostRules();

    /**
     * Gets the PrefixListGlobalRulestacksClient object to access its operations.
     *
     * @return the PrefixListGlobalRulestacksClient object.
     */
    PrefixListGlobalRulestacksClient getPrefixListGlobalRulestacks();

    /**
     * Gets the PreRulesClient object to access its operations.
     *
     * @return the PreRulesClient object.
     */
    PreRulesClient getPreRules();

    /**
     * Gets the OperationsClient object to access its operations.
     *
     * @return the OperationsClient object.
     */
    OperationsClient getOperations();

    /**
     * Gets the FirewallsClient object to access its operations.
     *
     * @return the FirewallsClient object.
     */
    FirewallsClient getFirewalls();

    /**
     * Gets the LocalRulestacksClient object to access its operations.
     *
     * @return the LocalRulestacksClient object.
     */
    LocalRulestacksClient getLocalRulestacks();

    /**
     * Gets the FirewallStatusClient object to access its operations.
     *
     * @return the FirewallStatusClient object.
     */
    FirewallStatusClient getFirewallStatus();

    /**
     * Gets the CertificateObjectLocalRulestacksClient object to access its operations.
     *
     * @return the CertificateObjectLocalRulestacksClient object.
     */
    CertificateObjectLocalRulestacksClient getCertificateObjectLocalRulestacks();

    /**
     * Gets the FqdnListLocalRulestacksClient object to access its operations.
     *
     * @return the FqdnListLocalRulestacksClient object.
     */
    FqdnListLocalRulestacksClient getFqdnListLocalRulestacks();

    /**
     * Gets the LocalRulesClient object to access its operations.
     *
     * @return the LocalRulesClient object.
     */
    LocalRulesClient getLocalRules();

    /**
     * Gets the PrefixListLocalRulestacksClient object to access its operations.
     *
     * @return the PrefixListLocalRulestacksClient object.
     */
    PrefixListLocalRulestacksClient getPrefixListLocalRulestacks();
}
