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


class BigtableValidationMixin:
    pass


class BigtableCreateInstanceOperator(BaseOperator, BigtableValidationMixin):
    instance_id: "str"
    main_cluster_id: "str"
    main_cluster_zone: "str"
    project_id: "typing.Union[str, NoneType]"
    replica_clusters: "typing.Union[typing.List[typing.Dict[str, str]], NoneType]"
    replica_cluster_id: "typing.Union[str, NoneType]"
    replica_cluster_zone: "typing.Union[str, NoneType]"
    instance_display_name: "typing.Union[str, NoneType]"
    instance_type: "typing.Union[google.cloud.bigtable_admin_v2.gapic.enums.Instance.Type, NoneType]"
    instance_labels: "typing.Union[typing.Dict, NoneType]"
    cluster_nodes: "typing.Union[int, NoneType]"
    cluster_storage_type: "typing.Union[google.cloud.bigtable_admin_v2.gapic.enums.StorageType, NoneType]"
    timeout: "typing.Union[float, NoneType]"
    gcp_conn_id: "str"
    impersonation_chain: "typing.Union[str, typing.Sequence[str], NoneType]"


class BigtableCreateTableOperator(BaseOperator, BigtableValidationMixin):
    instance_id: "str"
    table_id: "str"
    project_id: "typing.Union[str, NoneType]"
    initial_split_keys: "typing.Union[typing.List, NoneType]"
    column_families: "typing.Union[typing.Dict[str, google.cloud.bigtable.column_family.GarbageCollectionRule], NoneType]"
    gcp_conn_id: "str"
    impersonation_chain: "typing.Union[str, typing.Sequence[str], NoneType]"


class BigtableDeleteInstanceOperator(BaseOperator, BigtableValidationMixin):
    instance_id: "str"
    project_id: "typing.Union[str, NoneType]"
    gcp_conn_id: "str"
    impersonation_chain: "typing.Union[str, typing.Sequence[str], NoneType]"


class BigtableDeleteTableOperator(BaseOperator, BigtableValidationMixin):
    instance_id: "str"
    table_id: "str"
    project_id: "typing.Union[str, NoneType]"
    app_profile_id: "typing.Union[str, NoneType]"
    gcp_conn_id: "str"
    impersonation_chain: "typing.Union[str, typing.Sequence[str], NoneType]"


class BigtableUpdateClusterOperator(BaseOperator, BigtableValidationMixin):
    instance_id: "str"
    cluster_id: "str"
    nodes: "int"
    project_id: "typing.Union[str, NoneType]"
    gcp_conn_id: "str"
    impersonation_chain: "typing.Union[str, typing.Sequence[str], NoneType]"
