# Auto generated by 'inv collect-airflow'
from airfly._vendor.airflow.models.baseoperator import BaseOperator


class S3CreateBucketOperator(BaseOperator):
    bucket_name: "str"
    aws_conn_id: "str | None"
    region_name: "str | None"


class S3DeleteBucketOperator(BaseOperator):
    bucket_name: "str"
    force_delete: "bool"
    aws_conn_id: "str | None"


class S3GetBucketTaggingOperator(BaseOperator):
    bucket_name: "str"
    aws_conn_id: "str | None"


class S3PutBucketTaggingOperator(BaseOperator):
    bucket_name: "str"
    key: "str | None"
    value: "str | None"
    tag_set: "dict | list[dict[str, str]] | None"
    aws_conn_id: "str | None"


class S3DeleteBucketTaggingOperator(BaseOperator):
    bucket_name: "str"
    aws_conn_id: "str | None"


class S3CopyObjectOperator(BaseOperator):
    source_bucket_key: "str"
    dest_bucket_key: "str"
    source_bucket_name: "str | None"
    dest_bucket_name: "str | None"
    source_version_id: "str | None"
    aws_conn_id: "str | None"
    verify: "str | bool | None"
    acl_policy: "str | None"


class S3CreateObjectOperator(BaseOperator):
    s3_bucket: "str | None"
    s3_key: "str"
    data: "str | bytes"
    replace: "bool"
    encrypt: "bool"
    acl_policy: "str | None"
    encoding: "str | None"
    compression: "str | None"
    aws_conn_id: "str | None"
    verify: "str | bool | None"


class S3DeleteObjectsOperator(BaseOperator):
    bucket: "str"
    keys: "str | list | None"
    prefix: "str | None"
    from_datetime: "datetime | None"
    to_datetime: "datetime | None"
    aws_conn_id: "str | None"
    verify: "str | bool | None"


class S3FileTransformOperator(BaseOperator):
    source_s3_key: "str"
    dest_s3_key: "str"
    transform_script: "str | None"
    select_expression: "_empty"
    select_expr_serialization_config: "dict[str, dict[str, dict]] | None"
    script_args: "Sequence[str] | None"
    source_aws_conn_id: "str | None"
    source_verify: "bool | str | None"
    dest_aws_conn_id: "str | None"
    dest_verify: "bool | str | None"
    replace: "bool"


class S3ListOperator(BaseOperator):
    bucket: "str"
    prefix: "str"
    delimiter: "str"
    aws_conn_id: "str | None"
    verify: "str | bool | None"
    apply_wildcard: "bool"


class S3ListPrefixesOperator(BaseOperator):
    bucket: "str"
    prefix: "str"
    delimiter: "str"
    aws_conn_id: "str | None"
    verify: "str | bool | None"
