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

package com.azure.resourcemanager.securityinsights.models;

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

/** The V3 type of the mapped entity. */
public final class EntityMappingType extends ExpandableStringEnum<EntityMappingType> {
    /** Static value Account for EntityMappingType. */
    public static final EntityMappingType ACCOUNT = fromString("Account");

    /** Static value Host for EntityMappingType. */
    public static final EntityMappingType HOST = fromString("Host");

    /** Static value IP for EntityMappingType. */
    public static final EntityMappingType IP = fromString("IP");

    /** Static value Malware for EntityMappingType. */
    public static final EntityMappingType MALWARE = fromString("Malware");

    /** Static value File for EntityMappingType. */
    public static final EntityMappingType FILE = fromString("File");

    /** Static value Process for EntityMappingType. */
    public static final EntityMappingType PROCESS = fromString("Process");

    /** Static value CloudApplication for EntityMappingType. */
    public static final EntityMappingType CLOUD_APPLICATION = fromString("CloudApplication");

    /** Static value DNS for EntityMappingType. */
    public static final EntityMappingType DNS = fromString("DNS");

    /** Static value AzureResource for EntityMappingType. */
    public static final EntityMappingType AZURE_RESOURCE = fromString("AzureResource");

    /** Static value FileHash for EntityMappingType. */
    public static final EntityMappingType FILE_HASH = fromString("FileHash");

    /** Static value RegistryKey for EntityMappingType. */
    public static final EntityMappingType REGISTRY_KEY = fromString("RegistryKey");

    /** Static value RegistryValue for EntityMappingType. */
    public static final EntityMappingType REGISTRY_VALUE = fromString("RegistryValue");

    /** Static value SecurityGroup for EntityMappingType. */
    public static final EntityMappingType SECURITY_GROUP = fromString("SecurityGroup");

    /** Static value URL for EntityMappingType. */
    public static final EntityMappingType URL = fromString("URL");

    /** Static value Mailbox for EntityMappingType. */
    public static final EntityMappingType MAILBOX = fromString("Mailbox");

    /** Static value MailCluster for EntityMappingType. */
    public static final EntityMappingType MAIL_CLUSTER = fromString("MailCluster");

    /** Static value MailMessage for EntityMappingType. */
    public static final EntityMappingType MAIL_MESSAGE = fromString("MailMessage");

    /** Static value SubmissionMail for EntityMappingType. */
    public static final EntityMappingType SUBMISSION_MAIL = fromString("SubmissionMail");

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

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