db_v1_tables - OmniCloudOrg/OmniOrchestrator GitHub Wiki

tables (src/db/v1)

Path: src/db/v1/tables.rs

Table of Contents

Public Items

struct User

Definition

pub struct User {
    pub id: i64,
    pub email: String,
    pub email_verified: i8,
    pub password: String,
    pub salt: String,
    pub login_attempts: i64,
    pub active: bool,
    pub status: String,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
    pub last_login_at: Option<DateTime<Utc>>,
}

struct UserMeta

Definition

pub struct UserMeta {
    pub id: i64,
    pub user_id: i64,
    pub timezone: Option<String>,
    pub language: Option<String>,
    pub theme: Option<String>,
    pub notification_preferences: Option<serde_json::Value>,
    pub profile_image: Option<String>,
    pub dashboard_layout: Option<serde_json::Value>,
    pub onboarding_completed: i8,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}

struct UserPii

Definition

pub struct UserPii {
    pub id: i64,
    pub user_id: i64,
    pub first_name: Option<String>,
    pub last_name: Option<String>,
    pub full_name: Option<String>,
    pub identity_verified: i8,
    pub identity_verification_date: Option<DateTime<Utc>>,
    pub identity_verification_method: Option<String>,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}

struct UserSession

Definition

pub struct UserSession {
    pub id: i64,
    pub user_id: i64,
    pub session_token: String,
    pub refresh_token: Option<String>,
    pub ip_address: Option<String>,
    pub user_agent: Option<String>,
    pub device_info: Option<serde_json::Value>,
    pub location_info: Option<serde_json::Value>,
    pub is_active: i8,
    pub last_activity: Option<DateTime<Utc>>,
    pub expires_at: DateTime<Utc>,
    pub created_at: DateTime<Utc>,
}

struct App

Definition

pub struct App {
    pub id: i64,
    pub name: String,
    pub org_id: i64,
    pub git_repo: Option<String>,
    pub region_id: Option<i64>,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
    pub git_branch: Option<String>,
    pub maintenance_mode: bool,
    pub container_image_url: Option<String>,
}

struct AppWithInstanceCount

Definition

pub struct AppWithInstanceCount {
    #[serde(flatten)]
    app_data: App,
    instance_count: i64,
}

struct AppWithInstances

Definition

pub struct AppWithInstances {
    #[serde(flatten)]
    pub app: App,
    pub instances: Vec<Instance>,
}

struct Org

Definition

pub struct Org {
    pub id: i64,
    pub name: String,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}

struct Region

Definition

pub struct Region {
    pub id: i64,
    pub name: String,
    pub provider: i64, // enum in DB: 'kubernetes' or 'custom'
    pub created_at: DateTime<Utc>,
}

struct Provider

Definition

pub struct Provider {
    pub id: i64,
    pub name: String,
    pub display_name: String,
    pub provider_type: String, // enum in DB: 'kubernetes' or 'custom'
    pub status: String, // enum in DB: 'active', 'inactive', 'maintenance'
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}

struct ProviderAuditLog

Definition

pub struct ProviderAuditLog {
    pub id: i64,
    pub provider_id: i64,
    pub action: String,
    pub details: Option<String>,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}

struct ProviderRegion

Definition

pub struct ProviderRegion {
    #[sqlx(flatten)]
    region: Region,
    provider_name: String,
    binding_status: String,
}

Documentation

List provider-regions. This function fetches all regions from the database, paired with their providers and their binding table data.

struct Role

Definition

pub struct Role {
    pub id: i64,
    pub name: String,
    pub created_at: DateTime<Utc>,
    pub description: Option<String>,
}

struct Permission

Definition

pub struct Permission {
    pub id: i64,
    pub name: String,
    pub created_at: DateTime<Utc>,
    pub description: Option<String>,
    pub resource_type: Option<String>,
}

struct Build

Definition

pub struct Build {
    pub id: i64,
    pub app_id: i64,
    pub source_version: Option<String>,
    pub commit_sha: Option<String>,
    pub commit_message: Option<String>,
    pub author: Option<String>,
    pub status: String, // enum: 'pending', 'building', 'succeeded', 'failed', 'canceled'
    pub build_pack_used: Option<String>,
    pub build_pack_url: Option<String>,
    pub build_pack_version: Option<String>,
    pub build_image: Option<String>,
    pub build_arguments: Option<serde_json::Value>,
    pub build_environment: Option<serde_json::Value>,
    pub build_cache_key: Option<String>,
    pub log_url: Option<String>,
    pub artifact_url: Option<String>,
    pub artifact_checksum: Option<String>,
    pub artifact_size: Option<i64>,
    pub error_message: Option<String>,
    pub started_at: Option<DateTime<Utc>>,
    pub completed_at: Option<DateTime<Utc>>,
    pub build_duration: Option<i32>, // in seconds
    pub created_at: DateTime<Utc>,
}

struct Metric

Definition

pub struct Metric {
    pub id: i64,
    pub app_id: Option<i64>,
    pub metric_name: String,
    pub metric_value: f64,
    pub labels: Option<JsonValue>,
    pub timestamp: Option<NaiveDateTime>,
}

struct Deployment

Definition

pub struct Deployment {
    pub id: i64,
    pub status: String, // enum: 'pending', 'in_progress', 'deployed', 'failed'
    pub app_id: i64,
    pub build_id: i64,
    pub created_at: DateTime<Utc>,
    pub started_at: Option<DateTime<Utc>>,
    pub completed_at: Option<DateTime<Utc>>,
}

struct Instance

Definition

pub struct Instance {
    pub id: i64,
    pub app_id: i64,
    pub instance_type: String,
    pub guid: String,
    pub status: String, // enum: 'running', 'starting', 'stopping', 'stopped', 'crashed', 'terminated', 'unknown'
    pub region_id: i64,
    pub container_id: Option<String>,
    pub container_ip: Option<String>,
    pub allocation_id: Option<i64>,
    pub node_id: Option<i64>,
    pub instance_index: i32,
    pub last_health_check: Option<DateTime<Utc>>,
    pub health_status: String, // enum: 'healthy', 'unhealthy', 'unknown'
    pub cpu_usage: Option<f64>,
    pub memory_usage: Option<f64>,
    pub disk_usage: Option<f64>,
    pub uptime: Option<i32>,
    pub restart_count: Option<i32>,
    pub last_restart_reason: Option<String>,
    pub start_time: Option<DateTime<Utc>>,
    pub stop_time: Option<DateTime<Utc>>,
    pub exit_code: Option<i32>,
    pub exit_reason: Option<String>,
    pub scheduler_metadata: Option<serde_json::Value>,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}

struct StorageClass

Definition

pub struct StorageClass {
    pub id: i64,
    pub name: String,
    pub provisioner: String,
    pub reclaim_policy: String, // enum: 'Delete', 'Retain' TODO: @tristanpoland add recycle
    pub volume_binding_mode: String, // enum: 'Immediate', 'WaitForFirstConsumer'
    pub allow_volume_expansion: bool,
    pub storage_type: String, // 'local-disk', 'local-resilient', 'distributed', 'geo-replicated'
    pub default_filesystem: String, // enum: 'ext4', 'xfs', 'btrfs', 'zfs'
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}

struct StorageVolume

Definition

pub struct StorageVolume {
    pub id: i64,
    pub app_id: i64,
    pub name: String,
    pub size_gb: i64,
    pub storage_class: String,
    pub access_mode: String, // enum: 'ReadWriteOnce', 'ReadOnlyMany', 'ReadWriteMany'
    pub status: String, // enum: 'Provisioned', 'Bound', 'Mounted', 'Released', 'Deleting', 'Deleted'
    pub node_id: i64,
    pub encryption_enabled: bool,
    pub persistence_level: String, // enum: 'Basic', 'Enhanced', 'High', 'Maximum'
    pub write_concern: String, // enum: 'WriteAcknowledged', 'WriteDurable', 'WriteReplicated', 'WriteDistributed'
    pub reclaim_policy: String, // enum: 'Delete', 'Retain'
    pub filesystem_type: Option<String>,
    pub storage_class_id: i64,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
    pub snapshot_id: Option<i64>,
    pub mount_path: Option<String>,
}

struct StorageSnapshot

Definition

pub struct StorageSnapshot {
    pub id: i64,
    pub volume_id: i64,
    pub name: String,
    pub size_gb: i64,
    pub created_at: DateTime<Utc>,
    pub status: String, // enum: 'Creating', 'Available', 'Deleting', 'Deleted'
    pub description: Option<String>,
    pub retention_date: Option<DateTime<Utc>>,
}

struct StorageMigration

Definition

pub struct StorageMigration {
    pub id: i64,
    pub source_volume_id: i64,
    pub destination_volume_id: i64,
    pub migration_type: String, // enum: 'StorageClass', 'Node', 'Zone', 'Environment'
    pub status: String, // enum: 'Pending', 'Copying', 'Syncing', 'ReadyForCutover', 'Completed', 'Failed'
    pub progress_percent: i32,
    pub started_at: DateTime<Utc>,
    pub completed_at: Option<DateTime<Utc>>,
    pub is_online: bool,
    pub error_message: Option<String>,
    pub created_by: String,
}

struct StorageQosPolicy

Definition

pub struct StorageQosPolicy {
    pub id: i64,
    pub name: String,
    pub max_iops: Option<i32>,
    pub max_throughput_mbps: Option<i32>,
    pub burst_iops: Option<i32>,
    pub burst_duration_seconds: Option<i32>,
    pub latency_target_ms: Option<i32>,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>
}

struct VolumeQosPolicyAssignment

Definition

pub struct VolumeQosPolicyAssignment {
    pub volume_id: i64,
    pub policy_id: i64,
    pub assigned_at: DateTime<Utc>
}

struct UserNotification

Definition

pub struct UserNotification {
    pub id: i64,
    pub user_id: i64,
    pub org_id: Option<i64>,
    pub app_id: Option<i64>,
    pub notification_type: String,
    pub message: String,
    pub read_status: bool,
    pub importance: String,
    pub action_url: Option<String>,
    pub action_label: Option<String>,
    pub created_at: DateTime<Utc>,
    pub expires_at: Option<DateTime<Utc>>,
}

struct RoleNotification

Definition

pub struct RoleNotification {
    pub id: i64,
    pub role_id: i64,
    pub org_id: Option<i64>,
    pub app_id: Option<i64>,
    pub notification_type: String,
    pub message: String,
    pub importance: String,
    pub action_url: Option<String>,
    pub action_label: Option<String>,
    pub created_at: DateTime<Utc>,
    pub expires_at: Option<DateTime<Utc>>,
}

struct NotificationAcknowledgment

Definition

pub struct NotificationAcknowledgment {
    pub id: i64,
    pub user_id: i64,
    pub notification_id: Option<i64>,
    pub role_notification_id: Option<i64>,
    pub acknowledged_at: DateTime<Utc>
}

struct Alert

Definition

pub struct Alert {
    pub id: i64,
    pub alert_type: String,
    pub severity: String,
    pub service: String,
    pub message: String,
    pub timestamp: DateTime<Utc>,
    pub status: String,
    pub resolved_at: Option<DateTime<Utc>>,
    pub resolved_by: Option<i64>,
    pub metadata: Option<Json<HashMap<String, serde_json::Value>>>,
    pub org_id: Option<i64>,
    pub app_id: Option<i64>,
    pub instance_id: Option<i64>,
    pub region_id: Option<i64>,
    pub node_id: Option<i64>,
}

struct AlertAcknowledgment

Definition

pub struct AlertAcknowledgment {
    pub id: i64,
    pub alert_id: i64,
    pub user_id: i64,
    pub acknowledged_at: DateTime<Utc>,
    pub notes: Option<String>,
}

struct AlertEscalation

Definition

pub struct AlertEscalation {
    pub id: i64,
    pub alert_id: i64,
    pub escalation_level: i64,
    pub escalated_at: DateTime<Utc>,
    pub escalated_to: Json<serde_json::Value>,
    pub escalation_method: String,
    pub response_required_by: Option<DateTime<Utc>>,
}

struct AlertWithRelatedData

Definition

pub struct AlertWithRelatedData {
    /// The core alert data
    pub alert: Alert,
    /// List of all acknowledgments for this alert
    pub acknowledgments: Vec<AlertAcknowledgment>,
    /// List of all escalations for this alert
    pub escalations: Vec<AlertEscalation>,
    /// History of all actions taken on this alert
    pub history: Vec<AlertHistory>
}

Documentation

Represents an alert with all its related data (acknowledgments, escalations, and history). This comprehensive view is useful for detailed alert pages.

struct AlertWithAcknowledgments

Definition

pub struct AlertWithAcknowledgments {
    /// The core alert data
    pub alert: Alert,
    /// List of acknowledgments for this alert
    pub acknowledgments: Vec<AlertAcknowledgment>,
    /// Whether the alert has been acknowledged
    pub is_acknowledged: bool,
    /// Total number of acknowledgments
    pub acknowledgment_count: i64,
    /// Timestamp of the most recent acknowledgment, if any
    pub latest_acknowledgment: Option<chrono::DateTime<chrono::Utc>>,
}

Documentation

Represents an alert with its acknowledgment information. This is useful for displaying alerts with their acknowledgment status.

struct AlertHistory

Definition

pub struct AlertHistory {
    pub id: i64,
    pub alert_id: i64,
    pub action: String,
    pub performed_by: Option<i64>,
    pub performed_at: DateTime<Utc>,
    pub previous_state: Option<Json<serde_json::Value>>,
    pub new_state: Option<Json<serde_json::Value>>,
    pub notes: Option<String>,
}

struct AuditLog

Definition

pub struct AuditLog {
    pub id: i64,
    pub org_id: Option<i64>,
    pub action: String,
    pub user_id: Option<i64>,
    pub created_at: DateTime<Utc>,
    pub resource_id: Option<String>,
    pub resource_type: String,
}

enum WorkerStatus

Definition

pub enum WorkerStatus {
    Active,
    Provisioning,
    Maintenance,
    PoweredOff,
    Unreachable,
    Degraded,
    Decommissioning,
}

struct Worker

Definition

pub struct Worker {
    pub id: Option<i64>,
    pub region_id: i64,
    pub name: String,
    pub provider_id: Option<String>,
    pub instance_type: Option<String>,
    pub status: String,
    pub cpu_total: f64,
    pub cpu_available: f64,
    #[serde(default)]
    pub cpu_reserved: f64,
    pub memory_total: f64,     // in MB
    pub memory_available: f64, // in MB
    #[serde(default)]
    pub memory_reserved: f64,  // in MB
    pub disk_total: f64,       // in MB
    pub disk_available: f64,   // in MB
    #[serde(default)]
    pub disk_reserved: f64,    // in MB
    pub network_in_capacity: Option<f64>,  // in Mbps
    pub network_out_capacity: Option<f64>, // in Mbps
    pub docker_version: Option<String>,
    pub ssh_address: Option<String>,
    #[serde(default = "default_ssh_port")]
    pub ssh_port: i32,
    pub ssh_user: Option<String>,
    pub ssh_key: Option<String>,
    pub labels: Option<Json<serde_json::Value>>,
    pub taints: Option<Json<serde_json::Value>>,
    pub annotations: Option<Json<serde_json::Value>>,
    pub last_heartbeat: Option<DateTime<Utc>>,
    pub created_at: Option<DateTime<Utc>>,
    pub updated_at: Option<DateTime<Utc>>,
}

struct Notification

Definition

pub struct Notification {
    pub id: i64,
    pub user_id: Option<i64>,
    pub org_id: Option<i64>,
    pub app_id: Option<i64>,
    pub notification_type: String, // enum: 'info', 'warning', 'error', 'success'
    pub message: String,
    pub read_status: bool,
    pub created_at: DateTime<Utc>,
}

struct NotificationWithCount

Definition

pub struct NotificationWithCount {
    /// Direct notifications for the user
    pub user_notifications: Vec<UserNotification>,
    /// Role-based notifications applicable to the user
    pub role_notifications: Vec<RoleNotification>,
    /// User's acknowledgments of role notifications
    pub acknowledgments: Vec<NotificationAcknowledgment>,
    /// Count of unread direct user notifications
    pub unread_user_count: i64,
    /// Count of unacknowledged role notifications
    pub unacknowledged_role_count: i64,
    /// Total count of unread notifications (user + role)
    pub total_unread_count: i64
}

Documentation

Represents a comprehensive view of a user's notifications with unread counts. This is useful for providing notification center overviews.

struct UserNotificationWithRoleNotifications

Definition

pub struct UserNotificationWithRoleNotifications {
    /// Direct notifications for the user
    pub user_notifications: Vec<UserNotification>,
    /// Role-based notifications applicable to the user
    pub role_notifications: Vec<RoleNotification>,
    /// User's acknowledgments of role notifications
    pub acknowledgments: Vec<NotificationAcknowledgment>
}

Documentation

Represents a user's notifications including those from their roles. This combines personal notifications with role-based ones.

struct Backup

Definition

pub struct Backup {
    pub id: i64,
    pub name: String,
    pub description: Option<String>,
    pub created_at: DateTime<Utc>,
    pub created_by: String,
    pub backup_type: String, // enum: 'PLATFORM', 'APPLICATION', 'PARTIAL'
    pub status: String, // enum: 'CREATING', 'AVAILABLE', 'RESTORING', 'FAILED', 'DELETED'
    pub format_version: String,
    pub source_environment: String,
    pub encryption_method: Option<String>,
    pub encryption_key_id: Option<i64>,
    pub size_bytes: Option<i64>,
    pub has_system_core: bool,
    pub has_directors: bool,
    pub has_orchestrators: bool,
    pub has_network_config: bool,
    pub has_app_definitions: bool,
    pub has_volume_data: bool,
    pub included_apps: Option<String>,
    pub included_services: Option<String>,
    pub last_validated_at: Option<DateTime<Utc>>,
    pub last_restored_at: Option<DateTime<Utc>>,
    pub restore_target_environment: Option<String>,
    pub restore_status: Option<String>,
    pub storage_location: String,
    pub manifest_path: String,
    pub metadata: Option<Value>,
}

struct ResourceType

Definition

pub struct ResourceType {
    /// Unique identifier
    pub id: i32,
    /// Name of the resource type (e.g., 'cpu_usage', 'memory_usage')
    pub name: String,
    /// Category of the resource (e.g., 'compute', 'storage', 'network')
    pub category: String,
    /// Unit of measurement (e.g., 'vCPU-hour', 'GB-month')
    pub unit_of_measurement: String,
    /// Optional description of the resource type
    pub description: Option<String>,
    /// Creation timestamp
    pub created_at: DateTime<Utc>,
    /// Last update timestamp
    pub updated_at: DateTime<Utc>,
}

Documentation

Represents a resource type in the system.

struct CostMetric

Definition

pub struct CostMetric {
    /// Unique identifier
    pub id: i64,
    /// Resource type ID
    pub resource_type_id: i32,
    /// Provider ID
    pub provider_id: Option<i64>,
    /// Region ID
    pub region_id: Option<i64>,
    /// Application ID
    pub app_id: Option<i64>,
    /// Worker ID
    pub worker_id: Option<i64>,
    /// Organization ID
    pub org_id: Option<i64>,
    /// Start time of the usage period
    pub start_time: DateTime<Utc>,
    /// End time of the usage period
    pub end_time: DateTime<Utc>,
    /// Amount of resource used
    pub usage_quantity: f64,
    /// Cost per unit
    pub unit_cost: f64,
    /// Currency code (e.g., 'USD')
    pub currency: String,
    /// Total cost for this usage
    pub total_cost: f64,
    /// Discount percentage applied
    pub discount_percentage: Option<f64>,
    /// Reason for the discount
    pub discount_reason: Option<String>,
    /// Billing period (e.g., '2025-05')
    pub billing_period: Option<String>,
    /// Creation timestamp
    pub created_at: DateTime<Utc>,
    /// Last update timestamp
    pub updated_at: DateTime<Utc>,
}

Documentation

Represents a cost metric entry in the system.

struct CostMetricWithType

Definition

pub struct CostMetricWithType {
    /// Unique identifier
    pub id: i64,
    /// Resource type ID
    pub resource_type_id: i32,
    /// Provider ID
    pub provider_id: Option<i64>,
    /// Region ID
    pub region_id: Option<i64>,
    /// Application ID
    pub app_id: Option<i64>,
    /// Worker ID
    pub worker_id: Option<i64>,
    /// Organization ID
    pub org_id: Option<i64>,
    /// Start time of the usage period
    pub start_time: DateTime<Utc>,
    /// End time of the usage period
    pub end_time: DateTime<Utc>,
    /// Amount of resource used
    pub usage_quantity: f64,
    /// Cost per unit
    pub unit_cost: f64,
    /// Currency code (e.g., 'USD')
    pub currency: String,
    /// Total cost for this usage
    pub total_cost: f64,
    /// Discount percentage applied
    pub discount_percentage: Option<f64>,
    /// Reason for the discount
    pub discount_reason: Option<String>,
    /// Billing period (e.g., '2025-05')
    pub billing_period: Option<String>,
    /// Creation timestamp
    pub created_at: DateTime<Utc>,
    /// Last update timestamp
    pub updated_at: DateTime<Utc>,
    /// Resource type name
    pub resource_type_name: String,
    /// Resource type category
    pub resource_type_category: String,
    /// Unit of measurement
    pub unit_of_measurement: String,
}

Documentation

Represents a cost metric with its associated resource type information.

struct CostBudget

Definition

pub struct CostBudget {
    /// Unique identifier
    pub id: i64,
    /// Organization ID
    pub org_id: i64,
    /// Application ID (optional)
    pub app_id: Option<i64>,
    /// Budget name
    pub budget_name: String,
    /// Budget amount
    pub budget_amount: f64,
    /// Currency code (e.g., 'USD')
    pub currency: String,
    /// Budget period type
    pub budget_period: String,
    /// Start date of the budget period
    pub period_start: DateTime<Utc>,
    /// End date of the budget period
    pub period_end: DateTime<Utc>,
    /// Alert threshold percentage
    pub alert_threshold_percentage: f64,
    /// Contacts to alert when threshold is reached (JSON)
    pub alert_contacts: String,
    /// Whether the budget is active
    pub is_active: bool,
    /// Creation timestamp
    pub created_at: DateTime<Utc>,
    /// Last update timestamp
    pub updated_at: DateTime<Utc>,
    /// User ID who created the budget
    pub created_by: i64,
}

Documentation

Represents a cost budget entry in the system.

struct CostProjection

Definition

pub struct CostProjection {
    /// Unique identifier
    pub id: i64,
    /// Organization ID
    pub org_id: i64,
    /// Application ID (optional)
    pub app_id: Option<i64>,
    /// Projection period type (e.g., 'monthly', 'quarterly')
    pub projection_period: String,
    /// Start date of the projection period
    pub start_date: DateTime<Utc>,
    /// End date of the projection period
    pub end_date: DateTime<Utc>,
    /// Projected cost amount
    pub projected_cost: f64,
    /// Currency code (e.g., 'USD')
    pub currency: String,
    /// Projection model used (e.g., 'linear', 'average_30d')
    pub projection_model: String,
    /// Confidence level of the projection
    pub confidence_level: Option<f64>,
    /// Additional metadata about the projection (JSON)
    pub metadata: Option<String>,
    /// Creation timestamp
    pub created_at: DateTime<Utc>,
    /// Last update timestamp
    pub updated_at: DateTime<Utc>,
}

Documentation

Represents a cost projection entry in the system.

struct ResourcePricing

Definition

pub struct ResourcePricing {
    /// Unique identifier
    pub id: i64,
    /// Resource type ID
    pub resource_type_id: i32,
    /// Provider ID
    pub provider_id: i64,
    /// Region ID (optional)
    pub region_id: Option<i64>,
    /// Tier name (e.g., 'standard', 'premium')
    pub tier_name: String,
    /// Price per unit
    pub unit_price: f64,
    /// Currency code (e.g., 'USD')
    pub currency: String,
    /// When this pricing becomes effective
    pub effective_from: DateTime<Utc>,
    /// When this pricing expires (optional)
    pub effective_to: Option<DateTime<Utc>>,
    /// Pricing model (e.g., 'on-demand', 'reserved')
    pub pricing_model: String,
    /// Commitment period (e.g., '1-year', '3-year')
    pub commitment_period: Option<String>,
    /// Volume discount tiers (JSON)
    pub volume_discount_tiers: Option<String>,
    /// Creation timestamp
    pub created_at: DateTime<Utc>,
    /// Last update timestamp
    pub updated_at: DateTime<Utc>,
}

Documentation

Represents a resource pricing entry in the system.

struct CostAllocationTag

Definition

pub struct CostAllocationTag {
    /// Unique identifier
    pub id: i64,
    /// Tag key
    pub tag_key: String,
    /// Tag value
    pub tag_value: String,
    /// Resource ID
    pub resource_id: i64,
    /// Resource type
    pub resource_type: String,
    /// Creation timestamp
    pub created_at: DateTime<Utc>,
    /// Last update timestamp
    pub updated_at: DateTime<Utc>,

Documentation

Represents a cost allocation tag in the system.

⚠️ **GitHub.com Fallback** ⚠️