from __future__ import annotations

from enum import Enum

class ActiveFeatureFlag(str, Enum):
    AUDIT_LOGS = "AUDIT_LOGS"
    BUCKET_FILE_BROWSER = "BUCKET_FILE_BROWSER"
    CDN_CACHING = "CDN_CACHING"
    DEBUG_SMART_DIAGNOSIS = "DEBUG_SMART_DIAGNOSIS"
    IPV6_EGRESS = "IPV6_EGRESS"
    MAGIC_CONFIG = "MAGIC_CONFIG"
    POSTGRES_PGBOUNCER = "POSTGRES_PGBOUNCER"
    PRIORITY_BOARDING = "PRIORITY_BOARDING"
    SMART_DIAGNOSIS = "SMART_DIAGNOSIS"
    UNLIMITED_SMART_DIAGNOSIS = "UNLIMITED_SMART_DIAGNOSIS"


class ActivePlatformFlag(str, Enum):
    ALLOW_REPLICA_METRICS = "ALLOW_REPLICA_METRICS"
    ARCHIVER_V2_ROLLOUT = "ARCHIVER_V2_ROLLOUT"
    BUILDER_V3_ROLLOUT_EXISTING_SERVICES = "BUILDER_V3_ROLLOUT_EXISTING_SERVICES"
    BUILDER_V3_ROLLOUT_EXISTING_SERVICES_PRO = "BUILDER_V3_ROLLOUT_EXISTING_SERVICES_PRO"
    BUILDER_V3_ROLLOUT_NEW_SERVICES = "BUILDER_V3_ROLLOUT_NEW_SERVICES"
    BUILDER_V3_ROLLOUT_NEW_SERVICES_PRO = "BUILDER_V3_ROLLOUT_NEW_SERVICES_PRO"
    COMPARE_CLICKHOUSE_METRICS = "COMPARE_CLICKHOUSE_METRICS"
    CTRD_IMAGE_STORE_ROLLOUT = "CTRD_IMAGE_STORE_ROLLOUT"
    DEMO_PERCENTAGE_ROLLOUT = "DEMO_PERCENTAGE_ROLLOUT"
    DISABLE_OAUTH_ACCESS_TOKENS = "DISABLE_OAUTH_ACCESS_TOKENS"
    ENABLE_RAW_SQL_QUERIES = "ENABLE_RAW_SQL_QUERIES"
    FOCUSED_PR_ENVIRONMENTS = "FOCUSED_PR_ENVIRONMENTS"
    NEW_STRIPE_WEBHOOK_VERSION_ROLLOUT = "NEW_STRIPE_WEBHOOK_VERSION_ROLLOUT"
    OAUTH_DCR_KILLSWITCH = "OAUTH_DCR_KILLSWITCH"
    OAUTH_DEVICE_FLOW_KILLSWITCH = "OAUTH_DEVICE_FLOW_KILLSWITCH"
    SERVICEINSTANCE_DATALOADER_FOR_STATIC_URL = "SERVICEINSTANCE_DATALOADER_FOR_STATIC_URL"
    SPLIT_USAGE_QUERIES = "SPLIT_USAGE_QUERIES"
    UNIFIED_SNAPSHOT_AND_BUILD = "UNIFIED_SNAPSHOT_AND_BUILD"
    UNIFIED_SNAPSHOT_AND_BUILD_HOBBY = "UNIFIED_SNAPSHOT_AND_BUILD_HOBBY"
    UPDATED_VM_QUERIES = "UPDATED_VM_QUERIES"
    USE_CLICKHOUSE_METRICS = "USE_CLICKHOUSE_METRICS"
    USE_GH_WEBHOOKS_FOR_CHANGE_DETECTION = "USE_GH_WEBHOOKS_FOR_CHANGE_DETECTION"
    VM_TIME_RANGE_QUERY = "VM_TIME_RANGE_QUERY"


class ActiveProjectFeatureFlag(str, Enum):
    PLACEHOLDER = "PLACEHOLDER"


class ActiveServiceFeatureFlag(str, Enum):
    COPY_VOLUME_TO_ENVIRONMENT = "COPY_VOLUME_TO_ENVIRONMENT"
    ENABLE_DOCKER_EXTENSION = "ENABLE_DOCKER_EXTENSION"
    PLACEHOLDER = "PLACEHOLDER"
    USE_BUILDER_V3_FOR_CLI_DEPLOYS = "USE_BUILDER_V3_FOR_CLI_DEPLOYS"
    USE_GH_WEBHOOKS_FOR_CHANGE_DETECTION = "USE_GH_WEBHOOKS_FOR_CHANGE_DETECTION"
    USE_VM_RUNTIME = "USE_VM_RUNTIME"


class Builder(str, Enum):
    HEROKU = "HEROKU"
    NIXPACKS = "NIXPACKS"
    PAKETO = "PAKETO"
    RAILPACK = "RAILPACK"


class CDNProvider(str, Enum):
    DETECTED_CDN_PROVIDER_CLOUDFLARE = "DETECTED_CDN_PROVIDER_CLOUDFLARE"
    DETECTED_CDN_PROVIDER_UNSPECIFIED = "DETECTED_CDN_PROVIDER_UNSPECIFIED"
    UNRECOGNIZED = "UNRECOGNIZED"


class CertificateErrorType(str, Enum):
    """The type of error that occurred during certificate issuance"""
    CERTIFICATE_ERROR_TYPE_AUTHORIZATION_FAILED = "CERTIFICATE_ERROR_TYPE_AUTHORIZATION_FAILED"
    CERTIFICATE_ERROR_TYPE_DNS_VALIDATION = "CERTIFICATE_ERROR_TYPE_DNS_VALIDATION"
    CERTIFICATE_ERROR_TYPE_INTERNAL = "CERTIFICATE_ERROR_TYPE_INTERNAL"
    CERTIFICATE_ERROR_TYPE_KEY_GENERATION = "CERTIFICATE_ERROR_TYPE_KEY_GENERATION"
    CERTIFICATE_ERROR_TYPE_ORDER_CREATION = "CERTIFICATE_ERROR_TYPE_ORDER_CREATION"
    CERTIFICATE_ERROR_TYPE_RATE_LIMIT = "CERTIFICATE_ERROR_TYPE_RATE_LIMIT"
    CERTIFICATE_ERROR_TYPE_UNSPECIFIED = "CERTIFICATE_ERROR_TYPE_UNSPECIFIED"
    UNRECOGNIZED = "UNRECOGNIZED"


class CertificateStatus(str, Enum):
    CERTIFICATE_STATUS_TYPE_ISSUE_FAILED = "CERTIFICATE_STATUS_TYPE_ISSUE_FAILED"
    CERTIFICATE_STATUS_TYPE_ISSUING = "CERTIFICATE_STATUS_TYPE_ISSUING"
    CERTIFICATE_STATUS_TYPE_UNSPECIFIED = "CERTIFICATE_STATUS_TYPE_UNSPECIFIED"
    CERTIFICATE_STATUS_TYPE_VALID = "CERTIFICATE_STATUS_TYPE_VALID"
    CERTIFICATE_STATUS_TYPE_VALIDATING_OWNERSHIP = "CERTIFICATE_STATUS_TYPE_VALIDATING_OWNERSHIP"
    UNRECOGNIZED = "UNRECOGNIZED"


class CertificateStatusDetailed(str, Enum):
    CERTIFICATE_STATUS_TYPE_DETAILED_CLEANING_UP = "CERTIFICATE_STATUS_TYPE_DETAILED_CLEANING_UP"
    CERTIFICATE_STATUS_TYPE_DETAILED_COMPLETE = "CERTIFICATE_STATUS_TYPE_DETAILED_COMPLETE"
    CERTIFICATE_STATUS_TYPE_DETAILED_CREATING_ORDER = "CERTIFICATE_STATUS_TYPE_DETAILED_CREATING_ORDER"
    CERTIFICATE_STATUS_TYPE_DETAILED_DOWNLOADING_CERTIFICATE = "CERTIFICATE_STATUS_TYPE_DETAILED_DOWNLOADING_CERTIFICATE"
    CERTIFICATE_STATUS_TYPE_DETAILED_FAILED = "CERTIFICATE_STATUS_TYPE_DETAILED_FAILED"
    CERTIFICATE_STATUS_TYPE_DETAILED_FETCHING_AUTHORIZATIONS = "CERTIFICATE_STATUS_TYPE_DETAILED_FETCHING_AUTHORIZATIONS"
    CERTIFICATE_STATUS_TYPE_DETAILED_FINALIZING_ORDER = "CERTIFICATE_STATUS_TYPE_DETAILED_FINALIZING_ORDER"
    CERTIFICATE_STATUS_TYPE_DETAILED_GENERATING_KEYS = "CERTIFICATE_STATUS_TYPE_DETAILED_GENERATING_KEYS"
    CERTIFICATE_STATUS_TYPE_DETAILED_INITIATING_CHALLENGES = "CERTIFICATE_STATUS_TYPE_DETAILED_INITIATING_CHALLENGES"
    CERTIFICATE_STATUS_TYPE_DETAILED_POLLING_AUTHORIZATIONS = "CERTIFICATE_STATUS_TYPE_DETAILED_POLLING_AUTHORIZATIONS"
    CERTIFICATE_STATUS_TYPE_DETAILED_PRESENTING_CHALLENGES = "CERTIFICATE_STATUS_TYPE_DETAILED_PRESENTING_CHALLENGES"
    CERTIFICATE_STATUS_TYPE_DETAILED_UNSPECIFIED = "CERTIFICATE_STATUS_TYPE_DETAILED_UNSPECIFIED"
    UNRECOGNIZED = "UNRECOGNIZED"


class CnameCheckStatus(str, Enum):
    ERROR = "ERROR"
    INFO = "INFO"
    INVALID = "INVALID"
    VALID = "VALID"
    WAITING = "WAITING"


class CreditType(str, Enum):
    APPLIED = "APPLIED"
    CREDIT = "CREDIT"
    DEBIT = "DEBIT"
    STRIPE = "STRIPE"
    TRANSFER = "TRANSFER"
    WAIVED = "WAIVED"


class CustomDomainSyncStatus(str, Enum):
    ACTIVE = "ACTIVE"
    CREATING = "CREATING"
    DELETED = "DELETED"
    DELETING = "DELETING"
    UNSPECIFIED = "UNSPECIFIED"
    UPDATING = "UPDATING"


class DNSRecordPurpose(str, Enum):
    DNS_RECORD_PURPOSE_ACME_DNS01_CHALLENGE = "DNS_RECORD_PURPOSE_ACME_DNS01_CHALLENGE"
    DNS_RECORD_PURPOSE_TRAFFIC_ROUTE = "DNS_RECORD_PURPOSE_TRAFFIC_ROUTE"
    DNS_RECORD_PURPOSE_UNSPECIFIED = "DNS_RECORD_PURPOSE_UNSPECIFIED"
    UNRECOGNIZED = "UNRECOGNIZED"


class DNSRecordStatus(str, Enum):
    DNS_RECORD_STATUS_PROPAGATED = "DNS_RECORD_STATUS_PROPAGATED"
    DNS_RECORD_STATUS_REQUIRES_UPDATE = "DNS_RECORD_STATUS_REQUIRES_UPDATE"
    DNS_RECORD_STATUS_UNSPECIFIED = "DNS_RECORD_STATUS_UNSPECIFIED"
    UNRECOGNIZED = "UNRECOGNIZED"


class DNSRecordType(str, Enum):
    DNS_RECORD_TYPE_A = "DNS_RECORD_TYPE_A"
    DNS_RECORD_TYPE_CNAME = "DNS_RECORD_TYPE_CNAME"
    DNS_RECORD_TYPE_NS = "DNS_RECORD_TYPE_NS"
    DNS_RECORD_TYPE_TXT = "DNS_RECORD_TYPE_TXT"
    DNS_RECORD_TYPE_UNSPECIFIED = "DNS_RECORD_TYPE_UNSPECIFIED"
    UNRECOGNIZED = "UNRECOGNIZED"


class DeploymentEventStep(str, Enum):
    BUILD_IMAGE = "BUILD_IMAGE"
    CONFIGURE_NETWORK = "CONFIGURE_NETWORK"
    CREATE_CONTAINER = "CREATE_CONTAINER"
    DRAIN_INSTANCES = "DRAIN_INSTANCES"
    HEALTHCHECK = "HEALTHCHECK"
    MIGRATE_VOLUMES = "MIGRATE_VOLUMES"
    PRE_DEPLOY_COMMAND = "PRE_DEPLOY_COMMAND"
    PUBLISH_IMAGE = "PUBLISH_IMAGE"
    SNAPSHOT_CODE = "SNAPSHOT_CODE"
    WAIT_FOR_DEPENDENCIES = "WAIT_FOR_DEPENDENCIES"


class DeploymentInstanceStatus(str, Enum):
    CRASHED = "CRASHED"
    CREATED = "CREATED"
    EXITED = "EXITED"
    INITIALIZING = "INITIALIZING"
    REMOVED = "REMOVED"
    REMOVING = "REMOVING"
    RESTARTING = "RESTARTING"
    RUNNING = "RUNNING"
    SKIPPED = "SKIPPED"
    STOPPED = "STOPPED"


class DeploymentStatus(str, Enum):
    BUILDING = "BUILDING"
    CRASHED = "CRASHED"
    DEPLOYING = "DEPLOYING"
    FAILED = "FAILED"
    INITIALIZING = "INITIALIZING"
    NEEDS_APPROVAL = "NEEDS_APPROVAL"
    QUEUED = "QUEUED"
    REMOVED = "REMOVED"
    REMOVING = "REMOVING"
    SKIPPED = "SKIPPED"
    SLEEPING = "SLEEPING"
    SUCCESS = "SUCCESS"
    WAITING = "WAITING"


class EnvironmentPatchStatus(str, Enum):
    APPLYING = "APPLYING"
    COMMITTED = "COMMITTED"
    STAGED = "STAGED"


class EventSeverity(str, Enum):
    CRITICAL = "CRITICAL"
    INFO = "INFO"
    NOTICE = "NOTICE"
    WARNING = "WARNING"


class FunctionRuntimeName(str, Enum):
    """Supported function runtime environments"""
    bun = "bun"


class IncidentStatus(str, Enum):
    IDENTIFIED = "IDENTIFIED"
    INVESTIGATING = "INVESTIGATING"
    MONITORING = "MONITORING"
    RESOLVED = "RESOLVED"


class KeyType(str, Enum):
    KEY_TYPE_ECDSA = "KEY_TYPE_ECDSA"
    KEY_TYPE_RSA_2048 = "KEY_TYPE_RSA_2048"
    KEY_TYPE_RSA_4096 = "KEY_TYPE_RSA_4096"
    KEY_TYPE_UNSPECIFIED = "KEY_TYPE_UNSPECIFIED"
    UNRECOGNIZED = "UNRECOGNIZED"


class MaintenanceStatus(str, Enum):
    COMPLETED = "COMPLETED"
    INPROGRESS = "INPROGRESS"
    NOTSTARTEDYET = "NOTSTARTEDYET"


class MetricMeasurement(str, Enum):
    """A thing that can be measured on Railway."""
    BACKUP_USAGE_GB = "BACKUP_USAGE_GB"
    CPU_LIMIT = "CPU_LIMIT"
    CPU_USAGE = "CPU_USAGE"
    CPU_USAGE_2 = "CPU_USAGE_2"
    DISK_USAGE_GB = "DISK_USAGE_GB"
    EPHEMERAL_DISK_USAGE_GB = "EPHEMERAL_DISK_USAGE_GB"
    MEASUREMENT_UNSPECIFIED = "MEASUREMENT_UNSPECIFIED"
    MEMORY_LIMIT_GB = "MEMORY_LIMIT_GB"
    MEMORY_USAGE_GB = "MEMORY_USAGE_GB"
    NETWORK_RX_GB = "NETWORK_RX_GB"
    NETWORK_TX_GB = "NETWORK_TX_GB"
    UNRECOGNIZED = "UNRECOGNIZED"


class MetricTag(str, Enum):
    """A property that can be used to group metrics."""
    DEPLOYMENT_ID = "DEPLOYMENT_ID"
    DEPLOYMENT_INSTANCE_ID = "DEPLOYMENT_INSTANCE_ID"
    ENVIRONMENT_ID = "ENVIRONMENT_ID"
    HOST_TYPE = "HOST_TYPE"
    KEY_UNSPECIFIED = "KEY_UNSPECIFIED"
    PLUGIN_ID = "PLUGIN_ID"
    PROJECT_ID = "PROJECT_ID"
    REGION = "REGION"
    SERVICE_ID = "SERVICE_ID"
    UNRECOGNIZED = "UNRECOGNIZED"
    VOLUME_ID = "VOLUME_ID"
    VOLUME_INSTANCE_ID = "VOLUME_INSTANCE_ID"


class MonitorAlertResourceType(str, Enum):
    SERVICE = "SERVICE"
    VOLUME = "VOLUME"


class MonitorStatus(str, Enum):
    ALERT = "ALERT"
    OK = "OK"


class MonitorThresholdCondition(str, Enum):
    above = "above"
    below = "below"


class NotificationDeliveryStatus(str, Enum):
    FAILED = "FAILED"
    PENDING = "PENDING"
    SENT = "SENT"


class NotificationDeliveryType(str, Enum):
    EMAIL = "EMAIL"
    INAPP = "INAPP"
    WEBHOOK = "WEBHOOK"


class NotificationSeverity(str, Enum):
    CRITICAL = "CRITICAL"
    INFO = "INFO"
    NOTICE = "NOTICE"
    WARNING = "WARNING"


class NotificationStatus(str, Enum):
    ACTIVE = "ACTIVE"
    RESOLVED = "RESOLVED"


class ObservabilityDashboardItemType(str, Enum):
    PROJECT_USAGE_ITEM = "PROJECT_USAGE_ITEM"
    SERVICE_LOGS_ITEM = "SERVICE_LOGS_ITEM"
    SERVICE_METRICS_ITEM = "SERVICE_METRICS_ITEM"
    VOLUME_METRICS_ITEM = "VOLUME_METRICS_ITEM"


class PartnerProfileType(str, Enum):
    BASIC_PARTNER = "BASIC_PARTNER"
    LIMITED_PARTNER = "LIMITED_PARTNER"
    TEMPLATE_MAINTAINER = "TEMPLATE_MAINTAINER"


class Plan(str, Enum):
    FREE = "FREE"
    HOBBY = "HOBBY"
    PRO = "PRO"


class PlatformFeatureFlag(str, Enum):
    ALLOW_REPLICA_METRICS = "ALLOW_REPLICA_METRICS"
    ARCHIVER_V2_ROLLOUT = "ARCHIVER_V2_ROLLOUT"
    BUILDER_V3_ROLLOUT_EXISTING_SERVICES = "BUILDER_V3_ROLLOUT_EXISTING_SERVICES"
    BUILDER_V3_ROLLOUT_EXISTING_SERVICES_PRO = "BUILDER_V3_ROLLOUT_EXISTING_SERVICES_PRO"
    BUILDER_V3_ROLLOUT_NEW_SERVICES = "BUILDER_V3_ROLLOUT_NEW_SERVICES"
    BUILDER_V3_ROLLOUT_NEW_SERVICES_PRO = "BUILDER_V3_ROLLOUT_NEW_SERVICES_PRO"
    COMPARE_CLICKHOUSE_METRICS = "COMPARE_CLICKHOUSE_METRICS"
    CTRD_IMAGE_STORE_ROLLOUT = "CTRD_IMAGE_STORE_ROLLOUT"
    DEMO_PERCENTAGE_ROLLOUT = "DEMO_PERCENTAGE_ROLLOUT"
    DISABLE_OAUTH_ACCESS_TOKENS = "DISABLE_OAUTH_ACCESS_TOKENS"
    ENABLE_RAW_SQL_QUERIES = "ENABLE_RAW_SQL_QUERIES"
    FOCUSED_PR_ENVIRONMENTS = "FOCUSED_PR_ENVIRONMENTS"
    NEW_STRIPE_WEBHOOK_VERSION_ROLLOUT = "NEW_STRIPE_WEBHOOK_VERSION_ROLLOUT"
    OAUTH_DCR_KILLSWITCH = "OAUTH_DCR_KILLSWITCH"
    OAUTH_DEVICE_FLOW_KILLSWITCH = "OAUTH_DEVICE_FLOW_KILLSWITCH"
    SERVICEINSTANCE_DATALOADER_FOR_STATIC_URL = "SERVICEINSTANCE_DATALOADER_FOR_STATIC_URL"
    SPLIT_USAGE_QUERIES = "SPLIT_USAGE_QUERIES"
    UNIFIED_SNAPSHOT_AND_BUILD = "UNIFIED_SNAPSHOT_AND_BUILD"
    UNIFIED_SNAPSHOT_AND_BUILD_HOBBY = "UNIFIED_SNAPSHOT_AND_BUILD_HOBBY"
    UPDATED_VM_QUERIES = "UPDATED_VM_QUERIES"
    USE_CLICKHOUSE_METRICS = "USE_CLICKHOUSE_METRICS"
    USE_GH_WEBHOOKS_FOR_CHANGE_DETECTION = "USE_GH_WEBHOOKS_FOR_CHANGE_DETECTION"
    VM_TIME_RANGE_QUERY = "VM_TIME_RANGE_QUERY"


class PlatformFeatureFlagType(str, Enum):
    BOOLEAN = "BOOLEAN"
    PERCENTAGE = "PERCENTAGE"


class PluginStatus(str, Enum):
    DEPRECATED = "DEPRECATED"
    LOCKED = "LOCKED"
    REMOVED = "REMOVED"
    RUNNING = "RUNNING"
    STOPPED = "STOPPED"


class PluginType(str, Enum):
    mongodb = "mongodb"
    mysql = "mysql"
    postgresql = "postgresql"
    redis = "redis"


class PrivateNetworkEndpointSyncStatus(str, Enum):
    ACTIVE = "ACTIVE"
    CREATING = "CREATING"
    DELETED = "DELETED"
    DELETING = "DELETING"
    UNSPECIFIED = "UNSPECIFIED"
    UPDATING = "UPDATING"


class ProjectRole(str, Enum):
    ADMIN = "ADMIN"
    MEMBER = "MEMBER"
    VIEWER = "VIEWER"


class ProjectUsageProperty(str, Enum):
    BACKUP_USAGE = "BACKUP_USAGE"
    CPU_USAGE = "CPU_USAGE"
    CURRENT_USAGE = "CURRENT_USAGE"
    DISK_USAGE = "DISK_USAGE"
    ESTIMATED_USAGE = "ESTIMATED_USAGE"
    MEMORY_USAGE = "MEMORY_USAGE"
    NETWORK_USAGE = "NETWORK_USAGE"


class PublicRuntime(str, Enum):
    LEGACY = "LEGACY"
    UNSPECIFIED = "UNSPECIFIED"
    V2 = "V2"


class ReferralStatus(str, Enum):
    REFEREE_CREDITED = "REFEREE_CREDITED"
    REFERRER_CREDITED = "REFERRER_CREDITED"
    REGISTERED = "REGISTERED"


class RegistrationStatus(str, Enum):
    ONBOARDED = "ONBOARDED"
    REGISTERED = "REGISTERED"
    WAITLISTED = "WAITLISTED"


class ReplicateVolumeInstanceSnapshotStatus(str, Enum):
    COMPLETED = "COMPLETED"
    FAILED = "FAILED"
    INITIATED = "INITIATED"
    TRANSFERRING = "TRANSFERRING"
    UNRECOGNIZED = "UNRECOGNIZED"


class ReplicateVolumeInstanceStatus(str, Enum):
    """The status of a volume instance replication"""
    COMPLETED = "COMPLETED"
    ERROR = "ERROR"
    QUEUED = "QUEUED"
    TRANSFERRING_OFFLINE = "TRANSFERRING_OFFLINE"
    TRANSFERRING_ONLINE = "TRANSFERRING_ONLINE"


class ResourceOwnerType(str, Enum):
    WORKSPACE = "WORKSPACE"


class RestartPolicyType(str, Enum):
    ALWAYS = "ALWAYS"
    NEVER = "NEVER"
    ON_FAILURE = "ON_FAILURE"


class ServiceDomainSyncStatus(str, Enum):
    ACTIVE = "ACTIVE"
    CREATING = "CREATING"
    DELETED = "DELETED"
    DELETING = "DELETING"
    UNSPECIFIED = "UNSPECIFIED"
    UPDATING = "UPDATING"


class SessionType(str, Enum):
    BROWSER = "BROWSER"
    CLI = "CLI"
    FORUMS = "FORUMS"


class SortOrder(str, Enum):
    asc = "asc"
    desc = "desc"


class SubscriptionModel(str, Enum):
    FREE = "FREE"
    TEAM = "TEAM"
    USER = "USER"


class SubscriptionPlanType(str, Enum):
    free = "free"
    hobby = "hobby"
    pro = "pro"
    trial = "trial"


class SubscriptionState(str, Enum):
    ACTIVE = "ACTIVE"
    CANCELLED = "CANCELLED"
    INACTIVE = "INACTIVE"
    PAST_DUE = "PAST_DUE"
    UNPAID = "UNPAID"


class SupportTierOverride(str, Enum):
    BUSINESS_CLASS = "BUSINESS_CLASS"
    BUSINESS_CLASS_TRIAL = "BUSINESS_CLASS_TRIAL"


class TCPProxySyncStatus(str, Enum):
    ACTIVE = "ACTIVE"
    CREATING = "CREATING"
    DELETED = "DELETED"
    DELETING = "DELETING"
    UNSPECIFIED = "UNSPECIFIED"
    UPDATING = "UPDATING"


class TeamRole(str, Enum):
    ADMIN = "ADMIN"
    MEMBER = "MEMBER"
    VIEWER = "VIEWER"


class TemplateStatus(str, Enum):
    HIDDEN = "HIDDEN"
    PUBLISHED = "PUBLISHED"
    UNPUBLISHED = "UNPUBLISHED"


class TrustedDomainStatus(str, Enum):
    FAILED = "FAILED"
    PENDING = "PENDING"
    VERIFIED = "VERIFIED"


class TwoFactorMethodCompliance(str, Enum):
    AUTHENTICATOR = "AUTHENTICATOR"
    PASSKEY = "PASSKEY"


class TwoFactorMethodProjectWorkspace(str, Enum):
    AUTHENTICATOR = "AUTHENTICATOR"
    PASSKEY = "PASSKEY"


class UserFlag(str, Enum):
    BETA = "BETA"


class VolumeInstanceBackupScheduleKind(str, Enum):
    DAILY = "DAILY"
    MONTHLY = "MONTHLY"
    WEEKLY = "WEEKLY"


class VolumeState(str, Enum):
    DELETED = "DELETED"
    DELETING = "DELETING"
    ERROR = "ERROR"
    MIGRATING = "MIGRATING"
    MIGRATION_PENDING = "MIGRATION_PENDING"
    READY = "READY"
    RESTORING = "RESTORING"
    UPDATING = "UPDATING"


class WithdrawalPlatformTypes(str, Enum):
    BMAC = "BMAC"
    GITHUB = "GITHUB"
    PAYPAL = "PAYPAL"
    STRIPE_CONNECT = "STRIPE_CONNECT"


class WorkflowStatus(str, Enum):
    Complete = "Complete"
    Error = "Error"
    NotFound = "NotFound"
    Running = "Running"


class WorkspaceIdPConnectionStatus(str, Enum):
    ACTIVE = "ACTIVE"
    DRAFT = "DRAFT"
    INACTIVE = "INACTIVE"
    PENDING = "PENDING"
    VALIDATING = "VALIDATING"


class WorkspacePolicyName(str, Enum):
    RESTRICT_PUBLIC_TCP_PROXIES = "RESTRICT_PUBLIC_TCP_PROXIES"
    RESTRICT_RAILWAY_DOMAIN_GENERATION = "RESTRICT_RAILWAY_DOMAIN_GENERATION"

