# coding: utf-8

"""
    Inventory

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 1.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class IssueActionType(str, Enum):
    """
    IssueActionType
    """

    """
    allowed enum values
    """
    UNKNOWN = 'Unknown'
    USERIGNOREDISSUE = 'UserIgnoredIssue'
    USERRESOLVEDISSUE = 'UserResolvedIssue'
    USERREOPENEDISSUE = 'UserReopenedIssue'
    LEGITRESOLVEDISSUE = 'LegitResolvedIssue'
    LEGITREOPENEDISSUE = 'LegitReopenedIssue'
    ISSUEASSIGNEDTOUSER = 'IssueAssignedToUser'
    ISSUEUNASSIGNED = 'IssueUnassigned'
    REPOSITORYDELETED = 'RepositoryDeleted'
    COLLABORATORDELETED = 'CollaboratorDeleted'
    REPOSITORYGROUPDELETED = 'RepositoryGroupDeleted'
    PERSONALACCESSTOKENDELETED = 'PersonalAccessTokenDeleted'
    THIRDPARTYAPPDELETED = 'ThirdPartyAppDeleted'
    JIRATICKETCREATEDFROMISSUE = 'JiraTicketCreatedFromIssue'
    JIRATICKETDETACHEDFROMISSUE = 'JiraTicketDetachedFromIssue'
    JIRATICKETDELETEDINLEGIT = 'JiraTicketDeletedInLegit'
    JIRATICKETCLOSEDINJIRA = 'JiraTicketClosedInJira'
    JIRATICKETDELETEDINJIRA = 'JiraTicketDeletedInJira'
    JIRATICKETREOPENEDINJIRA = 'JiraTicketReopenedInJira'
    JIRATICKETIGNORED = 'JiraTicketIgnored'
    DEPENDABOTALERTSUPDATED = 'DependabotAlertsUpdated'
    USERREOPENEDAUTORESOLVEDISSUE = 'UserReopenedAutoResolvedIssue'
    USERREOPENEDAUTORESOLVEDISSUEINLEGIT = 'UserReopenedAutoResolvedIssueInLegit'
    USERREOPENEDAUTORESOLVEDISSUEFROMOUTERSOURCE = 'UserReopenedAutoResolvedIssueFromOuterSource'
    ISSUEAUTOASSIGNEDTOUSER = 'IssueAutoAssignedToUser'
    USERACCEPTEDISSUE = 'UserAcceptedIssue'
    USERDONEISSUE = 'UserDoneIssue'
    LEGITCONFIRMEDISSUE = 'LegitConfirmedIssue'
    LEGITDECLINEDISSUERESOLUTION = 'LegitDeclinedIssueResolution'
    REPOSITORYARCHIVED = 'RepositoryArchived'
    ISSUEIGNOREDBYUSERINCODECOMMENT = 'IssueIgnoredByUserInCodeComment'
    ISSUEIGNOREDBYUSERINLEGITIGNOREFILE = 'IssueIgnoredByUserInLegitIgnoreFile'
    JIRATICKETCREATEDFROMAUTOMATION = 'JiraTicketCreatedFromAutomation'
    TAGADDEDTOISSUE = 'TagAddedToIssue'
    TAGREMOVEDFROMISSUE = 'TagRemovedFromIssue'
    PACKAGEDELETED = 'PackageDeleted'
    ISSUEEXCLUDEDBYRULE = 'IssueExcludedByRule'
    OCCURRENCESEXCLUDEDBYRULE = 'OccurrencesExcludedByRule'
    ISSUEUNEXCLUDEDBYRULE = 'IssueUnExcludedByRule'
    OCCURRENCESUNEXCLUDEDBYRULE = 'OccurrencesUnExcludedByRule'
    ADMINAPPROVEDCLOSINGREQUEST = 'AdminApprovedClosingRequest'
    ADMINREJECTEDCLOSINGREQUEST = 'AdminRejectedClosingRequest'
    USERCREATEDAPPROVALREQUESTIGNORE = 'UserCreatedApprovalRequestIgnore'
    USERCREATEDAPPROVALREQUESTIGNOREACCEPTED = 'UserCreatedApprovalRequestIgnoreAccepted'
    USERCREATEDAPPROVALREQUESTDONE = 'UserCreatedApprovalRequestDone'
    USERCREATEDAPPROVALREQUESTRESOLVED = 'UserCreatedApprovalRequestResolved'
    TICKETCREATEDFROMISSUE = 'TicketCreatedFromIssue'
    TICKETDETACHEDFROMISSUE = 'TicketDetachedFromIssue'
    TICKETDELETEDINLEGIT = 'TicketDeletedInLegit'
    TICKETDELETEDININTEGRATION = 'TicketDeletedInIntegration'
    ISSUEDETECTEDINTOOL = 'IssueDetectedInTool'
    ISSUECLOSEDINTOOL = 'IssueClosedInTool'
    ISSUEPOLICYMIGRATION = 'IssuePolicyMigration'
    TICKETCLOSEDINTICKETINGSYSTEM = 'TicketClosedInTicketingSystem'
    TICKETDELETEDINTICKETINGSYSTEM = 'TicketDeletedInTicketingSystem'
    TICKETREOPENEDINTICKETINGSYSTEM = 'TicketReopenedInTicketingSystem'
    TICKETIGNORED = 'TicketIgnored'
    TICKETCREATEDFROMAUTOMATION = 'TicketCreatedFromAutomation'
    ISSUEVALIDITYCHANGED = 'IssueValidityChanged'
    ISSUECLOSEDBYAUTOMATIONRULE = 'IssueClosedByAutomationRule'
    SECRETVALIDITYCHANGED = 'SecretValidityChanged'
    USERSNOOZEDISSUE = 'UserSnoozedIssue'
    USERCREATEDAPPROVALREQUESTSNOOZED = 'UserCreatedApprovalRequestSnoozed'
    LEGITRESOLVEDFALSEPOSITIVEISSUE = 'LegitResolvedFalsePositiveIssue'
    LEGITIGNOREDISSUEWITHALLOCCURRENCESEXCLUDED = 'LegitIgnoredIssueWithAllOccurrencesExcluded'
    LEGITCORRELATEDVULNERABILITYTOOTHERISSUE = 'LegitCorrelatedVulnerabilityToOtherIssue'
    ISSUESEVERITYOVERRIDDEN = 'IssueSeverityOverridden'
    ISSUESEVERITYOVERRIDDENBYAUTOMATIONRULE = 'IssueSeverityOverriddenByAutomationRule'
    SLASETONISSUE = 'SlaSetOnIssue'
    SLAREMOVEDFROMISSUE = 'SlaRemovedFromIssue'
    SLABREACHED = 'SlaBreached'
    SLAUPDATEDONISSUE = 'SlaUpdatedOnIssue'
    APPROVALREQUESTSTEPAPPROVED = 'ApprovalRequestStepApproved'
    USERSNOOZEDISSUEUNTILFIXAVAILABLE = 'UserSnoozedIssueUntilFixAvailable'
    ISSUECREATEDFROMMANUALUPLOAD = 'IssueCreatedFromManualUpload'
    PULLREQUESTOPENED = 'PullRequestOpened'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of IssueActionType from a JSON string"""
        return cls(json.loads(json_str))


