"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.timestamp_pb2
import qwak.automation.v1.action_pb2
import qwak.automation.v1.notification_pb2
import qwak.automation.v1.trigger_pb2
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class Automation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AUTOMATION_ID_FIELD_NUMBER: builtins.int
    AUTOMATION_SPEC_FIELD_NUMBER: builtins.int
    QWAK_ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    CREATE_AUDIT_FIELD_NUMBER: builtins.int
    IS_DELETED_FIELD_NUMBER: builtins.int
    JFROG_TOKEN_ID_FIELD_NUMBER: builtins.int
    automation_id: builtins.str
    """The automation ID"""
    @property
    def automation_spec(self) -> global___AutomationSpec:
        """Automations specs"""
    qwak_environment_id: builtins.str
    @property
    def create_audit(self) -> global___AutomationAudit: ...
    is_deleted: builtins.bool
    jfrog_token_id: builtins.str
    def __init__(
        self,
        *,
        automation_id: builtins.str = ...,
        automation_spec: global___AutomationSpec | None = ...,
        qwak_environment_id: builtins.str = ...,
        create_audit: global___AutomationAudit | None = ...,
        is_deleted: builtins.bool = ...,
        jfrog_token_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["automation_spec", b"automation_spec", "create_audit", b"create_audit"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["automation_id", b"automation_id", "automation_spec", b"automation_spec", "create_audit", b"create_audit", "is_deleted", b"is_deleted", "jfrog_token_id", b"jfrog_token_id", "qwak_environment_id", b"qwak_environment_id"]) -> None: ...

global___Automation = Automation

class AutomationSpec(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODEL_ID_FIELD_NUMBER: builtins.int
    AUTOMATION_NAME_FIELD_NUMBER: builtins.int
    TRIGGER_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    AUTOMATION_DESCRIPTION_FIELD_NUMBER: builtins.int
    IS_ENABLED_FIELD_NUMBER: builtins.int
    ON_ERROR_FIELD_NUMBER: builtins.int
    ON_SUCCESS_FIELD_NUMBER: builtins.int
    EXECUTE_IMMEDIATELY_FIELD_NUMBER: builtins.int
    IS_SDK_V1_FIELD_NUMBER: builtins.int
    model_id: builtins.str
    automation_name: builtins.str
    @property
    def trigger(self) -> qwak.automation.v1.trigger_pb2.Trigger: ...
    @property
    def action(self) -> qwak.automation.v1.action_pb2.Action: ...
    automation_description: builtins.str
    is_enabled: builtins.bool
    @property
    def on_error(self) -> qwak.automation.v1.notification_pb2.Notification:
        """Notification for handling error in action"""
    @property
    def on_success(self) -> qwak.automation.v1.notification_pb2.Notification:
        """Notification for handling success in action"""
    execute_immediately: builtins.bool
    """Notification for handling success in action"""
    is_sdk_v1: builtins.bool
    """Whether the automation is from the new sdk"""
    def __init__(
        self,
        *,
        model_id: builtins.str = ...,
        automation_name: builtins.str = ...,
        trigger: qwak.automation.v1.trigger_pb2.Trigger | None = ...,
        action: qwak.automation.v1.action_pb2.Action | None = ...,
        automation_description: builtins.str = ...,
        is_enabled: builtins.bool = ...,
        on_error: qwak.automation.v1.notification_pb2.Notification | None = ...,
        on_success: qwak.automation.v1.notification_pb2.Notification | None = ...,
        execute_immediately: builtins.bool = ...,
        is_sdk_v1: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["action", b"action", "on_error", b"on_error", "on_success", b"on_success", "trigger", b"trigger"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "automation_description", b"automation_description", "automation_name", b"automation_name", "execute_immediately", b"execute_immediately", "is_enabled", b"is_enabled", "is_sdk_v1", b"is_sdk_v1", "model_id", b"model_id", "on_error", b"on_error", "on_success", b"on_success", "trigger", b"trigger"]) -> None: ...

global___AutomationSpec = AutomationSpec

class AutomationAudit(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATE_FIELD_NUMBER: builtins.int
    USER_ID_FIELD_NUMBER: builtins.int
    @property
    def date(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """The creation/update time of the automation."""
    user_id: builtins.str
    """The user id that created/modified the automation."""
    def __init__(
        self,
        *,
        date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        user_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["date", b"date"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["date", b"date", "user_id", b"user_id"]) -> None: ...

global___AutomationAudit = AutomationAudit
