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

package com.azure.resourcemanager.logic.models;

import com.azure.core.util.ExpandableStringEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
import java.util.Collection;

/** The integration service environment network dependency category type. */
public final class IntegrationServiceEnvironmentNetworkDependencyCategoryType
    extends ExpandableStringEnum<IntegrationServiceEnvironmentNetworkDependencyCategoryType> {
    /** Static value NotSpecified for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType NOT_SPECIFIED =
        fromString("NotSpecified");

    /** Static value AzureStorage for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType AZURE_STORAGE =
        fromString("AzureStorage");

    /** Static value AzureManagement for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType AZURE_MANAGEMENT =
        fromString("AzureManagement");

    /** Static value AzureActiveDirectory for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType AZURE_ACTIVE_DIRECTORY =
        fromString("AzureActiveDirectory");

    /** Static value SSLCertificateVerification for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType SSLCERTIFICATE_VERIFICATION =
        fromString("SSLCertificateVerification");

    /** Static value DiagnosticLogsAndMetrics for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType DIAGNOSTIC_LOGS_AND_METRICS =
        fromString("DiagnosticLogsAndMetrics");

    /**
     * Static value IntegrationServiceEnvironmentConnectors for
     * IntegrationServiceEnvironmentNetworkDependencyCategoryType.
     */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType
        INTEGRATION_SERVICE_ENVIRONMENT_CONNECTORS = fromString("IntegrationServiceEnvironmentConnectors");

    /** Static value RedisCache for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType REDIS_CACHE =
        fromString("RedisCache");

    /** Static value AccessEndpoints for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType ACCESS_ENDPOINTS =
        fromString("AccessEndpoints");

    /** Static value RecoveryService for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType RECOVERY_SERVICE =
        fromString("RecoveryService");

    /** Static value SQL for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType SQL = fromString("SQL");

    /** Static value RegionalService for IntegrationServiceEnvironmentNetworkDependencyCategoryType. */
    public static final IntegrationServiceEnvironmentNetworkDependencyCategoryType REGIONAL_SERVICE =
        fromString("RegionalService");

    /**
     * Creates a new instance of IntegrationServiceEnvironmentNetworkDependencyCategoryType value.
     *
     * @deprecated Use the {@link #fromString(String)} factory method.
     */
    @Deprecated
    public IntegrationServiceEnvironmentNetworkDependencyCategoryType() {
    }

    /**
     * Creates or finds a IntegrationServiceEnvironmentNetworkDependencyCategoryType from its string representation.
     *
     * @param name a name to look for.
     * @return the corresponding IntegrationServiceEnvironmentNetworkDependencyCategoryType.
     */
    @JsonCreator
    public static IntegrationServiceEnvironmentNetworkDependencyCategoryType fromString(String name) {
        return fromString(name, IntegrationServiceEnvironmentNetworkDependencyCategoryType.class);
    }

    /**
     * Gets known IntegrationServiceEnvironmentNetworkDependencyCategoryType values.
     *
     * @return known IntegrationServiceEnvironmentNetworkDependencyCategoryType values.
     */
    public static Collection<IntegrationServiceEnvironmentNetworkDependencyCategoryType> values() {
        return values(IntegrationServiceEnvironmentNetworkDependencyCategoryType.class);
    }
}
