feat(cloud): add edge host enrollment
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from sqlalchemy import Integer, String, Text, text
|
||||
from sqlalchemy import Index, Integer, String, Text, UniqueConstraint, text
|
||||
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
|
||||
|
||||
|
||||
@@ -10,10 +10,60 @@ class Base(DeclarativeBase):
|
||||
|
||||
class HostRow(Base):
|
||||
__tablename__ = "host_registrations"
|
||||
__table_args__ = (
|
||||
UniqueConstraint(
|
||||
"agent_instance_id",
|
||||
name="uq_host_registrations_agent_instance_id",
|
||||
),
|
||||
UniqueConstraint(
|
||||
"credential_digest",
|
||||
name="uq_host_registrations_credential_digest",
|
||||
),
|
||||
UniqueConstraint(
|
||||
"enrollment_token_digest",
|
||||
name="uq_host_registrations_enrollment_token_digest",
|
||||
),
|
||||
)
|
||||
|
||||
host_id: Mapped[str] = mapped_column(String, primary_key=True)
|
||||
address: Mapped[str | None] = mapped_column(String, nullable=True)
|
||||
last_seen_at: Mapped[str] = mapped_column(String, nullable=False)
|
||||
agent_instance_id: Mapped[str | None] = mapped_column(
|
||||
String,
|
||||
nullable=True,
|
||||
)
|
||||
credential_digest: Mapped[str | None] = mapped_column(
|
||||
String,
|
||||
nullable=True,
|
||||
)
|
||||
enrollment_token_digest: Mapped[str | None] = mapped_column(
|
||||
String,
|
||||
nullable=True,
|
||||
)
|
||||
display_name: Mapped[str | None] = mapped_column(String, nullable=True)
|
||||
enrolled_at: Mapped[str | None] = mapped_column(String, nullable=True)
|
||||
revoked_at: Mapped[str | None] = mapped_column(String, nullable=True)
|
||||
|
||||
|
||||
class DeviceEnrollmentRow(Base):
|
||||
__tablename__ = "device_enrollments"
|
||||
__table_args__ = (
|
||||
UniqueConstraint(
|
||||
"host_id",
|
||||
"local_device_id",
|
||||
name="uq_device_enrollments_host_local",
|
||||
),
|
||||
Index("ix_device_enrollments_host_id", "host_id"),
|
||||
)
|
||||
|
||||
device_id: Mapped[str] = mapped_column(String, primary_key=True)
|
||||
host_id: Mapped[str] = mapped_column(String, nullable=False)
|
||||
local_device_id: Mapped[str] = mapped_column(String, nullable=False)
|
||||
driver_type: Mapped[str] = mapped_column(String, nullable=False)
|
||||
name: Mapped[str | None] = mapped_column(String, nullable=True)
|
||||
capability_tags_json: Mapped[str] = mapped_column(Text, nullable=False)
|
||||
enrolled_at: Mapped[str] = mapped_column(String, nullable=False)
|
||||
revoked_at: Mapped[str | None] = mapped_column(String, nullable=True)
|
||||
|
||||
|
||||
class PooledDeviceRow(Base):
|
||||
|
||||
Reference in New Issue
Block a user