"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class ArtifactSettings(google.protobuf.message.Message):
    """Artifact upload settings.

    Defines where to upload test artifacts and which files should be included.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OBJECT_STORAGE_BUCKET_FIELD_NUMBER: builtins.int
    IS_ARCHIVE_FIELD_NUMBER: builtins.int
    FILTER_INCLUDE_FIELD_NUMBER: builtins.int
    FILTER_EXCLUDE_FIELD_NUMBER: builtins.int
    object_storage_bucket: builtins.str
    """Name of output object storage bucket in test's folder."""
    is_archive: builtins.bool
    """Setting which defines whether artifact files should be archived prior to uploading."""
    @property
    def filter_include(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Filter strings defining which files should be included to artifacts. GLOB format.

        Example:
        - ['*'] - all files will be uploaded.
        - ['*.log', '*.yaml] - all `.log` and `.yaml` files will be uploaded.
        """

    @property
    def filter_exclude(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Filter strings defining which files should be excluded from artifacts. GLOB format.

        Example:
        - filter_include=['*'], filter_exclude=['phout.log'] - upload all `.log` files excluding `phout.log`.
        """

    def __init__(
        self,
        *,
        object_storage_bucket: builtins.str = ...,
        is_archive: builtins.bool = ...,
        filter_include: collections.abc.Iterable[builtins.str] | None = ...,
        filter_exclude: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["object_storage_bucket", b"object_storage_bucket", "upload_to", b"upload_to"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["filter_exclude", b"filter_exclude", "filter_include", b"filter_include", "is_archive", b"is_archive", "object_storage_bucket", b"object_storage_bucket", "upload_to", b"upload_to"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["upload_to", b"upload_to"]) -> typing.Literal["object_storage_bucket"] | None: ...

global___ArtifactSettings = ArtifactSettings
