// 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 tracking record type. */
public final class TrackingRecordType extends ExpandableStringEnum<TrackingRecordType> {
    /** Static value NotSpecified for TrackingRecordType. */
    public static final TrackingRecordType NOT_SPECIFIED = fromString("NotSpecified");

    /** Static value Custom for TrackingRecordType. */
    public static final TrackingRecordType CUSTOM = fromString("Custom");

    /** Static value AS2Message for TrackingRecordType. */
    public static final TrackingRecordType AS2MESSAGE = fromString("AS2Message");

    /** Static value AS2MDN for TrackingRecordType. */
    public static final TrackingRecordType AS2MDN = fromString("AS2MDN");

    /** Static value X12Interchange for TrackingRecordType. */
    public static final TrackingRecordType X12INTERCHANGE = fromString("X12Interchange");

    /** Static value X12FunctionalGroup for TrackingRecordType. */
    public static final TrackingRecordType X12FUNCTIONAL_GROUP = fromString("X12FunctionalGroup");

    /** Static value X12TransactionSet for TrackingRecordType. */
    public static final TrackingRecordType X12TRANSACTION_SET = fromString("X12TransactionSet");

    /** Static value X12InterchangeAcknowledgment for TrackingRecordType. */
    public static final TrackingRecordType X12INTERCHANGE_ACKNOWLEDGMENT = fromString("X12InterchangeAcknowledgment");

    /** Static value X12FunctionalGroupAcknowledgment for TrackingRecordType. */
    public static final TrackingRecordType X12FUNCTIONAL_GROUP_ACKNOWLEDGMENT =
        fromString("X12FunctionalGroupAcknowledgment");

    /** Static value X12TransactionSetAcknowledgment for TrackingRecordType. */
    public static final TrackingRecordType X12TRANSACTION_SET_ACKNOWLEDGMENT =
        fromString("X12TransactionSetAcknowledgment");

    /** Static value EdifactInterchange for TrackingRecordType. */
    public static final TrackingRecordType EDIFACT_INTERCHANGE = fromString("EdifactInterchange");

    /** Static value EdifactFunctionalGroup for TrackingRecordType. */
    public static final TrackingRecordType EDIFACT_FUNCTIONAL_GROUP = fromString("EdifactFunctionalGroup");

    /** Static value EdifactTransactionSet for TrackingRecordType. */
    public static final TrackingRecordType EDIFACT_TRANSACTION_SET = fromString("EdifactTransactionSet");

    /** Static value EdifactInterchangeAcknowledgment for TrackingRecordType. */
    public static final TrackingRecordType EDIFACT_INTERCHANGE_ACKNOWLEDGMENT =
        fromString("EdifactInterchangeAcknowledgment");

    /** Static value EdifactFunctionalGroupAcknowledgment for TrackingRecordType. */
    public static final TrackingRecordType EDIFACT_FUNCTIONAL_GROUP_ACKNOWLEDGMENT =
        fromString("EdifactFunctionalGroupAcknowledgment");

    /** Static value EdifactTransactionSetAcknowledgment for TrackingRecordType. */
    public static final TrackingRecordType EDIFACT_TRANSACTION_SET_ACKNOWLEDGMENT =
        fromString("EdifactTransactionSetAcknowledgment");

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

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

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