mirror of
https://github.com/kennethreitz/neon-api-python.git
synced 2026-06-05 22:50:18 +00:00
764 lines
15 KiB
Python
764 lines
15 KiB
Python
# generated by datamodel-codegen:
|
|
# filename: v2.json
|
|
# timestamp: 2024-01-31T14:58:13+00:00
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
from datetime import datetime
|
|
from enum import Enum
|
|
from typing import Optional
|
|
|
|
from pydantic.dataclasses import dataclass
|
|
|
|
|
|
class Provisioner(Enum):
|
|
k8s_pod = 'k8s-pod'
|
|
k8s_neonvm = 'k8s-neonvm'
|
|
|
|
|
|
@dataclass
|
|
class Pagination:
|
|
cursor: str
|
|
|
|
|
|
@dataclass
|
|
class EmptyResponse:
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class ApiKeyCreateRequest:
|
|
key_name: str
|
|
|
|
|
|
@dataclass
|
|
class ApiKeyCreateResponse:
|
|
id: int
|
|
key: str
|
|
name: str
|
|
created_at: str
|
|
|
|
|
|
@dataclass
|
|
class ApiKeyRevokeResponse:
|
|
id: int
|
|
name: str
|
|
revoked: bool
|
|
last_used_from_addr: str
|
|
last_used_at: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class ApiKeysListResponseItem:
|
|
id: int
|
|
name: str
|
|
created_at: str
|
|
last_used_from_addr: str
|
|
last_used_at: Optional[str] = None
|
|
|
|
|
|
class OperationAction(Enum):
|
|
create_compute = 'create_compute'
|
|
create_timeline = 'create_timeline'
|
|
start_compute = 'start_compute'
|
|
suspend_compute = 'suspend_compute'
|
|
apply_config = 'apply_config'
|
|
check_availability = 'check_availability'
|
|
delete_timeline = 'delete_timeline'
|
|
create_branch = 'create_branch'
|
|
tenant_ignore = 'tenant_ignore'
|
|
tenant_attach = 'tenant_attach'
|
|
tenant_detach = 'tenant_detach'
|
|
tenant_reattach = 'tenant_reattach'
|
|
replace_safekeeper = 'replace_safekeeper'
|
|
disable_maintenance = 'disable_maintenance'
|
|
apply_storage_config = 'apply_storage_config'
|
|
|
|
|
|
class OperationStatus(Enum):
|
|
running = 'running'
|
|
finished = 'finished'
|
|
failed = 'failed'
|
|
scheduling = 'scheduling'
|
|
|
|
|
|
@dataclass
|
|
class Branch:
|
|
name: Optional[str] = None
|
|
role_name: Optional[str] = None
|
|
database_name: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class ProjectPermission:
|
|
id: str
|
|
granted_to_email: str
|
|
granted_at: str
|
|
revoked_at: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class ProjectPermissions:
|
|
project_permissions: list[ProjectPermission]
|
|
|
|
|
|
@dataclass
|
|
class GrantPermissionToProjectRequest:
|
|
email: str
|
|
|
|
|
|
@dataclass
|
|
class ProjectConsumption:
|
|
project_id: str
|
|
period_id: str
|
|
data_storage_bytes_hour: int
|
|
synthetic_storage_size: int
|
|
data_transfer_bytes: int
|
|
written_data_bytes: int
|
|
compute_time_seconds: int
|
|
active_time_seconds: int
|
|
updated_at: str
|
|
period_start: str
|
|
period_end: str
|
|
previous_period_id: str
|
|
data_storage_bytes_hour_updated_at: Optional[str] = None
|
|
synthetic_storage_size_updated_at: Optional[str] = None
|
|
data_transfer_bytes_updated_at: Optional[str] = None
|
|
written_data_bytes_updated_at: Optional[str] = None
|
|
compute_time_seconds_updated_at: Optional[str] = None
|
|
active_time_seconds_updated_at: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class Limits:
|
|
active_time: int
|
|
max_projects: int
|
|
max_branches: int
|
|
max_autoscaling_cu: float
|
|
cpu_seconds: int
|
|
max_active_endpoints: int
|
|
max_read_only_endpoints: int
|
|
max_allowed_ips: int
|
|
|
|
|
|
@dataclass
|
|
class ProjectLimits:
|
|
limits: Limits
|
|
|
|
|
|
class BranchState(Enum):
|
|
init = 'init'
|
|
ready = 'ready'
|
|
|
|
|
|
@dataclass
|
|
class Branch2:
|
|
parent_id: Optional[str] = None
|
|
name: Optional[str] = None
|
|
parent_lsn: Optional[str] = None
|
|
parent_timestamp: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class Branch3:
|
|
name: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class BranchUpdateRequest:
|
|
branch: Branch3
|
|
|
|
|
|
@dataclass
|
|
class ConnectionParameters:
|
|
database: str
|
|
password: str
|
|
role: str
|
|
host: str
|
|
pooler_host: str
|
|
|
|
|
|
@dataclass
|
|
class ConnectionDetails:
|
|
connection_uri: str
|
|
connection_parameters: ConnectionParameters
|
|
|
|
|
|
class EndpointState(Enum):
|
|
init = 'init'
|
|
active = 'active'
|
|
idle = 'idle'
|
|
|
|
|
|
class EndpointType(Enum):
|
|
read_only = 'read_only'
|
|
read_write = 'read_write'
|
|
|
|
|
|
class EndpointPoolerMode(Enum):
|
|
transaction = 'transaction'
|
|
|
|
|
|
@dataclass
|
|
class AllowedIps:
|
|
primary_branch_only: bool
|
|
ips: Optional[list[str]] = None
|
|
|
|
|
|
@dataclass
|
|
class ConnectionURIsResponse:
|
|
connection_uris: list[ConnectionDetails]
|
|
|
|
|
|
@dataclass
|
|
class ConnectionURIsOptionalResponse:
|
|
connection_uris: Optional[list[ConnectionDetails]] = None
|
|
|
|
|
|
@dataclass
|
|
class EndpointPasswordlessSessionAuthRequest:
|
|
session_id: str
|
|
|
|
|
|
Duration = int
|
|
|
|
|
|
@dataclass
|
|
class StatementData:
|
|
truncated: bool
|
|
fields: Optional[list[str]] = None
|
|
rows: Optional[list[list[str]]] = None
|
|
|
|
|
|
@dataclass
|
|
class ExplainData:
|
|
QUERY_PLAN: str
|
|
|
|
|
|
@dataclass
|
|
class Role:
|
|
branch_id: str
|
|
name: str
|
|
created_at: str
|
|
updated_at: str
|
|
password: Optional[str] = None
|
|
protected: Optional[bool] = None
|
|
|
|
|
|
@dataclass
|
|
class Role1:
|
|
name: str
|
|
|
|
|
|
@dataclass
|
|
class RoleCreateRequest:
|
|
role: Role1
|
|
|
|
|
|
@dataclass
|
|
class RoleResponse:
|
|
role: Role
|
|
|
|
|
|
@dataclass
|
|
class RolesResponse:
|
|
roles: list[Role]
|
|
|
|
|
|
@dataclass
|
|
class RolePasswordResponse:
|
|
password: str
|
|
|
|
|
|
class Brand(Enum):
|
|
amex = 'amex'
|
|
diners = 'diners'
|
|
discover = 'discover'
|
|
jcb = 'jcb'
|
|
mastercard = 'mastercard'
|
|
unionpay = 'unionpay'
|
|
unknown = 'unknown'
|
|
visa = 'visa'
|
|
|
|
|
|
@dataclass
|
|
class PaymentSourceBankCard:
|
|
last4: str
|
|
brand: Optional[Brand] = None
|
|
exp_month: Optional[int] = None
|
|
exp_year: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class PaymentSource:
|
|
type: str
|
|
card: Optional[PaymentSourceBankCard] = None
|
|
|
|
|
|
@dataclass
|
|
class BillingAccount1:
|
|
email: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class BillingAccountUpdateRequest:
|
|
billing_account: BillingAccount1
|
|
|
|
|
|
class BillingSubscriptionType(Enum):
|
|
UNKNOWN = 'UNKNOWN'
|
|
free = 'free'
|
|
pro = 'pro'
|
|
direct_sales = 'direct_sales'
|
|
aws_marketplace = 'aws_marketplace'
|
|
free_v2 = 'free_v2'
|
|
launch = 'launch'
|
|
scale = 'scale'
|
|
|
|
|
|
@dataclass
|
|
class Database:
|
|
id: int
|
|
branch_id: str
|
|
name: str
|
|
owner_name: str
|
|
created_at: str
|
|
updated_at: str
|
|
|
|
|
|
@dataclass
|
|
class Database1:
|
|
name: str
|
|
owner_name: str
|
|
|
|
|
|
@dataclass
|
|
class DatabaseCreateRequest:
|
|
database: Database1
|
|
|
|
|
|
@dataclass
|
|
class Database2:
|
|
name: Optional[str] = None
|
|
owner_name: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class DatabaseUpdateRequest:
|
|
database: Database2
|
|
|
|
|
|
@dataclass
|
|
class DatabaseResponse:
|
|
database: Database
|
|
|
|
|
|
@dataclass
|
|
class DatabasesResponse:
|
|
databases: list[Database]
|
|
|
|
|
|
@dataclass
|
|
class CurrentUserAuthAccount:
|
|
email: str
|
|
image: str
|
|
login: str
|
|
name: str
|
|
provider: str
|
|
|
|
|
|
@dataclass
|
|
class UpdateUserInfoRequest:
|
|
email: str
|
|
id: str
|
|
image: Optional[str] = None
|
|
first_name: Optional[str] = None
|
|
last_name: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class ProjectQuota:
|
|
active_time_seconds: Optional[int] = None
|
|
compute_time_seconds: Optional[int] = None
|
|
written_data_bytes: Optional[int] = None
|
|
data_transfer_bytes: Optional[int] = None
|
|
logical_size_bytes: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class HealthCheck:
|
|
status: str
|
|
|
|
|
|
@dataclass
|
|
class ProjectOwnerData:
|
|
email: str
|
|
branches_limit: int
|
|
subscription_type: BillingSubscriptionType
|
|
|
|
|
|
class SupportTicketSeverity(Enum):
|
|
low = 'low'
|
|
normal = 'normal'
|
|
high = 'high'
|
|
critical = 'critical'
|
|
|
|
|
|
@dataclass
|
|
class PaginationResponse:
|
|
pagination: Optional[Pagination] = None
|
|
|
|
|
|
@dataclass
|
|
class Operation:
|
|
id: str
|
|
project_id: str
|
|
action: OperationAction
|
|
status: OperationStatus
|
|
failures_count: int
|
|
created_at: str
|
|
updated_at: str
|
|
total_duration_ms: int
|
|
branch_id: Optional[str] = None
|
|
endpoint_id: Optional[str] = None
|
|
error: Optional[str] = None
|
|
retry_at: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class OperationResponse:
|
|
operation: Operation
|
|
|
|
|
|
@dataclass
|
|
class OperationsResponse:
|
|
operations: list[Operation]
|
|
|
|
|
|
@dataclass
|
|
class ProjectSettingsData:
|
|
quota: Optional[ProjectQuota] = None
|
|
allowed_ips: Optional[AllowedIps] = None
|
|
enable_logical_replication: Optional[bool] = None
|
|
|
|
|
|
@dataclass
|
|
class ProjectsConsumptionResponse:
|
|
projects: list[ProjectConsumption]
|
|
periods_in_response: int
|
|
|
|
|
|
@dataclass
|
|
class Branch1:
|
|
id: str
|
|
project_id: str
|
|
name: str
|
|
current_state: BranchState
|
|
creation_source: str
|
|
primary: bool
|
|
cpu_used_sec: int
|
|
compute_time_seconds: int
|
|
active_time_seconds: int
|
|
written_data_bytes: int
|
|
data_transfer_bytes: int
|
|
created_at: str
|
|
updated_at: str
|
|
parent_id: Optional[str] = None
|
|
parent_lsn: Optional[str] = None
|
|
parent_timestamp: Optional[str] = None
|
|
pending_state: Optional[BranchState] = None
|
|
logical_size: Optional[int] = None
|
|
last_reset_at: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class BranchCreateRequestEndpointOptions:
|
|
type: EndpointType
|
|
autoscaling_limit_min_cu: Optional[float] = None
|
|
autoscaling_limit_max_cu: Optional[float] = None
|
|
provisioner: Optional[Provisioner] = None
|
|
suspend_timeout_seconds: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class BranchCreateRequest:
|
|
endpoints: Optional[list[BranchCreateRequestEndpointOptions]] = None
|
|
branch: Optional[Branch2] = None
|
|
|
|
|
|
@dataclass
|
|
class BranchResponse:
|
|
branch: Branch1
|
|
|
|
|
|
@dataclass
|
|
class BranchesResponse:
|
|
branches: list[Branch1]
|
|
|
|
|
|
@dataclass
|
|
class StatementResult:
|
|
query: str
|
|
data: Optional[StatementData] = None
|
|
error: Optional[str] = None
|
|
explain_data: Optional[list[ExplainData]] = None
|
|
|
|
|
|
@dataclass
|
|
class BillingAccount:
|
|
payment_source: PaymentSource
|
|
subscription_type: BillingSubscriptionType
|
|
quota_reset_at_last: str
|
|
email: str
|
|
address_city: str
|
|
address_country: str
|
|
address_line1: str
|
|
address_line2: str
|
|
address_postal_code: str
|
|
address_state: str
|
|
orb_portal_url: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class BillingAccountResponse:
|
|
billing_account: BillingAccount
|
|
|
|
|
|
@dataclass
|
|
class CurrentUserInfoResponse:
|
|
active_seconds_limit: int
|
|
billing_account: BillingAccount
|
|
auth_accounts: list[CurrentUserAuthAccount]
|
|
email: str
|
|
id: str
|
|
image: str
|
|
login: str
|
|
name: str
|
|
last_name: str
|
|
projects_limit: int
|
|
branches_limit: int
|
|
max_autoscaling_limit: float
|
|
plan: str
|
|
compute_seconds_limit: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class EndpointSettingsData:
|
|
pg_settings: Optional[dict[str, str]] = None
|
|
pgbouncer_settings: Optional[dict[str, str]] = None
|
|
|
|
|
|
@dataclass
|
|
class DefaultEndpointSettings:
|
|
pg_settings: Optional[dict[str, str]] = None
|
|
pgbouncer_settings: Optional[dict[str, str]] = None
|
|
autoscaling_limit_min_cu: Optional[float] = None
|
|
autoscaling_limit_max_cu: Optional[float] = None
|
|
suspend_timeout_seconds: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class GeneralError:
|
|
code: str
|
|
message: str
|
|
|
|
|
|
@dataclass
|
|
class BranchOperations(BranchResponse, OperationsResponse):
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class DatabaseOperations(DatabaseResponse, OperationsResponse):
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class RoleOperations(RoleResponse, OperationsResponse):
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class ProjectListItem:
|
|
id: str
|
|
platform_id: str
|
|
region_id: str
|
|
name: str
|
|
provisioner: Provisioner
|
|
pg_version: int
|
|
proxy_host: str
|
|
branch_logical_size_limit: int
|
|
branch_logical_size_limit_bytes: int
|
|
store_passwords: bool
|
|
active_time: int
|
|
cpu_used_sec: int
|
|
creation_source: str
|
|
created_at: str
|
|
updated_at: str
|
|
owner_id: str
|
|
default_endpoint_settings: Optional[DefaultEndpointSettings] = None
|
|
settings: Optional[ProjectSettingsData] = None
|
|
maintenance_starts_at: Optional[str] = None
|
|
synthetic_storage_size: Optional[int] = None
|
|
quota_reset_at: Optional[str] = None
|
|
compute_last_active_at: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class Project:
|
|
data_storage_bytes_hour: int
|
|
data_transfer_bytes: int
|
|
written_data_bytes: int
|
|
compute_time_seconds: int
|
|
active_time_seconds: int
|
|
cpu_used_sec: int
|
|
id: str
|
|
platform_id: str
|
|
region_id: str
|
|
name: str
|
|
provisioner: Provisioner
|
|
pg_version: int
|
|
proxy_host: str
|
|
branch_logical_size_limit: int
|
|
branch_logical_size_limit_bytes: int
|
|
store_passwords: bool
|
|
creation_source: str
|
|
history_retention_seconds: int
|
|
created_at: str
|
|
updated_at: str
|
|
consumption_period_start: str
|
|
consumption_period_end: str
|
|
owner_id: str
|
|
default_endpoint_settings: Optional[DefaultEndpointSettings] = None
|
|
settings: Optional[ProjectSettingsData] = None
|
|
maintenance_starts_at: Optional[str] = None
|
|
synthetic_storage_size: Optional[int] = None
|
|
quota_reset_at: Optional[str] = None
|
|
owner: Optional[ProjectOwnerData] = None
|
|
compute_last_active_at: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class Project1:
|
|
settings: Optional[ProjectSettingsData] = None
|
|
name: Optional[str] = None
|
|
branch: Optional[Branch] = None
|
|
autoscaling_limit_min_cu: Optional[float] = None
|
|
autoscaling_limit_max_cu: Optional[float] = None
|
|
provisioner: Optional[Provisioner] = None
|
|
region_id: Optional[str] = None
|
|
default_endpoint_settings: Optional[DefaultEndpointSettings] = None
|
|
pg_version: Optional[int] = None
|
|
store_passwords: Optional[bool] = None
|
|
history_retention_seconds: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class ProjectCreateRequest:
|
|
project: Project1
|
|
|
|
|
|
@dataclass
|
|
class Project2:
|
|
settings: Optional[ProjectSettingsData] = None
|
|
name: Optional[str] = None
|
|
default_endpoint_settings: Optional[DefaultEndpointSettings] = None
|
|
history_retention_seconds: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class ProjectUpdateRequest:
|
|
project: Project2
|
|
|
|
|
|
@dataclass
|
|
class ProjectResponse:
|
|
project: Project
|
|
|
|
|
|
@dataclass
|
|
class ProjectsResponse:
|
|
projects: list[ProjectListItem]
|
|
|
|
|
|
@dataclass
|
|
class Endpoint:
|
|
host: str
|
|
id: str
|
|
project_id: str
|
|
branch_id: str
|
|
autoscaling_limit_min_cu: float
|
|
autoscaling_limit_max_cu: float
|
|
region_id: str
|
|
type: EndpointType
|
|
current_state: EndpointState
|
|
settings: EndpointSettingsData
|
|
pooler_enabled: bool
|
|
pooler_mode: EndpointPoolerMode
|
|
disabled: bool
|
|
passwordless_access: bool
|
|
creation_source: str
|
|
created_at: str
|
|
updated_at: str
|
|
proxy_host: str
|
|
suspend_timeout_seconds: int
|
|
provisioner: Provisioner
|
|
pending_state: Optional[EndpointState] = None
|
|
last_active: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class Endpoint1:
|
|
branch_id: str
|
|
type: EndpointType
|
|
region_id: Optional[str] = None
|
|
settings: Optional[EndpointSettingsData] = None
|
|
autoscaling_limit_min_cu: Optional[float] = None
|
|
autoscaling_limit_max_cu: Optional[float] = None
|
|
provisioner: Optional[Provisioner] = None
|
|
pooler_enabled: Optional[bool] = None
|
|
pooler_mode: Optional[EndpointPoolerMode] = None
|
|
disabled: Optional[bool] = None
|
|
passwordless_access: Optional[bool] = None
|
|
suspend_timeout_seconds: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class EndpointCreateRequest:
|
|
endpoint: Endpoint1
|
|
|
|
|
|
@dataclass
|
|
class Endpoint2:
|
|
branch_id: Optional[str] = None
|
|
autoscaling_limit_min_cu: Optional[float] = None
|
|
autoscaling_limit_max_cu: Optional[float] = None
|
|
provisioner: Optional[Provisioner] = None
|
|
settings: Optional[EndpointSettingsData] = None
|
|
pooler_enabled: Optional[bool] = None
|
|
pooler_mode: Optional[EndpointPoolerMode] = None
|
|
disabled: Optional[bool] = None
|
|
passwordless_access: Optional[bool] = None
|
|
suspend_timeout_seconds: Optional[int] = None
|
|
|
|
|
|
@dataclass
|
|
class EndpointUpdateRequest:
|
|
endpoint: Endpoint2
|
|
|
|
|
|
@dataclass
|
|
class EndpointResponse:
|
|
endpoint: Endpoint
|
|
|
|
|
|
@dataclass
|
|
class EndpointsResponse:
|
|
endpoints: list[Endpoint]
|
|
|
|
|
|
@dataclass
|
|
class EndpointOperations(EndpointResponse, OperationsResponse):
|
|
pass
|