from sqlalchemy import Column, String, DECIMAL, Boolean, BigInteger, Index from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class O11yCost(Base): __tablename__ = 'o11y_cost' provider = Column(String(64), primary_key=True, nullable=False) region = Column(String(64), primary_key=True, nullable=False) cloud_service = Column(String(255), primary_key=True, nullable=False) inner_cloud_service = Column(String(255), primary_key=True) fixed_cost = Column(Boolean, primary_key=True) timestamp = Column(BigInteger, primary_key=True, nullable=False) cost = Column(DECIMAL(10, 2), nullable=False) __table_args__ = ( Index('idx_provider', 'provider'), Index('idx_region', 'region'), Index('idx_cloud_service', 'cloud_service'), Index('idx_fixed_cost', 'fixed_cost'), ) class O11yCostSavingPlan(Base): __tablename__ = 'o11y_cost_saving_plan' provider = Column(String(64), primary_key=True, nullable=False) region = Column(String(64), primary_key=True, nullable=False) cloud_service = Column(String(255), primary_key=True, nullable=False) inner_cloud_service = Column(String(255), primary_key=True) fixed_cost = Column(Boolean, primary_key=True) timestamp = Column(BigInteger, primary_key=True, nullable=False) cost = Column(DECIMAL(10, 2), nullable=False) __table_args__ = ( Index('idx_provider', 'provider'), Index('idx_region', 'region'), Index('idx_cloud_service', 'cloud_service'), Index('idx_fixed_cost', 'fixed_cost'), )