# coding: utf-8

"""
    OurSky SDA

    The basic flow for a new organization is as follows: 1. View the available satellite targets with the [satellite targets](#tag/satellite-targets/GET/v1/satellite-targets) endpoint. Copy the id of the target you want to observe. 2. Create an organization target with the [organization target](#tag/organization-targets/GET/v1/organization-targets) endpoint. Use the id copied from above. 3. Create a webhook with the [webhook](#tag/webhooks/POST/v1/communications/webhook) endpoint to receive OSRs automatically (preferred) or use the [OSRs](#tag/observation-sequence-results/GET/v1/observation-sequence-results) endpoint to poll for OSRs.  Check out our [examples](https://github.com/ourskyai/oursky-examples) repository to see usage in each language.

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

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


import json
import pprint
import re  # noqa: F401
from aenum import Enum, no_arg





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

    """
    allowed enum values
    """
    TARGET_NOT_FOUND = 'TARGET_NOT_FOUND'
    RATE_TARGET_NOT_FOUND = 'RATE_TARGET_NOT_FOUND'
    RATE_PLATE_SOLVE_FAILURE = 'RATE_PLATE_SOLVE_FAILURE'
    STREAK_DETECTION_FAILURE = 'STREAK_DETECTION_FAILURE'
    PLATE_SOLVE_FAILURE = 'PLATE_SOLVE_FAILURE'
    PLATE_SOLVE_NOT_ENOUGH_STARS_FAILURE = 'PLATE_SOLVE_NOT_ENOUGH_STARS_FAILURE'
    PLATE_SOLVE_NO_SOLUTION_FAILURE = 'PLATE_SOLVE_NO_SOLUTION_FAILURE'
    CROP_IMAGE_FAILURE = 'CROP_IMAGE_FAILURE'
    COSMETIC_CORRECTION_FAILURE = 'COSMETIC_CORRECTION_FAILURE'
    GRADIENT_REMOVAL_FAILURE = 'GRADIENT_REMOVAL_FAILURE'
    CATMAG_FAILURE = 'CATMAG_FAILURE'
    IMAGE_QUALITY_TOO_LOW = 'IMAGE_QUALITY_TOO_LOW'
    OBSERVATION_NOT_FOUND = 'OBSERVATION_NOT_FOUND'
    NODE_NOT_FOUND = 'NODE_NOT_FOUND'
    CAMERA_NOT_FOUND = 'CAMERA_NOT_FOUND'
    OTA_NOT_FOUND = 'OTA_NOT_FOUND'
    TLE_NOT_EXTRACTED = 'TLE_NOT_EXTRACTED'
    FAILED_TO_LOAD = 'FAILED_TO_LOAD'
    GPS_ERROR = 'GPS_ERROR'
    MUTEX_TIMEOUT = 'MUTEX_TIMEOUT'
    AWAIT_TIMEOUT = 'AWAIT_TIMEOUT'
    CATALOG_COMPARE_ERROR = 'CATALOG_COMPARE_ERROR'
    SAVE_FAILURE = 'SAVE_FAILURE'
    RATE_CATALOG_COMPARE_ERROR = 'RATE_CATALOG_COMPARE_ERROR'
    MISSING_IMG_WIDTH_HEADER = 'MISSING_IMG_WIDTH_HEADER'
    UNKNOWN_ERROR = 'UNKNOWN_ERROR'

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


