From 5b7d55d9b592e8a859e1bcbdf993b19d66fef2c9 Mon Sep 17 00:00:00 2001 From: "oxide-reflector-bot[bot]" <130185838+oxide-reflector-bot[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 03:56:01 +0000 Subject: [PATCH 1/9] Rebuilt with latest dependency updates --- cli/src/generated_cli.rs | 56 ++-- oxide.json | 114 +++++-- sdk-httpmock/src/generated_httpmock.rs | 62 ++-- sdk/src/generated_sdk.rs | 408 +++++++++++++++++++------ 4 files changed, 459 insertions(+), 181 deletions(-) diff --git a/cli/src/generated_cli.rs b/cli/src/generated_cli.rs index c65b97a0..3f0d72d8 100644 --- a/cli/src/generated_cli.rs +++ b/cli/src/generated_cli.rs @@ -285,10 +285,8 @@ impl Cli { Self::cli_networking_bgp_announcement_list() } CliCommand::NetworkingBgpExported => Self::cli_networking_bgp_exported(), + CliCommand::NetworkingBgpImported => Self::cli_networking_bgp_imported(), CliCommand::NetworkingBgpMessageHistory => Self::cli_networking_bgp_message_history(), - CliCommand::NetworkingBgpImportedRoutesIpv4 => { - Self::cli_networking_bgp_imported_routes_ipv4() - } CliCommand::NetworkingBgpStatus => Self::cli_networking_bgp_status(), CliCommand::NetworkingInboundIcmpView => Self::cli_networking_inbound_icmp_view(), CliCommand::NetworkingInboundIcmpUpdate => Self::cli_networking_inbound_icmp_update(), @@ -6745,6 +6743,13 @@ impl Cli { .value_parser(::clap::value_parser!(::std::string::String)) .required_unless_present("json-body"), ) + .arg( + ::clap::Arg::new("max-paths") + .long("max-paths") + .value_parser(::clap::value_parser!(types::MaxPathConfig)) + .required(false) + .help("Maximum number of paths to use when multiple \"best paths\" exist"), + ) .arg( ::clap::Arg::new("name") .long("name") @@ -6882,10 +6887,10 @@ impl Cli { } pub fn cli_networking_bgp_exported() -> ::clap::Command { - ::clap::Command::new("").about("Get BGP exported routes") + ::clap::Command::new("").about("List BGP exported routes") } - pub fn cli_networking_bgp_message_history() -> ::clap::Command { + pub fn cli_networking_bgp_imported() -> ::clap::Command { ::clap::Command::new("") .arg( ::clap::Arg::new("asn") @@ -6894,10 +6899,10 @@ impl Cli { .required(true) .help("The ASN to filter on. Required."), ) - .about("Get BGP router message history") + .about("Get imported IPv4 BGP routes") } - pub fn cli_networking_bgp_imported_routes_ipv4() -> ::clap::Command { + pub fn cli_networking_bgp_message_history() -> ::clap::Command { ::clap::Command::new("") .arg( ::clap::Arg::new("asn") @@ -6906,7 +6911,7 @@ impl Cli { .required(true) .help("The ASN to filter on. Required."), ) - .about("Get imported IPv4 BGP routes") + .about("Get BGP router message history") } pub fn cli_networking_bgp_status() -> ::clap::Command { @@ -10007,13 +10012,12 @@ impl Cli { CliCommand::NetworkingBgpExported => { self.execute_networking_bgp_exported(matches).await } + CliCommand::NetworkingBgpImported => { + self.execute_networking_bgp_imported(matches).await + } CliCommand::NetworkingBgpMessageHistory => { self.execute_networking_bgp_message_history(matches).await } - CliCommand::NetworkingBgpImportedRoutesIpv4 => { - self.execute_networking_bgp_imported_routes_ipv4(matches) - .await - } CliCommand::NetworkingBgpStatus => self.execute_networking_bgp_status(matches).await, CliCommand::NetworkingInboundIcmpView => { self.execute_networking_inbound_icmp_view(matches).await @@ -17544,6 +17548,10 @@ impl Cli { request = request.body_map(|body| body.description(value.clone())) } + if let Some(value) = matches.get_one::("max-paths") { + request = request.body_map(|body| body.max_paths(value.clone())) + } + if let Some(value) = matches.get_one::("name") { request = request.body_map(|body| body.name(value.clone())) } @@ -17735,17 +17743,17 @@ impl Cli { } } - pub async fn execute_networking_bgp_message_history( + pub async fn execute_networking_bgp_imported( &self, matches: &::clap::ArgMatches, ) -> anyhow::Result<()> { - let mut request = self.client.networking_bgp_message_history(); + let mut request = self.client.networking_bgp_imported(); if let Some(value) = matches.get_one::("asn") { request = request.asn(value.clone()); } self.config - .execute_networking_bgp_message_history(matches, &mut request)?; + .execute_networking_bgp_imported(matches, &mut request)?; let result = request.send().await; match result { Ok(r) => { @@ -17759,17 +17767,17 @@ impl Cli { } } - pub async fn execute_networking_bgp_imported_routes_ipv4( + pub async fn execute_networking_bgp_message_history( &self, matches: &::clap::ArgMatches, ) -> anyhow::Result<()> { - let mut request = self.client.networking_bgp_imported_routes_ipv4(); + let mut request = self.client.networking_bgp_message_history(); if let Some(value) = matches.get_one::("asn") { request = request.asn(value.clone()); } self.config - .execute_networking_bgp_imported_routes_ipv4(matches, &mut request)?; + .execute_networking_bgp_message_history(matches, &mut request)?; let result = request.send().await; match result { Ok(r) => { @@ -22705,18 +22713,18 @@ pub trait CliConfig { Ok(()) } - fn execute_networking_bgp_message_history( + fn execute_networking_bgp_imported( &self, matches: &::clap::ArgMatches, - request: &mut builder::NetworkingBgpMessageHistory, + request: &mut builder::NetworkingBgpImported, ) -> anyhow::Result<()> { Ok(()) } - fn execute_networking_bgp_imported_routes_ipv4( + fn execute_networking_bgp_message_history( &self, matches: &::clap::ArgMatches, - request: &mut builder::NetworkingBgpImportedRoutesIpv4, + request: &mut builder::NetworkingBgpMessageHistory, ) -> anyhow::Result<()> { Ok(()) } @@ -23677,8 +23685,8 @@ pub enum CliCommand { NetworkingBgpAnnounceSetDelete, NetworkingBgpAnnouncementList, NetworkingBgpExported, + NetworkingBgpImported, NetworkingBgpMessageHistory, - NetworkingBgpImportedRoutesIpv4, NetworkingBgpStatus, NetworkingInboundIcmpView, NetworkingInboundIcmpUpdate, @@ -23993,8 +24001,8 @@ impl CliCommand { CliCommand::NetworkingBgpAnnounceSetDelete, CliCommand::NetworkingBgpAnnouncementList, CliCommand::NetworkingBgpExported, + CliCommand::NetworkingBgpImported, CliCommand::NetworkingBgpMessageHistory, - CliCommand::NetworkingBgpImportedRoutesIpv4, CliCommand::NetworkingBgpStatus, CliCommand::NetworkingInboundIcmpView, CliCommand::NetworkingInboundIcmpUpdate, diff --git a/oxide.json b/oxide.json index 9c37f018..2fe07ce3 100644 --- a/oxide.json +++ b/oxide.json @@ -7,7 +7,7 @@ "url": "https://oxide.computer", "email": "api@oxide.computer" }, - "version": "2026021300.0.0" + "version": "2026021301.0.0" }, "paths": { "/device/auth": { @@ -10771,7 +10771,7 @@ "tags": [ "system/networking" ], - "summary": "Get BGP exported routes", + "summary": "List BGP exported routes", "operationId": "networking_bgp_exported", "responses": { "200": { @@ -10779,7 +10779,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BgpExported" + "title": "Array_of_BgpExported", + "type": "array", + "items": { + "$ref": "#/components/schemas/BgpExported" + } } } } @@ -10793,13 +10797,13 @@ } } }, - "/v1/system/networking/bgp-message-history": { + "/v1/system/networking/bgp-imported": { "get": { "tags": [ "system/networking" ], - "summary": "Get BGP router message history", - "operationId": "networking_bgp_message_history", + "summary": "Get imported IPv4 BGP routes", + "operationId": "networking_bgp_imported", "parameters": [ { "in": "query", @@ -10819,7 +10823,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AggregateBgpMessageHistory" + "title": "Array_of_BgpImported", + "type": "array", + "items": { + "$ref": "#/components/schemas/BgpImported" + } } } } @@ -10833,13 +10841,13 @@ } } }, - "/v1/system/networking/bgp-routes-ipv4": { + "/v1/system/networking/bgp-message-history": { "get": { "tags": [ "system/networking" ], - "summary": "Get imported IPv4 BGP routes", - "operationId": "networking_bgp_imported_routes_ipv4", + "summary": "Get BGP router message history", + "operationId": "networking_bgp_message_history", "parameters": [ { "in": "query", @@ -10859,11 +10867,7 @@ "content": { "application/json": { "schema": { - "title": "Array_of_BgpImportedRouteIpv4", - "type": "array", - "items": { - "$ref": "#/components/schemas/BgpImportedRouteIpv4" - } + "$ref": "#/components/schemas/AggregateBgpMessageHistory" } } } @@ -17182,6 +17186,14 @@ "type": "string", "format": "uuid" }, + "max_paths": { + "description": "Maximum number of paths to use when multiple \"best paths\" exist", + "allOf": [ + { + "$ref": "#/components/schemas/MaxPathConfig" + } + ] + }, "name": { "description": "unique, mutable, user-controlled identifier for each resource", "allOf": [ @@ -17210,6 +17222,7 @@ "asn", "description", "id", + "max_paths", "name", "time_created", "time_modified" @@ -17231,6 +17244,15 @@ "description": { "type": "string" }, + "max_paths": { + "description": "Maximum number of paths to use when multiple \"best paths\" exist", + "default": 1, + "allOf": [ + { + "$ref": "#/components/schemas/MaxPathConfig" + } + ] + }, "name": { "$ref": "#/components/schemas/Name" }, @@ -17273,25 +17295,37 @@ ] }, "BgpExported": { - "description": "The current status of a BGP peer.", + "description": "Route exported to a peer.", "type": "object", "properties": { - "exports": { - "description": "Exported routes indexed by peer address.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Ipv4Net" + "peer_id": { + "description": "Identifier for the BGP peer.", + "type": "string" + }, + "prefix": { + "description": "The destination network prefix.", + "allOf": [ + { + "$ref": "#/components/schemas/IpNet" } - } + ] + }, + "switch": { + "description": "Switch the route is exported from.", + "allOf": [ + { + "$ref": "#/components/schemas/SwitchLocation" + } + ] } }, "required": [ - "exports" + "peer_id", + "prefix", + "switch" ] }, - "BgpImportedRouteIpv4": { + "BgpImported": { "description": "A route imported from a BGP peer.", "type": "object", "properties": { @@ -17304,13 +17338,13 @@ "nexthop": { "description": "The nexthop the prefix is reachable through.", "type": "string", - "format": "ipv4" + "format": "ip" }, "prefix": { "description": "The destination network prefix.", "allOf": [ { - "$ref": "#/components/schemas/Ipv4Net" + "$ref": "#/components/schemas/IpNet" } ] }, @@ -17336,7 +17370,8 @@ "type": "object", "properties": { "addr": { - "description": "The address of the host to peer with.", + "nullable": true, + "description": "The address of the host to peer with. If not provided, this is an unnumbered BGP session that will be established over the interface specified by `interface_name`.", "type": "string", "format": "ip" }, @@ -17448,6 +17483,12 @@ "format": "uint32", "minimum": 0 }, + "router_lifetime": { + "description": "Router lifetime in seconds for unnumbered BGP peers.", + "type": "integer", + "format": "uint16", + "minimum": 0 + }, "vlan_id": { "nullable": true, "description": "Associate a VLAN ID with a peer.", @@ -17457,7 +17498,6 @@ } }, "required": [ - "addr", "allowed_export", "allowed_import", "bgp_config", @@ -17468,7 +17508,8 @@ "hold_time", "idle_hold_time", "interface_name", - "keepalive" + "keepalive", + "router_lifetime" ] }, "BgpPeerConfig": { @@ -17570,6 +17611,10 @@ "format": "uint32", "minimum": 0 }, + "peer_id": { + "description": "Interface name", + "type": "string" + }, "remote_asn": { "description": "Remote autonomous system number.", "type": "integer", @@ -17602,6 +17647,7 @@ "required": [ "addr", "local_asn", + "peer_id", "remote_asn", "state", "state_duration_millis", @@ -24519,6 +24565,12 @@ "interface_num" ] }, + "MaxPathConfig": { + "type": "integer", + "format": "uint8", + "minimum": 1, + "maximum": 32 + }, "Measurement": { "description": "A `Measurement` is a timestamped datum from a single metric", "type": "object", diff --git a/sdk-httpmock/src/generated_httpmock.rs b/sdk-httpmock/src/generated_httpmock.rs index 1761e215..9fdc2008 100644 --- a/sdk-httpmock/src/generated_httpmock.rs +++ b/sdk-httpmock/src/generated_httpmock.rs @@ -16173,7 +16173,7 @@ pub mod operations { self.0 } - pub fn ok(self, value: &types::BgpExported) -> Self { + pub fn ok(self, value: &::std::vec::Vec) -> Self { Self( self.0 .status(200u16) @@ -16203,12 +16203,14 @@ pub mod operations { } } - pub struct NetworkingBgpMessageHistoryWhen(::httpmock::When); - impl NetworkingBgpMessageHistoryWhen { + pub struct NetworkingBgpImportedWhen(::httpmock::When); + impl NetworkingBgpImportedWhen { pub fn new(inner: ::httpmock::When) -> Self { - Self(inner.method(::httpmock::Method::GET).path_matches( - regex::Regex::new("^/v1/system/networking/bgp-message-history$").unwrap(), - )) + Self( + inner.method(::httpmock::Method::GET).path_matches( + regex::Regex::new("^/v1/system/networking/bgp-imported$").unwrap(), + ), + ) } pub fn into_inner(self) -> ::httpmock::When { @@ -16220,8 +16222,8 @@ pub mod operations { } } - pub struct NetworkingBgpMessageHistoryThen(::httpmock::Then); - impl NetworkingBgpMessageHistoryThen { + pub struct NetworkingBgpImportedThen(::httpmock::Then); + impl NetworkingBgpImportedThen { pub fn new(inner: ::httpmock::Then) -> Self { Self(inner) } @@ -16230,7 +16232,7 @@ pub mod operations { self.0 } - pub fn ok(self, value: &types::AggregateBgpMessageHistory) -> Self { + pub fn ok(self, value: &::std::vec::Vec) -> Self { Self( self.0 .status(200u16) @@ -16260,11 +16262,11 @@ pub mod operations { } } - pub struct NetworkingBgpImportedRoutesIpv4When(::httpmock::When); - impl NetworkingBgpImportedRoutesIpv4When { + pub struct NetworkingBgpMessageHistoryWhen(::httpmock::When); + impl NetworkingBgpMessageHistoryWhen { pub fn new(inner: ::httpmock::When) -> Self { Self(inner.method(::httpmock::Method::GET).path_matches( - regex::Regex::new("^/v1/system/networking/bgp-routes-ipv4$").unwrap(), + regex::Regex::new("^/v1/system/networking/bgp-message-history$").unwrap(), )) } @@ -16277,8 +16279,8 @@ pub mod operations { } } - pub struct NetworkingBgpImportedRoutesIpv4Then(::httpmock::Then); - impl NetworkingBgpImportedRoutesIpv4Then { + pub struct NetworkingBgpMessageHistoryThen(::httpmock::Then); + impl NetworkingBgpMessageHistoryThen { pub fn new(inner: ::httpmock::Then) -> Self { Self(inner) } @@ -16287,7 +16289,7 @@ pub mod operations { self.0 } - pub fn ok(self, value: &::std::vec::Vec) -> Self { + pub fn ok(self, value: &types::AggregateBgpMessageHistory) -> Self { Self( self.0 .status(200u16) @@ -23893,18 +23895,15 @@ pub trait MockServerExt { fn networking_bgp_exported(&self, config_fn: F) -> ::httpmock::Mock<'_> where F: FnOnce(operations::NetworkingBgpExportedWhen, operations::NetworkingBgpExportedThen); + fn networking_bgp_imported(&self, config_fn: F) -> ::httpmock::Mock<'_> + where + F: FnOnce(operations::NetworkingBgpImportedWhen, operations::NetworkingBgpImportedThen); fn networking_bgp_message_history(&self, config_fn: F) -> ::httpmock::Mock<'_> where F: FnOnce( operations::NetworkingBgpMessageHistoryWhen, operations::NetworkingBgpMessageHistoryThen, ); - fn networking_bgp_imported_routes_ipv4(&self, config_fn: F) -> ::httpmock::Mock<'_> - where - F: FnOnce( - operations::NetworkingBgpImportedRoutesIpv4When, - operations::NetworkingBgpImportedRoutesIpv4Then, - ); fn networking_bgp_status(&self, config_fn: F) -> ::httpmock::Mock<'_> where F: FnOnce(operations::NetworkingBgpStatusWhen, operations::NetworkingBgpStatusThen); @@ -27049,32 +27048,29 @@ impl MockServerExt for ::httpmock::MockServer { }) } - fn networking_bgp_message_history(&self, config_fn: F) -> ::httpmock::Mock<'_> + fn networking_bgp_imported(&self, config_fn: F) -> ::httpmock::Mock<'_> where - F: FnOnce( - operations::NetworkingBgpMessageHistoryWhen, - operations::NetworkingBgpMessageHistoryThen, - ), + F: FnOnce(operations::NetworkingBgpImportedWhen, operations::NetworkingBgpImportedThen), { self.mock(|when, then| { config_fn( - operations::NetworkingBgpMessageHistoryWhen::new(when), - operations::NetworkingBgpMessageHistoryThen::new(then), + operations::NetworkingBgpImportedWhen::new(when), + operations::NetworkingBgpImportedThen::new(then), ) }) } - fn networking_bgp_imported_routes_ipv4(&self, config_fn: F) -> ::httpmock::Mock<'_> + fn networking_bgp_message_history(&self, config_fn: F) -> ::httpmock::Mock<'_> where F: FnOnce( - operations::NetworkingBgpImportedRoutesIpv4When, - operations::NetworkingBgpImportedRoutesIpv4Then, + operations::NetworkingBgpMessageHistoryWhen, + operations::NetworkingBgpMessageHistoryThen, ), { self.mock(|when, then| { config_fn( - operations::NetworkingBgpImportedRoutesIpv4When::new(when), - operations::NetworkingBgpImportedRoutesIpv4Then::new(then), + operations::NetworkingBgpMessageHistoryWhen::new(when), + operations::NetworkingBgpMessageHistoryThen::new(then), ) }) } diff --git a/sdk/src/generated_sdk.rs b/sdk/src/generated_sdk.rs index 922b81cc..4a2ed202 100644 --- a/sdk/src/generated_sdk.rs +++ b/sdk/src/generated_sdk.rs @@ -4177,6 +4177,7 @@ pub mod types { /// "asn", /// "description", /// "id", + /// "max_paths", /// "name", /// "time_created", /// "time_modified" @@ -4199,6 +4200,15 @@ pub mod types { /// "type": "string", /// "format": "uuid" /// }, + /// "max_paths": { + /// "description": "Maximum number of paths to use when multiple \"best + /// paths\" exist", + /// "allOf": [ + /// { + /// "$ref": "#/components/schemas/MaxPathConfig" + /// } + /// ] + /// }, /// "name": { /// "description": "unique, mutable, user-controlled identifier for /// each resource", @@ -4240,6 +4250,8 @@ pub mod types { pub description: ::std::string::String, /// unique, immutable, system-controlled identifier for each resource pub id: ::uuid::Uuid, + /// Maximum number of paths to use when multiple "best paths" exist + pub max_paths: MaxPathConfig, /// unique, mutable, user-controlled identifier for each resource pub name: Name, /// timestamp when this resource was created @@ -4290,6 +4302,16 @@ pub mod types { /// "description": { /// "type": "string" /// }, + /// "max_paths": { + /// "description": "Maximum number of paths to use when multiple \"best + /// paths\" exist", + /// "default": 1, + /// "allOf": [ + /// { + /// "$ref": "#/components/schemas/MaxPathConfig" + /// } + /// ] + /// }, /// "name": { /// "$ref": "#/components/schemas/Name" /// }, @@ -4321,6 +4343,9 @@ pub mod types { pub asn: u32, pub bgp_announce_set_id: NameOrId, pub description: ::std::string::String, + /// Maximum number of paths to use when multiple "best paths" exist + #[serde(default = "defaults::bgp_config_create_max_paths")] + pub max_paths: MaxPathConfig, pub name: Name, /// Optional virtual routing and forwarding identifier for this BGP /// configuration. @@ -4382,27 +4407,39 @@ pub mod types { } } - /// The current status of a BGP peer. + /// Route exported to a peer. /// ///
JSON schema /// /// ```json /// { - /// "description": "The current status of a BGP peer.", + /// "description": "Route exported to a peer.", /// "type": "object", /// "required": [ - /// "exports" + /// "peer_id", + /// "prefix", + /// "switch" /// ], /// "properties": { - /// "exports": { - /// "description": "Exported routes indexed by peer address.", - /// "type": "object", - /// "additionalProperties": { - /// "type": "array", - /// "items": { - /// "$ref": "#/components/schemas/Ipv4Net" + /// "peer_id": { + /// "description": "Identifier for the BGP peer.", + /// "type": "string" + /// }, + /// "prefix": { + /// "description": "The destination network prefix.", + /// "allOf": [ + /// { + /// "$ref": "#/components/schemas/IpNet" /// } - /// } + /// ] + /// }, + /// "switch": { + /// "description": "Switch the route is exported from.", + /// "allOf": [ + /// { + /// "$ref": "#/components/schemas/SwitchLocation" + /// } + /// ] /// } /// } /// } @@ -4412,8 +4449,12 @@ pub mod types { :: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, schemars :: JsonSchema, )] pub struct BgpExported { - /// Exported routes indexed by peer address. - pub exports: ::std::collections::HashMap<::std::string::String, ::std::vec::Vec>, + /// Identifier for the BGP peer. + pub peer_id: ::std::string::String, + /// The destination network prefix. + pub prefix: IpNet, + /// Switch the route is exported from. + pub switch: SwitchLocation, } impl BgpExported { @@ -4446,13 +4487,13 @@ pub mod types { /// "nexthop": { /// "description": "The nexthop the prefix is reachable through.", /// "type": "string", - /// "format": "ipv4" + /// "format": "ip" /// }, /// "prefix": { /// "description": "The destination network prefix.", /// "allOf": [ /// { - /// "$ref": "#/components/schemas/Ipv4Net" + /// "$ref": "#/components/schemas/IpNet" /// } /// ] /// }, @@ -4471,19 +4512,19 @@ pub mod types { #[derive( :: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, schemars :: JsonSchema, )] - pub struct BgpImportedRouteIpv4 { + pub struct BgpImported { /// BGP identifier of the originating router. pub id: u32, /// The nexthop the prefix is reachable through. - pub nexthop: ::std::net::Ipv4Addr, + pub nexthop: ::std::net::IpAddr, /// The destination network prefix. - pub prefix: Ipv4Net, + pub prefix: IpNet, /// Switch the route is imported into. pub switch: SwitchLocation, } - impl BgpImportedRouteIpv4 { - pub fn builder() -> builder::BgpImportedRouteIpv4 { + impl BgpImported { + pub fn builder() -> builder::BgpImported { Default::default() } } @@ -4537,7 +4578,6 @@ pub mod types { /// should be contacted on.", /// "type": "object", /// "required": [ - /// "addr", /// "allowed_export", /// "allowed_import", /// "bgp_config", @@ -4548,12 +4588,18 @@ pub mod types { /// "hold_time", /// "idle_hold_time", /// "interface_name", - /// "keepalive" + /// "keepalive", + /// "router_lifetime" /// ], /// "properties": { /// "addr": { - /// "description": "The address of the host to peer with.", - /// "type": "string", + /// "description": "The address of the host to peer with. If not + /// provided, this is an unnumbered BGP session that will be established + /// over the interface specified by `interface_name`.", + /// "type": [ + /// "string", + /// "null" + /// ], /// "format": "ip" /// }, /// "allowed_export": { @@ -4688,6 +4734,13 @@ pub mod types { /// "format": "uint32", /// "minimum": 0.0 /// }, + /// "router_lifetime": { + /// "description": "Router lifetime in seconds for unnumbered BGP + /// peers.", + /// "type": "integer", + /// "format": "uint16", + /// "minimum": 0.0 + /// }, /// "vlan_id": { /// "description": "Associate a VLAN ID with a peer.", /// "type": [ @@ -4705,8 +4758,11 @@ pub mod types { :: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, schemars :: JsonSchema, )] pub struct BgpPeer { - /// The address of the host to peer with. - pub addr: ::std::net::IpAddr, + /// The address of the host to peer with. If not provided, this is an + /// unnumbered BGP session that will be established over the interface + /// specified by `interface_name`. + #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] + pub addr: ::std::option::Option<::std::net::IpAddr>, /// Define export policy for a peer. pub allowed_export: ImportExportPolicy, /// Define import policy for a peer. @@ -4752,6 +4808,8 @@ pub mod types { /// Require that a peer has a specified ASN. #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub remote_asn: ::std::option::Option, + /// Router lifetime in seconds for unnumbered BGP peers. + pub router_lifetime: u16, /// Associate a VLAN ID with a peer. #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub vlan_id: ::std::option::Option, @@ -4996,6 +5054,7 @@ pub mod types { /// "required": [ /// "addr", /// "local_asn", + /// "peer_id", /// "remote_asn", /// "state", /// "state_duration_millis", @@ -5013,6 +5072,10 @@ pub mod types { /// "format": "uint32", /// "minimum": 0.0 /// }, + /// "peer_id": { + /// "description": "Interface name", + /// "type": "string" + /// }, /// "remote_asn": { /// "description": "Remote autonomous system number.", /// "type": "integer", @@ -5053,6 +5116,8 @@ pub mod types { pub addr: ::std::net::IpAddr, /// Local autonomous system number. pub local_asn: u32, + /// Interface name + pub peer_id: ::std::string::String, /// Remote autonomous system number. pub remote_asn: u32, /// State of the peer. @@ -19536,6 +19601,70 @@ pub mod types { } } + /// `MaxPathConfig` + /// + ///
JSON schema + /// + /// ```json + /// { + /// "type": "integer", + /// "format": "uint8", + /// "maximum": 32.0, + /// "minimum": 1.0 + /// } + /// ``` + ///
+ #[derive( + :: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, schemars :: JsonSchema, + )] + #[serde(transparent)] + pub struct MaxPathConfig(pub ::std::num::NonZeroU8); + impl ::std::ops::Deref for MaxPathConfig { + type Target = ::std::num::NonZeroU8; + fn deref(&self) -> &::std::num::NonZeroU8 { + &self.0 + } + } + + impl ::std::convert::From for ::std::num::NonZeroU8 { + fn from(value: MaxPathConfig) -> Self { + value.0 + } + } + + impl ::std::convert::From<::std::num::NonZeroU8> for MaxPathConfig { + fn from(value: ::std::num::NonZeroU8) -> Self { + Self(value) + } + } + + impl ::std::str::FromStr for MaxPathConfig { + type Err = <::std::num::NonZeroU8 as ::std::str::FromStr>::Err; + fn from_str(value: &str) -> ::std::result::Result { + Ok(Self(value.parse()?)) + } + } + + impl ::std::convert::TryFrom<&str> for MaxPathConfig { + type Error = <::std::num::NonZeroU8 as ::std::str::FromStr>::Err; + fn try_from(value: &str) -> ::std::result::Result { + value.parse() + } + } + + impl ::std::convert::TryFrom for MaxPathConfig { + type Error = <::std::num::NonZeroU8 as ::std::str::FromStr>::Err; + fn try_from(value: String) -> ::std::result::Result { + value.parse() + } + } + + impl ::std::fmt::Display for MaxPathConfig { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + self.0.fmt(f) + } + } + /// A `Measurement` is a timestamped datum from a single metric /// ///
JSON schema @@ -39809,6 +39938,7 @@ pub mod types { asn: ::std::result::Result, description: ::std::result::Result<::std::string::String, ::std::string::String>, id: ::std::result::Result<::uuid::Uuid, ::std::string::String>, + max_paths: ::std::result::Result, name: ::std::result::Result, time_created: ::std::result::Result< ::chrono::DateTime<::chrono::offset::Utc>, @@ -39830,6 +39960,7 @@ pub mod types { asn: Err("no value supplied for asn".to_string()), description: Err("no value supplied for description".to_string()), id: Err("no value supplied for id".to_string()), + max_paths: Err("no value supplied for max_paths".to_string()), name: Err("no value supplied for name".to_string()), time_created: Err("no value supplied for time_created".to_string()), time_modified: Err("no value supplied for time_modified".to_string()), @@ -39869,6 +40000,16 @@ pub mod types { .map_err(|e| format!("error converting supplied value for id: {e}")); self } + pub fn max_paths(mut self, value: T) -> Self + where + T: ::std::convert::TryInto, + T::Error: ::std::fmt::Display, + { + self.max_paths = value + .try_into() + .map_err(|e| format!("error converting supplied value for max_paths: {e}")); + self + } pub fn name(mut self, value: T) -> Self where T: ::std::convert::TryInto, @@ -39920,6 +40061,7 @@ pub mod types { asn: value.asn?, description: value.description?, id: value.id?, + max_paths: value.max_paths?, name: value.name?, time_created: value.time_created?, time_modified: value.time_modified?, @@ -39934,6 +40076,7 @@ pub mod types { asn: Ok(value.asn), description: Ok(value.description), id: Ok(value.id), + max_paths: Ok(value.max_paths), name: Ok(value.name), time_created: Ok(value.time_created), time_modified: Ok(value.time_modified), @@ -39947,6 +40090,7 @@ pub mod types { asn: ::std::result::Result, bgp_announce_set_id: ::std::result::Result, description: ::std::result::Result<::std::string::String, ::std::string::String>, + max_paths: ::std::result::Result, name: ::std::result::Result, vrf: ::std::result::Result<::std::option::Option, ::std::string::String>, } @@ -39959,6 +40103,7 @@ pub mod types { "no value supplied for bgp_announce_set_id".to_string() ), description: Err("no value supplied for description".to_string()), + max_paths: Ok(super::defaults::bgp_config_create_max_paths()), name: Err("no value supplied for name".to_string()), vrf: Ok(Default::default()), } @@ -39996,6 +40141,16 @@ pub mod types { .map_err(|e| format!("error converting supplied value for description: {e}")); self } + pub fn max_paths(mut self, value: T) -> Self + where + T: ::std::convert::TryInto, + T::Error: ::std::fmt::Display, + { + self.max_paths = value + .try_into() + .map_err(|e| format!("error converting supplied value for max_paths: {e}")); + self + } pub fn name(mut self, value: T) -> Self where T: ::std::convert::TryInto, @@ -40027,6 +40182,7 @@ pub mod types { asn: value.asn?, bgp_announce_set_id: value.bgp_announce_set_id?, description: value.description?, + max_paths: value.max_paths?, name: value.name?, vrf: value.vrf?, }) @@ -40039,6 +40195,7 @@ pub mod types { asn: Ok(value.asn), bgp_announce_set_id: Ok(value.bgp_announce_set_id), description: Ok(value.description), + max_paths: Ok(value.max_paths), name: Ok(value.name), vrf: Ok(value.vrf), } @@ -40109,34 +40266,50 @@ pub mod types { #[derive(Clone, Debug)] pub struct BgpExported { - exports: ::std::result::Result< - ::std::collections::HashMap<::std::string::String, ::std::vec::Vec>, - ::std::string::String, - >, + peer_id: ::std::result::Result<::std::string::String, ::std::string::String>, + prefix: ::std::result::Result, + switch: ::std::result::Result, } impl ::std::default::Default for BgpExported { fn default() -> Self { Self { - exports: Err("no value supplied for exports".to_string()), + peer_id: Err("no value supplied for peer_id".to_string()), + prefix: Err("no value supplied for prefix".to_string()), + switch: Err("no value supplied for switch".to_string()), } } } impl BgpExported { - pub fn exports(mut self, value: T) -> Self + pub fn peer_id(mut self, value: T) -> Self where - T: ::std::convert::TryInto< - ::std::collections::HashMap< - ::std::string::String, - ::std::vec::Vec, - >, - >, + T: ::std::convert::TryInto<::std::string::String>, + T::Error: ::std::fmt::Display, + { + self.peer_id = value + .try_into() + .map_err(|e| format!("error converting supplied value for peer_id: {e}")); + self + } + pub fn prefix(mut self, value: T) -> Self + where + T: ::std::convert::TryInto, T::Error: ::std::fmt::Display, { - self.exports = value + self.prefix = value .try_into() - .map_err(|e| format!("error converting supplied value for exports: {e}")); + .map_err(|e| format!("error converting supplied value for prefix: {e}")); + self + } + pub fn switch(mut self, value: T) -> Self + where + T: ::std::convert::TryInto, + T::Error: ::std::fmt::Display, + { + self.switch = value + .try_into() + .map_err(|e| format!("error converting supplied value for switch: {e}")); self } } @@ -40147,7 +40320,9 @@ pub mod types { value: BgpExported, ) -> ::std::result::Result { Ok(Self { - exports: value.exports?, + peer_id: value.peer_id?, + prefix: value.prefix?, + switch: value.switch?, }) } } @@ -40155,20 +40330,22 @@ pub mod types { impl ::std::convert::From for BgpExported { fn from(value: super::BgpExported) -> Self { Self { - exports: Ok(value.exports), + peer_id: Ok(value.peer_id), + prefix: Ok(value.prefix), + switch: Ok(value.switch), } } } #[derive(Clone, Debug)] - pub struct BgpImportedRouteIpv4 { + pub struct BgpImported { id: ::std::result::Result, - nexthop: ::std::result::Result<::std::net::Ipv4Addr, ::std::string::String>, - prefix: ::std::result::Result, + nexthop: ::std::result::Result<::std::net::IpAddr, ::std::string::String>, + prefix: ::std::result::Result, switch: ::std::result::Result, } - impl ::std::default::Default for BgpImportedRouteIpv4 { + impl ::std::default::Default for BgpImported { fn default() -> Self { Self { id: Err("no value supplied for id".to_string()), @@ -40179,7 +40356,7 @@ pub mod types { } } - impl BgpImportedRouteIpv4 { + impl BgpImported { pub fn id(mut self, value: T) -> Self where T: ::std::convert::TryInto, @@ -40192,7 +40369,7 @@ pub mod types { } pub fn nexthop(mut self, value: T) -> Self where - T: ::std::convert::TryInto<::std::net::Ipv4Addr>, + T: ::std::convert::TryInto<::std::net::IpAddr>, T::Error: ::std::fmt::Display, { self.nexthop = value @@ -40202,7 +40379,7 @@ pub mod types { } pub fn prefix(mut self, value: T) -> Self where - T: ::std::convert::TryInto, + T: ::std::convert::TryInto, T::Error: ::std::fmt::Display, { self.prefix = value @@ -40222,10 +40399,10 @@ pub mod types { } } - impl ::std::convert::TryFrom for super::BgpImportedRouteIpv4 { + impl ::std::convert::TryFrom for super::BgpImported { type Error = super::error::ConversionError; fn try_from( - value: BgpImportedRouteIpv4, + value: BgpImported, ) -> ::std::result::Result { Ok(Self { id: value.id?, @@ -40236,8 +40413,8 @@ pub mod types { } } - impl ::std::convert::From for BgpImportedRouteIpv4 { - fn from(value: super::BgpImportedRouteIpv4) -> Self { + impl ::std::convert::From for BgpImported { + fn from(value: super::BgpImported) -> Self { Self { id: Ok(value.id), nexthop: Ok(value.nexthop), @@ -40249,7 +40426,10 @@ pub mod types { #[derive(Clone, Debug)] pub struct BgpPeer { - addr: ::std::result::Result<::std::net::IpAddr, ::std::string::String>, + addr: ::std::result::Result< + ::std::option::Option<::std::net::IpAddr>, + ::std::string::String, + >, allowed_export: ::std::result::Result, allowed_import: ::std::result::Result, bgp_config: ::std::result::Result, @@ -40270,13 +40450,14 @@ pub mod types { multi_exit_discriminator: ::std::result::Result<::std::option::Option, ::std::string::String>, remote_asn: ::std::result::Result<::std::option::Option, ::std::string::String>, + router_lifetime: ::std::result::Result, vlan_id: ::std::result::Result<::std::option::Option, ::std::string::String>, } impl ::std::default::Default for BgpPeer { fn default() -> Self { Self { - addr: Err("no value supplied for addr".to_string()), + addr: Ok(Default::default()), allowed_export: Err("no value supplied for allowed_export".to_string()), allowed_import: Err("no value supplied for allowed_import".to_string()), bgp_config: Err("no value supplied for bgp_config".to_string()), @@ -40293,6 +40474,7 @@ pub mod types { min_ttl: Ok(Default::default()), multi_exit_discriminator: Ok(Default::default()), remote_asn: Ok(Default::default()), + router_lifetime: Err("no value supplied for router_lifetime".to_string()), vlan_id: Ok(Default::default()), } } @@ -40301,7 +40483,7 @@ pub mod types { impl BgpPeer { pub fn addr(mut self, value: T) -> Self where - T: ::std::convert::TryInto<::std::net::IpAddr>, + T: ::std::convert::TryInto<::std::option::Option<::std::net::IpAddr>>, T::Error: ::std::fmt::Display, { self.addr = value @@ -40469,6 +40651,16 @@ pub mod types { .map_err(|e| format!("error converting supplied value for remote_asn: {e}")); self } + pub fn router_lifetime(mut self, value: T) -> Self + where + T: ::std::convert::TryInto, + T::Error: ::std::fmt::Display, + { + self.router_lifetime = value.try_into().map_err(|e| { + format!("error converting supplied value for router_lifetime: {e}") + }); + self + } pub fn vlan_id(mut self, value: T) -> Self where T: ::std::convert::TryInto<::std::option::Option>, @@ -40504,6 +40696,7 @@ pub mod types { min_ttl: value.min_ttl?, multi_exit_discriminator: value.multi_exit_discriminator?, remote_asn: value.remote_asn?, + router_lifetime: value.router_lifetime?, vlan_id: value.vlan_id?, }) } @@ -40529,6 +40722,7 @@ pub mod types { min_ttl: Ok(value.min_ttl), multi_exit_discriminator: Ok(value.multi_exit_discriminator), remote_asn: Ok(value.remote_asn), + router_lifetime: Ok(value.router_lifetime), vlan_id: Ok(value.vlan_id), } } @@ -40597,6 +40791,7 @@ pub mod types { pub struct BgpPeerStatus { addr: ::std::result::Result<::std::net::IpAddr, ::std::string::String>, local_asn: ::std::result::Result, + peer_id: ::std::result::Result<::std::string::String, ::std::string::String>, remote_asn: ::std::result::Result, state: ::std::result::Result, state_duration_millis: ::std::result::Result, @@ -40608,6 +40803,7 @@ pub mod types { Self { addr: Err("no value supplied for addr".to_string()), local_asn: Err("no value supplied for local_asn".to_string()), + peer_id: Err("no value supplied for peer_id".to_string()), remote_asn: Err("no value supplied for remote_asn".to_string()), state: Err("no value supplied for state".to_string()), state_duration_millis: Err( @@ -40639,6 +40835,16 @@ pub mod types { .map_err(|e| format!("error converting supplied value for local_asn: {e}")); self } + pub fn peer_id(mut self, value: T) -> Self + where + T: ::std::convert::TryInto<::std::string::String>, + T::Error: ::std::fmt::Display, + { + self.peer_id = value + .try_into() + .map_err(|e| format!("error converting supplied value for peer_id: {e}")); + self + } pub fn remote_asn(mut self, value: T) -> Self where T: ::std::convert::TryInto, @@ -40689,6 +40895,7 @@ pub mod types { Ok(Self { addr: value.addr?, local_asn: value.local_asn?, + peer_id: value.peer_id?, remote_asn: value.remote_asn?, state: value.state?, state_duration_millis: value.state_duration_millis?, @@ -40702,6 +40909,7 @@ pub mod types { Self { addr: Ok(value.addr), local_asn: Ok(value.local_asn), + peer_id: Ok(value.peer_id), remote_asn: Ok(value.remote_asn), state: Ok(value.state), state_duration_millis: Ok(value.state_duration_millis), @@ -65385,12 +65593,24 @@ pub mod types { V } + pub(super) fn default_nzu64() -> T + where + T: ::std::convert::TryFrom<::std::num::NonZeroU64>, + >::Error: ::std::fmt::Debug, + { + T::try_from(::std::num::NonZeroU64::try_from(V).unwrap()).unwrap() + } + pub(super) fn address_allocator_auto_pool_selector() -> super::PoolSelector { super::PoolSelector::Auto { ip_version: ::std::option::Option::None, } } + pub(super) fn bgp_config_create_max_paths() -> super::MaxPathConfig { + super::MaxPathConfig(::std::num::NonZeroU8::new(1).unwrap()) + } + pub(super) fn ephemeral_ip_create_pool_selector() -> super::PoolSelector { super::PoolSelector::Auto { ip_version: ::std::option::Option::None, @@ -65456,7 +65676,7 @@ pub mod types { /// /// API for interacting with the Oxide control plane /// -/// Version: 2026021300.0.0 +/// Version: 2026021301.0.0 pub struct Client { pub(crate) baseurl: String, pub(crate) client: reqwest::Client, @@ -65497,7 +65717,7 @@ impl Client { impl ClientInfo<()> for Client { fn api_version() -> &'static str { - "2026021300.0.0" + "2026021301.0.0" } fn baseurl(&self) -> &str { @@ -70094,7 +70314,7 @@ pub trait ClientSystemNetworkingExt { /// .await; /// ``` fn networking_bgp_announcement_list(&self) -> builder::NetworkingBgpAnnouncementList<'_>; - /// Get BGP exported routes + /// List BGP exported routes /// /// Sends a `GET` request to `/v1/system/networking/bgp-exported` /// @@ -70104,32 +70324,32 @@ pub trait ClientSystemNetworkingExt { /// .await; /// ``` fn networking_bgp_exported(&self) -> builder::NetworkingBgpExported<'_>; - /// Get BGP router message history + /// Get imported IPv4 BGP routes /// - /// Sends a `GET` request to `/v1/system/networking/bgp-message-history` + /// Sends a `GET` request to `/v1/system/networking/bgp-imported` /// /// Arguments: /// - `asn`: The ASN to filter on. Required. /// ```ignore - /// let response = client.networking_bgp_message_history() + /// let response = client.networking_bgp_imported() /// .asn(asn) /// .send() /// .await; /// ``` - fn networking_bgp_message_history(&self) -> builder::NetworkingBgpMessageHistory<'_>; - /// Get imported IPv4 BGP routes + fn networking_bgp_imported(&self) -> builder::NetworkingBgpImported<'_>; + /// Get BGP router message history /// - /// Sends a `GET` request to `/v1/system/networking/bgp-routes-ipv4` + /// Sends a `GET` request to `/v1/system/networking/bgp-message-history` /// /// Arguments: /// - `asn`: The ASN to filter on. Required. /// ```ignore - /// let response = client.networking_bgp_imported_routes_ipv4() + /// let response = client.networking_bgp_message_history() /// .asn(asn) /// .send() /// .await; /// ``` - fn networking_bgp_imported_routes_ipv4(&self) -> builder::NetworkingBgpImportedRoutesIpv4<'_>; + fn networking_bgp_message_history(&self) -> builder::NetworkingBgpMessageHistory<'_>; /// Get BGP peer status /// /// Sends a `GET` request to `/v1/system/networking/bgp-status` @@ -70374,12 +70594,12 @@ impl ClientSystemNetworkingExt for Client { builder::NetworkingBgpExported::new(self) } - fn networking_bgp_message_history(&self) -> builder::NetworkingBgpMessageHistory<'_> { - builder::NetworkingBgpMessageHistory::new(self) + fn networking_bgp_imported(&self) -> builder::NetworkingBgpImported<'_> { + builder::NetworkingBgpImported::new(self) } - fn networking_bgp_imported_routes_ipv4(&self) -> builder::NetworkingBgpImportedRoutesIpv4<'_> { - builder::NetworkingBgpImportedRoutesIpv4::new(self) + fn networking_bgp_message_history(&self) -> builder::NetworkingBgpMessageHistory<'_> { + builder::NetworkingBgpMessageHistory::new(self) } fn networking_bgp_status(&self) -> builder::NetworkingBgpStatus<'_> { @@ -96727,7 +96947,10 @@ pub mod builder { } /// Sends a `GET` request to `/v1/system/networking/bgp-exported` - pub async fn send(self) -> Result, Error> { + pub async fn send( + self, + ) -> Result>, Error> + { let Self { client } = self; let url = format!("{}/v1/system/networking/bgp-exported", client.baseurl,); let mut header_map = ::reqwest::header::HeaderMap::with_capacity(1usize); @@ -96765,17 +96988,16 @@ pub mod builder { } } - /// Builder for - /// [`ClientSystemNetworkingExt::networking_bgp_message_history`] + /// Builder for [`ClientSystemNetworkingExt::networking_bgp_imported`] /// - /// [`ClientSystemNetworkingExt::networking_bgp_message_history`]: super::ClientSystemNetworkingExt::networking_bgp_message_history + /// [`ClientSystemNetworkingExt::networking_bgp_imported`]: super::ClientSystemNetworkingExt::networking_bgp_imported #[derive(Debug, Clone)] - pub struct NetworkingBgpMessageHistory<'a> { + pub struct NetworkingBgpImported<'a> { client: &'a super::Client, asn: Result, } - impl<'a> NetworkingBgpMessageHistory<'a> { + impl<'a> NetworkingBgpImported<'a> { pub fn new(client: &'a super::Client) -> Self { Self { client: client, @@ -96793,16 +97015,14 @@ pub mod builder { self } - /// Sends a `GET` request to `/v1/system/networking/bgp-message-history` + /// Sends a `GET` request to `/v1/system/networking/bgp-imported` pub async fn send( self, - ) -> Result, Error> { + ) -> Result>, Error> + { let Self { client, asn } = self; let asn = asn.map_err(Error::InvalidRequest)?; - let url = format!( - "{}/v1/system/networking/bgp-message-history", - client.baseurl, - ); + let url = format!("{}/v1/system/networking/bgp-imported", client.baseurl,); let mut header_map = ::reqwest::header::HeaderMap::with_capacity(1usize); header_map.append( ::reqwest::header::HeaderName::from_static("api-version"), @@ -96820,7 +97040,7 @@ pub mod builder { .headers(header_map) .build()?; let info = OperationInfo { - operation_id: "networking_bgp_message_history", + operation_id: "networking_bgp_imported", }; client.pre(&mut request, &info).await?; let result = client.exec(request, &info).await; @@ -96840,16 +97060,16 @@ pub mod builder { } /// Builder for - /// [`ClientSystemNetworkingExt::networking_bgp_imported_routes_ipv4`] + /// [`ClientSystemNetworkingExt::networking_bgp_message_history`] /// - /// [`ClientSystemNetworkingExt::networking_bgp_imported_routes_ipv4`]: super::ClientSystemNetworkingExt::networking_bgp_imported_routes_ipv4 + /// [`ClientSystemNetworkingExt::networking_bgp_message_history`]: super::ClientSystemNetworkingExt::networking_bgp_message_history #[derive(Debug, Clone)] - pub struct NetworkingBgpImportedRoutesIpv4<'a> { + pub struct NetworkingBgpMessageHistory<'a> { client: &'a super::Client, asn: Result, } - impl<'a> NetworkingBgpImportedRoutesIpv4<'a> { + impl<'a> NetworkingBgpMessageHistory<'a> { pub fn new(client: &'a super::Client) -> Self { Self { client: client, @@ -96867,14 +97087,16 @@ pub mod builder { self } - /// Sends a `GET` request to `/v1/system/networking/bgp-routes-ipv4` + /// Sends a `GET` request to `/v1/system/networking/bgp-message-history` pub async fn send( self, - ) -> Result>, Error> - { + ) -> Result, Error> { let Self { client, asn } = self; let asn = asn.map_err(Error::InvalidRequest)?; - let url = format!("{}/v1/system/networking/bgp-routes-ipv4", client.baseurl,); + let url = format!( + "{}/v1/system/networking/bgp-message-history", + client.baseurl, + ); let mut header_map = ::reqwest::header::HeaderMap::with_capacity(1usize); header_map.append( ::reqwest::header::HeaderName::from_static("api-version"), @@ -96892,7 +97114,7 @@ pub mod builder { .headers(header_map) .build()?; let info = OperationInfo { - operation_id: "networking_bgp_imported_routes_ipv4", + operation_id: "networking_bgp_message_history", }; client.pre(&mut request, &info).await?; let result = client.exec(request, &info).await; From bd9c23df8d9ec1c4c1a0b61233488cba8180b7ba Mon Sep 17 00:00:00 2001 From: "oxide-reflector-bot[bot]" <130185838+oxide-reflector-bot[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 00:53:28 +0000 Subject: [PATCH 2/9] Rebuilt with latest dependency updates --- Cargo.lock | 94 +++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1da06d74..fe79c0d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -121,7 +121,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", "synstructure", ] @@ -133,7 +133,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -201,7 +201,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -212,7 +212,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -486,7 +486,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -746,7 +746,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -757,7 +757,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -809,7 +809,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -830,7 +830,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -917,7 +917,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -991,7 +991,7 @@ dependencies = [ "semver", "serde", "serde_tokenstream", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -1302,7 +1302,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -1880,7 +1880,7 @@ dependencies = [ "indoc", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -2000,7 +2000,7 @@ checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -2399,7 +2399,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -2514,7 +2514,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -2771,7 +2771,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -2824,7 +2824,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -2940,7 +2940,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -2955,7 +2955,7 @@ dependencies = [ [[package]] name = "progenitor" version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#0fc03d0fe1579ea6d3f1748e01cd035dbccf97b1" +source = "git+https://github.com/oxidecomputer/progenitor#b85633b980c25747a5b1ebbc8b5cb10317abdb5e" dependencies = [ "progenitor-impl", ] @@ -2978,7 +2978,7 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#0fc03d0fe1579ea6d3f1748e01cd035dbccf97b1" +source = "git+https://github.com/oxidecomputer/progenitor#b85633b980c25747a5b1ebbc8b5cb10317abdb5e" dependencies = [ "heck", "http 1.4.0", @@ -2990,7 +2990,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "syn 2.0.114", + "syn 2.0.116", "thiserror 2.0.18", "typify", "unicode-ident", @@ -3602,7 +3602,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -3684,7 +3684,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -3695,7 +3695,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -3759,7 +3759,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -4023,7 +4023,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -4035,7 +4035,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -4073,9 +4073,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb" dependencies = [ "proc-macro2", "quote", @@ -4099,7 +4099,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -4145,7 +4145,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0136791f7c95b1f6dd99f9cc786b91bb81c3800b639b3478e561ddb7be95e5f1" dependencies = [ "fastrand", - "getrandom 0.3.3", + "getrandom 0.4.1", "once_cell", "rustix 1.1.3", "windows-sys 0.61.1", @@ -4297,7 +4297,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -4308,7 +4308,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -4420,7 +4420,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -4650,7 +4650,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -4761,7 +4761,7 @@ dependencies = [ "semver", "serde", "serde_json", - "syn 2.0.114", + "syn 2.0.116", "thiserror 2.0.18", "unicode-ident", ] @@ -4779,7 +4779,7 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream", - "syn 2.0.114", + "syn 2.0.116", "typify-impl", ] @@ -5040,7 +5040,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", "wasm-bindgen-shared", ] @@ -5253,7 +5253,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -5264,7 +5264,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -5586,7 +5586,7 @@ dependencies = [ "heck", "indexmap", "prettyplease", - "syn 2.0.114", + "syn 2.0.116", "wasm-metadata", "wit-bindgen-core", "wit-component", @@ -5602,7 +5602,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", "wit-bindgen-core", "wit-bindgen-rust", ] @@ -5717,7 +5717,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", "synstructure", ] @@ -5738,7 +5738,7 @@ checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] @@ -5758,7 +5758,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", "synstructure", ] @@ -5798,7 +5798,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.116", ] [[package]] From a4b68c33bd4179fe82fec42daba30369bb8c3200 Mon Sep 17 00:00:00 2001 From: "oxide-reflector-bot[bot]" <130185838+oxide-reflector-bot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 17:54:18 +0000 Subject: [PATCH 3/9] Rebuilt with latest dependency updates --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6d8685a1..d6326814 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2931,7 +2931,7 @@ dependencies = [ [[package]] name = "progenitor" version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#b85633b980c25747a5b1ebbc8b5cb10317abdb5e" +source = "git+https://github.com/oxidecomputer/progenitor#0077bbe37a3306da62d55455f0f7c056b1036c91" dependencies = [ "progenitor-impl", ] @@ -2954,7 +2954,7 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#b85633b980c25747a5b1ebbc8b5cb10317abdb5e" +source = "git+https://github.com/oxidecomputer/progenitor#0077bbe37a3306da62d55455f0f7c056b1036c91" dependencies = [ "heck", "http 1.4.0", From dbed76d4e436fc199ccffd2de00ea6b10845a0f1 Mon Sep 17 00:00:00 2001 From: "oxide-reflector-bot[bot]" <130185838+oxide-reflector-bot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 22:02:43 +0000 Subject: [PATCH 4/9] Rebuilt with latest dependency updates --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d6326814..1d57b013 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2931,7 +2931,7 @@ dependencies = [ [[package]] name = "progenitor" version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#0077bbe37a3306da62d55455f0f7c056b1036c91" +source = "git+https://github.com/oxidecomputer/progenitor#abc289fe11cd87b438916684951ac3f9ba9b6c84" dependencies = [ "progenitor-impl", ] @@ -2954,7 +2954,7 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#0077bbe37a3306da62d55455f0f7c056b1036c91" +source = "git+https://github.com/oxidecomputer/progenitor#abc289fe11cd87b438916684951ac3f9ba9b6c84" dependencies = [ "heck", "http 1.4.0", From 5028e20c2cbe13be272f0521682abf4196de2d28 Mon Sep 17 00:00:00 2001 From: "oxide-reflector-bot[bot]" <130185838+oxide-reflector-bot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 22:29:46 +0000 Subject: [PATCH 5/9] Rebuilt with latest dependency updates --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1d57b013..93dc45f9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2931,7 +2931,7 @@ dependencies = [ [[package]] name = "progenitor" version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#abc289fe11cd87b438916684951ac3f9ba9b6c84" +source = "git+https://github.com/oxidecomputer/progenitor#c1af826edde12f571c0e41100ea3abc7eb996dd5" dependencies = [ "progenitor-impl", ] @@ -2954,7 +2954,7 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#abc289fe11cd87b438916684951ac3f9ba9b6c84" +source = "git+https://github.com/oxidecomputer/progenitor#c1af826edde12f571c0e41100ea3abc7eb996dd5" dependencies = [ "heck", "http 1.4.0", From 10b9f6d3607ddfe3338da94238605418a25fb7d4 Mon Sep 17 00:00:00 2001 From: "oxide-reflector-bot[bot]" <130185838+oxide-reflector-bot[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 20:17:54 +0000 Subject: [PATCH 6/9] Rebuilt with latest dependency updates --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1db9d9ea..47720d03 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2930,8 +2930,8 @@ dependencies = [ [[package]] name = "progenitor" -version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#c1af826edde12f571c0e41100ea3abc7eb996dd5" +version = "0.13.0" +source = "git+https://github.com/oxidecomputer/progenitor#b36be7b9d04dba5941466522394a8450eabcba56" dependencies = [ "progenitor-impl", ] @@ -2953,8 +2953,8 @@ dependencies = [ [[package]] name = "progenitor-impl" -version = "0.12.0" -source = "git+https://github.com/oxidecomputer/progenitor#c1af826edde12f571c0e41100ea3abc7eb996dd5" +version = "0.13.0" +source = "git+https://github.com/oxidecomputer/progenitor#b36be7b9d04dba5941466522394a8450eabcba56" dependencies = [ "heck", "http 1.4.0", From b9db9aae481d533eab30fe7dc2ae07bcb925f2f5 Mon Sep 17 00:00:00 2001 From: "oxide-reflector-bot[bot]" <130185838+oxide-reflector-bot[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 16:26:19 +0000 Subject: [PATCH 7/9] Rebuilt with latest dependency updates --- cli/src/generated_cli.rs | 75 ------- oxide.json | 66 +----- sdk-httpmock/src/generated_httpmock.rs | 74 ------- sdk/src/generated_sdk.rs | 271 +------------------------ 4 files changed, 3 insertions(+), 483 deletions(-) diff --git a/cli/src/generated_cli.rs b/cli/src/generated_cli.rs index 3f0d72d8..409b8a44 100644 --- a/cli/src/generated_cli.rs +++ b/cli/src/generated_cli.rs @@ -207,7 +207,6 @@ impl Cli { CliCommand::RackMembershipAbort => Self::cli_rack_membership_abort(), CliCommand::RackMembershipAddSleds => Self::cli_rack_membership_add_sleds(), CliCommand::SledList => Self::cli_sled_list(), - CliCommand::SledAdd => Self::cli_sled_add(), CliCommand::SledView => Self::cli_sled_view(), CliCommand::SledPhysicalDiskList => Self::cli_sled_physical_disk_list(), CliCommand::SledInstanceList => Self::cli_sled_instance_list(), @@ -5261,37 +5260,6 @@ impl Cli { .about("List sleds") } - pub fn cli_sled_add() -> ::clap::Command { - ::clap::Command::new("") - .arg( - ::clap::Arg::new("part") - .long("part") - .value_parser(::clap::value_parser!(::std::string::String)) - .required_unless_present("json-body"), - ) - .arg( - ::clap::Arg::new("serial") - .long("serial") - .value_parser(::clap::value_parser!(::std::string::String)) - .required_unless_present("json-body"), - ) - .arg( - ::clap::Arg::new("json-body") - .long("json-body") - .value_name("JSON-FILE") - .required(false) - .value_parser(::clap::value_parser!(std::path::PathBuf)) - .help("Path to a file that contains the full json body."), - ) - .arg( - ::clap::Arg::new("json-body-template") - .long("json-body-template") - .action(::clap::ArgAction::SetTrue) - .help("XXX"), - ) - .about("Add sled to initialized rack") - } - pub fn cli_sled_view() -> ::clap::Command { ::clap::Command::new("") .arg( @@ -9869,7 +9837,6 @@ impl Cli { self.execute_rack_membership_add_sleds(matches).await } CliCommand::SledList => self.execute_sled_list(matches).await, - CliCommand::SledAdd => self.execute_sled_add(matches).await, CliCommand::SledView => self.execute_sled_view(matches).await, CliCommand::SledPhysicalDiskList => self.execute_sled_physical_disk_list(matches).await, CliCommand::SledInstanceList => self.execute_sled_instance_list(matches).await, @@ -15782,38 +15749,6 @@ impl Cli { } } - pub async fn execute_sled_add(&self, matches: &::clap::ArgMatches) -> anyhow::Result<()> { - let mut request = self.client.sled_add(); - if let Some(value) = matches.get_one::<::std::string::String>("part") { - request = request.body_map(|body| body.part(value.clone())) - } - - if let Some(value) = matches.get_one::<::std::string::String>("serial") { - request = request.body_map(|body| body.serial(value.clone())) - } - - if let Some(value) = matches.get_one::("json-body") { - let body_txt = std::fs::read_to_string(value) - .with_context(|| format!("failed to read {}", value.display()))?; - let body_value = serde_json::from_str::(&body_txt) - .with_context(|| format!("failed to parse {}", value.display()))?; - request = request.body(body_value); - } - - self.config.execute_sled_add(matches, &mut request)?; - let result = request.send().await; - match result { - Ok(r) => { - self.config.success_item(&r); - Ok(()) - } - Err(r) => { - self.config.error(&r); - Err(anyhow::Error::new(r)) - } - } - } - pub async fn execute_sled_view(&self, matches: &::clap::ArgMatches) -> anyhow::Result<()> { let mut request = self.client.sled_view(); if let Some(value) = matches.get_one::<::uuid::Uuid>("sled-id") { @@ -22265,14 +22200,6 @@ pub trait CliConfig { Ok(()) } - fn execute_sled_add( - &self, - matches: &::clap::ArgMatches, - request: &mut builder::SledAdd, - ) -> anyhow::Result<()> { - Ok(()) - } - fn execute_sled_view( &self, matches: &::clap::ArgMatches, @@ -23629,7 +23556,6 @@ pub enum CliCommand { RackMembershipAbort, RackMembershipAddSleds, SledList, - SledAdd, SledView, SledPhysicalDiskList, SledInstanceList, @@ -23945,7 +23871,6 @@ impl CliCommand { CliCommand::RackMembershipAbort, CliCommand::RackMembershipAddSleds, CliCommand::SledList, - CliCommand::SledAdd, CliCommand::SledView, CliCommand::SledPhysicalDiskList, CliCommand::SledInstanceList, diff --git a/oxide.json b/oxide.json index 2fe07ce3..c533aa35 100644 --- a/oxide.json +++ b/oxide.json @@ -7,7 +7,7 @@ "url": "https://oxide.computer", "email": "api@oxide.computer" }, - "version": "2026021301.0.0" + "version": "2026021900.0.0" }, "paths": { "/device/auth": { @@ -8170,41 +8170,6 @@ "x-dropshot-pagination": { "required": [] } - }, - "post": { - "tags": [ - "system/hardware" - ], - "summary": "Add sled to initialized rack", - "operationId": "sled_add", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UninitializedSledId" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "successful creation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SledId" - } - } - } - }, - "4XX": { - "$ref": "#/components/responses/Error" - }, - "5XX": { - "$ref": "#/components/responses/Error" - } - } } }, "/v1/system/hardware/sleds/{sled_id}": { @@ -27579,19 +27544,6 @@ "usable_physical_ram" ] }, - "SledId": { - "description": "The unique ID of a sled.", - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - } - }, - "required": [ - "id" - ] - }, "SledInstance": { "description": "An operator's view of an instance running on a given sled", "type": "object", @@ -29671,22 +29623,6 @@ "rack_id" ] }, - "UninitializedSledId": { - "description": "The unique hardware ID for a sled", - "type": "object", - "properties": { - "part": { - "type": "string" - }, - "serial": { - "type": "string" - } - }, - "required": [ - "part", - "serial" - ] - }, "UninitializedSledResultsPage": { "description": "A single page of results", "type": "object", diff --git a/sdk-httpmock/src/generated_httpmock.rs b/sdk-httpmock/src/generated_httpmock.rs index 9fdc2008..2f4b65f9 100644 --- a/sdk-httpmock/src/generated_httpmock.rs +++ b/sdk-httpmock/src/generated_httpmock.rs @@ -12287,65 +12287,6 @@ pub mod operations { } } - pub struct SledAddWhen(::httpmock::When); - impl SledAddWhen { - pub fn new(inner: ::httpmock::When) -> Self { - Self( - inner - .method(::httpmock::Method::POST) - .path_matches(regex::Regex::new("^/v1/system/hardware/sleds$").unwrap()), - ) - } - - pub fn into_inner(self) -> ::httpmock::When { - self.0 - } - - pub fn body(self, value: &types::UninitializedSledId) -> Self { - Self(self.0.json_body_obj(value)) - } - } - - pub struct SledAddThen(::httpmock::Then); - impl SledAddThen { - pub fn new(inner: ::httpmock::Then) -> Self { - Self(inner) - } - - pub fn into_inner(self) -> ::httpmock::Then { - self.0 - } - - pub fn created(self, value: &types::SledId) -> Self { - Self( - self.0 - .status(201u16) - .header("content-type", "application/json") - .json_body_obj(value), - ) - } - - pub fn client_error(self, status: u16, value: &types::Error) -> Self { - assert_eq!(status / 100u16, 4u16); - Self( - self.0 - .status(status) - .header("content-type", "application/json") - .json_body_obj(value), - ) - } - - pub fn server_error(self, status: u16, value: &types::Error) -> Self { - assert_eq!(status / 100u16, 5u16); - Self( - self.0 - .status(status) - .header("content-type", "application/json") - .json_body_obj(value), - ) - } - } - pub struct SledViewWhen(::httpmock::When); impl SledViewWhen { pub fn new(inner: ::httpmock::When) -> Self { @@ -23652,9 +23593,6 @@ pub trait MockServerExt { fn sled_list(&self, config_fn: F) -> ::httpmock::Mock<'_> where F: FnOnce(operations::SledListWhen, operations::SledListThen); - fn sled_add(&self, config_fn: F) -> ::httpmock::Mock<'_> - where - F: FnOnce(operations::SledAddWhen, operations::SledAddThen); fn sled_view(&self, config_fn: F) -> ::httpmock::Mock<'_> where F: FnOnce(operations::SledViewWhen, operations::SledViewThen); @@ -26301,18 +26239,6 @@ impl MockServerExt for ::httpmock::MockServer { }) } - fn sled_add(&self, config_fn: F) -> ::httpmock::Mock<'_> - where - F: FnOnce(operations::SledAddWhen, operations::SledAddThen), - { - self.mock(|when, then| { - config_fn( - operations::SledAddWhen::new(when), - operations::SledAddThen::new(then), - ) - }) - } - fn sled_view(&self, config_fn: F) -> ::httpmock::Mock<'_> where F: FnOnce(operations::SledViewWhen, operations::SledViewThen), diff --git a/sdk/src/generated_sdk.rs b/sdk/src/generated_sdk.rs index 4a2ed202..2b041980 100644 --- a/sdk/src/generated_sdk.rs +++ b/sdk/src/generated_sdk.rs @@ -26853,39 +26853,6 @@ pub mod types { } } - /// The unique ID of a sled. - /// - ///
JSON schema - /// - /// ```json - /// { - /// "description": "The unique ID of a sled.", - /// "type": "object", - /// "required": [ - /// "id" - /// ], - /// "properties": { - /// "id": { - /// "type": "string", - /// "format": "uuid" - /// } - /// } - /// } - /// ``` - ///
- #[derive( - :: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, schemars :: JsonSchema, - )] - pub struct SledId { - pub id: ::uuid::Uuid, - } - - impl SledId { - pub fn builder() -> builder::SledId { - Default::default() - } - } - /// An operator's view of an instance running on a given sled /// ///
JSON schema @@ -32246,43 +32213,6 @@ pub mod types { } } - /// The unique hardware ID for a sled - /// - ///
JSON schema - /// - /// ```json - /// { - /// "description": "The unique hardware ID for a sled", - /// "type": "object", - /// "required": [ - /// "part", - /// "serial" - /// ], - /// "properties": { - /// "part": { - /// "type": "string" - /// }, - /// "serial": { - /// "type": "string" - /// } - /// } - /// } - /// ``` - ///
- #[derive( - :: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, schemars :: JsonSchema, - )] - pub struct UninitializedSledId { - pub part: ::std::string::String, - pub serial: ::std::string::String, - } - - impl UninitializedSledId { - pub fn builder() -> builder::UninitializedSledId { - Default::default() - } - } - /// A single page of results /// ///
JSON schema @@ -57255,47 +57185,6 @@ pub mod types { } } - #[derive(Clone, Debug)] - pub struct SledId { - id: ::std::result::Result<::uuid::Uuid, ::std::string::String>, - } - - impl ::std::default::Default for SledId { - fn default() -> Self { - Self { - id: Err("no value supplied for id".to_string()), - } - } - } - - impl SledId { - pub fn id(mut self, value: T) -> Self - where - T: ::std::convert::TryInto<::uuid::Uuid>, - T::Error: ::std::fmt::Display, - { - self.id = value - .try_into() - .map_err(|e| format!("error converting supplied value for id: {e}")); - self - } - } - - impl ::std::convert::TryFrom for super::SledId { - type Error = super::error::ConversionError; - fn try_from( - value: SledId, - ) -> ::std::result::Result { - Ok(Self { id: value.id? }) - } - } - - impl ::std::convert::From for SledId { - fn from(value: super::SledId) -> Self { - Self { id: Ok(value.id) } - } - } - #[derive(Clone, Debug)] pub struct SledInstance { active_sled_id: ::std::result::Result<::uuid::Uuid, ::std::string::String>, @@ -62244,65 +62133,6 @@ pub mod types { } } - #[derive(Clone, Debug)] - pub struct UninitializedSledId { - part: ::std::result::Result<::std::string::String, ::std::string::String>, - serial: ::std::result::Result<::std::string::String, ::std::string::String>, - } - - impl ::std::default::Default for UninitializedSledId { - fn default() -> Self { - Self { - part: Err("no value supplied for part".to_string()), - serial: Err("no value supplied for serial".to_string()), - } - } - } - - impl UninitializedSledId { - pub fn part(mut self, value: T) -> Self - where - T: ::std::convert::TryInto<::std::string::String>, - T::Error: ::std::fmt::Display, - { - self.part = value - .try_into() - .map_err(|e| format!("error converting supplied value for part: {e}")); - self - } - pub fn serial(mut self, value: T) -> Self - where - T: ::std::convert::TryInto<::std::string::String>, - T::Error: ::std::fmt::Display, - { - self.serial = value - .try_into() - .map_err(|e| format!("error converting supplied value for serial: {e}")); - self - } - } - - impl ::std::convert::TryFrom for super::UninitializedSledId { - type Error = super::error::ConversionError; - fn try_from( - value: UninitializedSledId, - ) -> ::std::result::Result { - Ok(Self { - part: value.part?, - serial: value.serial?, - }) - } - } - - impl ::std::convert::From for UninitializedSledId { - fn from(value: super::UninitializedSledId) -> Self { - Self { - part: Ok(value.part), - serial: Ok(value.serial), - } - } - } - #[derive(Clone, Debug)] pub struct UninitializedSledResultsPage { items: ::std::result::Result< @@ -65676,7 +65506,7 @@ pub mod types { /// /// API for interacting with the Oxide control plane /// -/// Version: 2026021301.0.0 +/// Version: 2026021900.0.0 pub struct Client { pub(crate) baseurl: String, pub(crate) client: reqwest::Client, @@ -65717,7 +65547,7 @@ impl Client { impl ClientInfo<()> for Client { fn api_version() -> &'static str { - "2026021301.0.0" + "2026021900.0.0" } fn baseurl(&self) -> &str { @@ -69302,17 +69132,6 @@ pub trait ClientSystemHardwareExt { /// .await; /// ``` fn sled_list(&self) -> builder::SledList<'_>; - /// Add sled to initialized rack - /// - /// Sends a `POST` request to `/v1/system/hardware/sleds` - /// - /// ```ignore - /// let response = client.sled_add() - /// .body(body) - /// .send() - /// .await; - /// ``` - fn sled_add(&self) -> builder::SledAdd<'_>; /// Fetch sled /// /// Sends a `GET` request to `/v1/system/hardware/sleds/{sled_id}` @@ -69535,10 +69354,6 @@ impl ClientSystemHardwareExt for Client { builder::SledList::new(self) } - fn sled_add(&self) -> builder::SledAdd<'_> { - builder::SledAdd::new(self) - } - fn sled_view(&self) -> builder::SledView<'_> { builder::SledView::new(self) } @@ -91051,88 +90866,6 @@ pub mod builder { } } - /// Builder for [`ClientSystemHardwareExt::sled_add`] - /// - /// [`ClientSystemHardwareExt::sled_add`]: super::ClientSystemHardwareExt::sled_add - #[derive(Debug, Clone)] - pub struct SledAdd<'a> { - client: &'a super::Client, - body: Result, - } - - impl<'a> SledAdd<'a> { - pub fn new(client: &'a super::Client) -> Self { - Self { - client: client, - body: Ok(::std::default::Default::default()), - } - } - - pub fn body(mut self, value: V) -> Self - where - V: std::convert::TryInto, - >::Error: std::fmt::Display, - { - self.body = value - .try_into() - .map(From::from) - .map_err(|s| format!("conversion to `UninitializedSledId` for body failed: {}", s)); - self - } - - pub fn body_map(mut self, f: F) -> Self - where - F: std::ops::FnOnce( - types::builder::UninitializedSledId, - ) -> types::builder::UninitializedSledId, - { - self.body = self.body.map(f); - self - } - - /// Sends a `POST` request to `/v1/system/hardware/sleds` - pub async fn send(self) -> Result, Error> { - let Self { client, body } = self; - let body = body - .and_then(|v| types::UninitializedSledId::try_from(v).map_err(|e| e.to_string())) - .map_err(Error::InvalidRequest)?; - let url = format!("{}/v1/system/hardware/sleds", client.baseurl,); - let mut header_map = ::reqwest::header::HeaderMap::with_capacity(1usize); - header_map.append( - ::reqwest::header::HeaderName::from_static("api-version"), - ::reqwest::header::HeaderValue::from_static(super::Client::api_version()), - ); - #[allow(unused_mut)] - let mut request = client - .client - .post(url) - .header( - ::reqwest::header::ACCEPT, - ::reqwest::header::HeaderValue::from_static("application/json"), - ) - .json(&body) - .headers(header_map) - .build()?; - let info = OperationInfo { - operation_id: "sled_add", - }; - client.pre(&mut request, &info).await?; - let result = client.exec(request, &info).await; - client.post(&result, &info).await?; - let response = result?; - match response.status().as_u16() { - 201u16 => ResponseValue::from_response(response).await, - 400u16..=499u16 => Err(Error::ErrorResponse( - ResponseValue::from_response(response).await?, - )), - 500u16..=599u16 => Err(Error::ErrorResponse( - ResponseValue::from_response(response).await?, - )), - _ => Err(Error::UnexpectedResponse(response)), - } - } - } - /// Builder for [`ClientSystemHardwareExt::sled_view`] /// /// [`ClientSystemHardwareExt::sled_view`]: super::ClientSystemHardwareExt::sled_view From 9787ed66ae94c5503e09850117c63cc980a21ba2 Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Fri, 27 Feb 2026 10:01:24 -0800 Subject: [PATCH 8/9] remove sled add --- cli/docs/cli.json | 25 ------------------------- cli/src/cli_builder.rs | 1 - 2 files changed, 26 deletions(-) diff --git a/cli/docs/cli.json b/cli/docs/cli.json index 92db31e3..27269d31 100644 --- a/cli/docs/cli.json +++ b/cli/docs/cli.json @@ -5640,31 +5640,6 @@ } ], "subcommands": [ - { - "name": "add", - "about": "Add sled to initialized rack", - "args": [ - { - "long": "json-body", - "help": "Path to a file that contains the full json body." - }, - { - "long": "json-body-template", - "help": "XXX" - }, - { - "long": "part" - }, - { - "long": "profile", - "help": "Configuration profile to use for commands", - "global": true - }, - { - "long": "serial" - } - ] - }, { "name": "disk-led", "about": "List physical disks attached to sleds", diff --git a/cli/src/cli_builder.rs b/cli/src/cli_builder.rs index 024b1794..091c99e7 100644 --- a/cli/src/cli_builder.rs +++ b/cli/src/cli_builder.rs @@ -710,7 +710,6 @@ fn xxx<'a>(command: CliCommand) -> Option<&'a str> { CliCommand::SledList => Some("system hardware sled list"), CliCommand::SledListUninitialized => Some("system hardware sled list-uninitialized"), CliCommand::SledView => Some("system hardware sled view"), - CliCommand::SledAdd => Some("system hardware sled add"), CliCommand::SledSetProvisionPolicy => Some("system hardware sled set-provision-policy"), CliCommand::SledInstanceList => Some("system hardware sled instance-list"), CliCommand::PhysicalDiskList => Some("system hardware disk list"), From 728d1f034347a2929c47900865ff771d856ec18e Mon Sep 17 00:00:00 2001 From: "oxide-reflector-bot[bot]" <130185838+oxide-reflector-bot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 18:26:33 +0000 Subject: [PATCH 9/9] Rebuilt with latest dependency updates --- Cargo.lock | 92 +++++++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index be2911ad..86a4bee9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -121,7 +121,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", "synstructure", ] @@ -133,7 +133,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -201,7 +201,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -212,7 +212,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -476,7 +476,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -735,7 +735,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -746,7 +746,7 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -798,7 +798,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -820,7 +820,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -907,7 +907,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -981,7 +981,7 @@ dependencies = [ "semver", "serde", "serde_tokenstream", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -1291,7 +1291,7 @@ checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -1865,7 +1865,7 @@ dependencies = [ "indoc", "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -1985,7 +1985,7 @@ checksum = "f7946b4325269738f270bb55b3c19ab5c5040525f83fd625259422a9d25d9be5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -2381,7 +2381,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -2496,7 +2496,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -2747,7 +2747,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -2800,7 +2800,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -2916,7 +2916,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -2931,7 +2931,7 @@ dependencies = [ [[package]] name = "progenitor" version = "0.13.0" -source = "git+https://github.com/oxidecomputer/progenitor#b36be7b9d04dba5941466522394a8450eabcba56" +source = "git+https://github.com/oxidecomputer/progenitor#54ee668b3b458c882a35787dc2a475d854d0a485" dependencies = [ "progenitor-impl", ] @@ -2954,7 +2954,7 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.13.0" -source = "git+https://github.com/oxidecomputer/progenitor#b36be7b9d04dba5941466522394a8450eabcba56" +source = "git+https://github.com/oxidecomputer/progenitor#54ee668b3b458c882a35787dc2a475d854d0a485" dependencies = [ "heck", "http 1.4.0", @@ -2966,7 +2966,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "syn 2.0.116", + "syn 2.0.117", "thiserror 2.0.18", "typify", "unicode-ident", @@ -3578,7 +3578,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -3647,7 +3647,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -3658,7 +3658,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -3722,7 +3722,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -3974,7 +3974,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -3986,7 +3986,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -4024,9 +4024,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.116" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -4050,7 +4050,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -4248,7 +4248,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -4259,7 +4259,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -4370,7 +4370,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -4624,7 +4624,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -4735,7 +4735,7 @@ dependencies = [ "semver", "serde", "serde_json", - "syn 2.0.116", + "syn 2.0.117", "thiserror 2.0.18", "unicode-ident", ] @@ -4753,7 +4753,7 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream", - "syn 2.0.116", + "syn 2.0.117", "typify-impl", ] @@ -5005,7 +5005,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", "wasm-bindgen-shared", ] @@ -5218,7 +5218,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -5229,7 +5229,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -5537,7 +5537,7 @@ dependencies = [ "heck", "indexmap", "prettyplease", - "syn 2.0.116", + "syn 2.0.117", "wasm-metadata", "wit-bindgen-core", "wit-component", @@ -5553,7 +5553,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", "wit-bindgen-core", "wit-bindgen-rust", ] @@ -5667,7 +5667,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", "synstructure", ] @@ -5688,7 +5688,7 @@ checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]] @@ -5708,7 +5708,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", "synstructure", ] @@ -5748,7 +5748,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.116", + "syn 2.0.117", ] [[package]]