Skip to main content

alien_core/import/data/aws/
postgres.rs

1use serde::{Deserialize, Serialize};
2
3/// AWS Postgres (Aurora Serverless v2) registration data: the handles by which a
4/// setup-created Aurora cluster is registered as a Frozen Postgres resource. Setup owns
5/// the cluster, Alien refreshes and heartbeats it. Carries the master password's Secrets
6/// Manager ARN, never the password.
7#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
9#[cfg_attr(feature = "jsonschema", derive(schemars::JsonSchema))]
10#[serde(rename_all = "camelCase")]
11pub struct AwsPostgresImportData {
12    /// Aurora DB cluster identifier.
13    pub cluster_identifier: String,
14    /// Writer instance identifier within the cluster.
15    pub instance_identifier: String,
16    /// DB subnet group spanning the private subnets.
17    pub subnet_group_name: String,
18    /// Dedicated security group admitting 5432 from the stack security group.
19    pub security_group_id: String,
20    /// Secrets Manager ARN of the master password (never the password itself).
21    pub password_secret_arn: String,
22    /// Cluster writer endpoint (the binding host).
23    pub cluster_endpoint: String,
24    /// Default database name.
25    pub database: String,
26    /// Master username.
27    pub username: String,
28    /// Engine version the cluster reports.
29    pub engine_version: String,
30}