Skip to content

Commit 299174d

Browse files
committed
feat: skip default vpc
Added the ability to skip creating the `default` VPC when calling `project_create`. This allows users to control every aspect of their project using automation, rather than needing to delete `default` VPC first. Closes oxidecomputer/customer-support#567.
1 parent 4e57962 commit 299174d

File tree

26 files changed

+155
-12
lines changed

26 files changed

+155
-12
lines changed

nexus/db-fixed-data/src/project.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ pub static SERVICES_PROJECT: LazyLock<model::Project> = LazyLock::new(|| {
2727
name: SERVICES_DB_NAME.parse().unwrap(),
2828
description: "Built-in project for Oxide Services".to_string(),
2929
},
30+
skip_default_vpc: false,
3031
},
3132
)
3233
});

nexus/db-queries/src/db/datastore/disk.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2093,6 +2093,7 @@ mod tests {
20932093
name: "testpost".parse().unwrap(),
20942094
description: "please ignore".to_string(),
20952095
},
2096+
skip_default_vpc: false,
20962097
},
20972098
),
20982099
)

nexus/db-queries/src/db/datastore/external_subnet.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1216,6 +1216,7 @@ mod tests {
12161216
name: "my-project".parse().unwrap(),
12171217
description: String::new(),
12181218
},
1219+
skip_default_vpc: false,
12191220
},
12201221
),
12211222
)
@@ -2842,6 +2843,7 @@ mod tests {
28422843
name: "my-project".parse().unwrap(),
28432844
description: String::new(),
28442845
},
2846+
skip_default_vpc: false,
28452847
},
28462848
),
28472849
)

nexus/db-queries/src/db/datastore/instance.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2337,6 +2337,7 @@ mod tests {
23372337
name: "stuff".parse().unwrap(),
23382338
description: "Where I keep my stuff".into(),
23392339
},
2340+
skip_default_vpc: false,
23402341
},
23412342
),
23422343
)

nexus/db-queries/src/db/datastore/ip_pool.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2829,6 +2829,7 @@ mod test {
28292829
name: "my-project".parse().unwrap(),
28302830
description: "".to_string(),
28312831
},
2832+
skip_default_vpc: false,
28322833
},
28332834
);
28342835
let (.., project) =
@@ -2946,6 +2947,7 @@ mod test {
29462947
name: "my-project".parse().unwrap(),
29472948
description: "".to_string(),
29482949
},
2950+
skip_default_vpc: false,
29492951
},
29502952
);
29512953
let (.., project) =

nexus/db-queries/src/db/datastore/migration.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ mod tests {
209209
name: "stuff".parse().unwrap(),
210210
description: "Where I keep my stuff".into(),
211211
},
212+
skip_default_vpc: false,
212213
},
213214
),
214215
)

nexus/db-queries/src/db/datastore/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,7 @@ mod test {
697697
name: "project".parse().unwrap(),
698698
description: "desc".to_string(),
699699
},
700+
skip_default_vpc: false,
700701
},
701702
);
702703
datastore.project_create(&opctx, project).await.unwrap();

nexus/db-queries/src/db/datastore/virtual_provisioning_collection.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,7 @@ mod test {
394394
name: "myproject".parse().unwrap(),
395395
description: "It's a project".into(),
396396
},
397+
skip_default_vpc: false,
397398
},
398399
),
399400
)

nexus/db-queries/src/db/datastore/vpc.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3026,6 +3026,7 @@ mod tests {
30263026
name: "project".parse().unwrap(),
30273027
description: String::from("test project"),
30283028
},
3029+
skip_default_vpc: false,
30293030
};
30303031
let project = Project::new(Uuid::new_v4(), project_params);
30313032
let (authz_project, _) = datastore
@@ -3131,6 +3132,7 @@ mod tests {
31313132
name: "project".parse().unwrap(),
31323133
description: String::from("test project"),
31333134
},
3135+
skip_default_vpc: false,
31343136
};
31353137
let project = Project::new(Uuid::new_v4(), project_params);
31363138
let (authz_project, _) = datastore
@@ -3546,6 +3548,7 @@ mod tests {
35463548
name: "project".parse().unwrap(),
35473549
description: String::from("test project"),
35483550
},
3551+
skip_default_vpc: false,
35493552
};
35503553
let project = Project::new(DEFAULT_SILO.id(), project_params);
35513554
let (authz_project, _) = datastore

nexus/db-queries/src/db/pub_test_utils/helpers.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ pub async fn create_project(
6767
name: name.parse().unwrap(),
6868
description: "desc".to_string(),
6969
},
70+
skip_default_vpc: false,
7071
},
7172
);
7273
datastore.project_create(&opctx, project).await.unwrap()

0 commit comments

Comments
 (0)