diff --git a/progenitor-impl/src/method.rs b/progenitor-impl/src/method.rs index 790d027..c9dd43e 100644 --- a/progenitor-impl/src/method.rs +++ b/progenitor-impl/src/method.rs @@ -1550,7 +1550,7 @@ impl Generator { }) .collect::>>()?; - // For builders we map `Ok` values to perform a `try_into` to attempt + // For builders we map `Ok` values to perform a `try_from` to attempt // to convert the builder into the desired type. No "finalization" is // required for non-builders (required or optional). let param_finalize = method @@ -1562,9 +1562,8 @@ impl Generator { if ty.builder().is_some() { let type_name = ty.ident(); Ok(quote! { - .and_then( - std::convert::TryInto::<#type_name>::try_into - ) + .and_then(|v| #type_name::try_from(v) + .map_err(|e| e.to_string())) }) } else { Ok(quote! {}) diff --git a/progenitor-impl/tests/output/buildomat-builder-tagged.out b/progenitor-impl/tests/output/buildomat-builder-tagged.out index b4e6eaf..324c81a 100644 --- a/progenitor-impl/tests/output/buildomat-builder-tagged.out +++ b/progenitor-impl/tests/output/buildomat-builder-tagged.out @@ -2539,7 +2539,7 @@ pub mod builder { pub async fn send(self) -> Result, Error<()>> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::TaskSubmit::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/tasks", client.baseurl,); let request = client @@ -2794,7 +2794,7 @@ pub mod builder { pub async fn send(self) -> Result, Error<()>> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::UserCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/users", client.baseurl,); let request = client @@ -2941,7 +2941,7 @@ pub mod builder { pub async fn send(self) -> Result, Error<()>> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::WorkerBootstrap::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/worker/bootstrap", client.baseurl,); let request = client @@ -3052,7 +3052,7 @@ pub mod builder { let Self { client, task, body } = self; let task = task.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::WorkerAppendTask::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/worker/task/{}/append", @@ -3196,7 +3196,7 @@ pub mod builder { let Self { client, task, body } = self; let task = task.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::WorkerCompleteTask::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/worker/task/{}/complete", @@ -3267,7 +3267,7 @@ pub mod builder { let Self { client, task, body } = self; let task = task.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::WorkerAddOutput::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/worker/task/{}/output", diff --git a/progenitor-impl/tests/output/buildomat-builder.out b/progenitor-impl/tests/output/buildomat-builder.out index 0924196..2e52a83 100644 --- a/progenitor-impl/tests/output/buildomat-builder.out +++ b/progenitor-impl/tests/output/buildomat-builder.out @@ -2539,7 +2539,7 @@ pub mod builder { pub async fn send(self) -> Result, Error<()>> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::TaskSubmit::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/tasks", client.baseurl,); let request = client @@ -2794,7 +2794,7 @@ pub mod builder { pub async fn send(self) -> Result, Error<()>> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::UserCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/users", client.baseurl,); let request = client @@ -2941,7 +2941,7 @@ pub mod builder { pub async fn send(self) -> Result, Error<()>> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::WorkerBootstrap::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/worker/bootstrap", client.baseurl,); let request = client @@ -3052,7 +3052,7 @@ pub mod builder { let Self { client, task, body } = self; let task = task.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::WorkerAppendTask::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/worker/task/{}/append", @@ -3196,7 +3196,7 @@ pub mod builder { let Self { client, task, body } = self; let task = task.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::WorkerCompleteTask::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/worker/task/{}/complete", @@ -3267,7 +3267,7 @@ pub mod builder { let Self { client, task, body } = self; let task = task.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::WorkerAddOutput::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/worker/task/{}/output", diff --git a/progenitor-impl/tests/output/keeper-builder-tagged.out b/progenitor-impl/tests/output/keeper-builder-tagged.out index ec137c2..f24797e 100644 --- a/progenitor-impl/tests/output/keeper-builder-tagged.out +++ b/progenitor-impl/tests/output/keeper-builder-tagged.out @@ -1396,7 +1396,7 @@ pub mod builder { } = self; let authorization = authorization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::EnrolBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/enrol", client.baseurl,); let mut header_map = HeaderMap::with_capacity(1usize); @@ -1586,7 +1586,7 @@ pub mod builder { } = self; let authorization = authorization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ReportFinishBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/report/finish", client.baseurl,); let mut header_map = HeaderMap::with_capacity(1usize); @@ -1670,7 +1670,7 @@ pub mod builder { } = self; let authorization = authorization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ReportOutputBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/report/output", client.baseurl,); let mut header_map = HeaderMap::with_capacity(1usize); @@ -1752,7 +1752,7 @@ pub mod builder { } = self; let authorization = authorization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ReportStartBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/report/start", client.baseurl,); let mut header_map = HeaderMap::with_capacity(1usize); diff --git a/progenitor-impl/tests/output/keeper-builder.out b/progenitor-impl/tests/output/keeper-builder.out index d1ac8f0..ea9f176 100644 --- a/progenitor-impl/tests/output/keeper-builder.out +++ b/progenitor-impl/tests/output/keeper-builder.out @@ -1396,7 +1396,7 @@ pub mod builder { } = self; let authorization = authorization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::EnrolBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/enrol", client.baseurl,); let mut header_map = HeaderMap::with_capacity(1usize); @@ -1586,7 +1586,7 @@ pub mod builder { } = self; let authorization = authorization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ReportFinishBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/report/finish", client.baseurl,); let mut header_map = HeaderMap::with_capacity(1usize); @@ -1670,7 +1670,7 @@ pub mod builder { } = self; let authorization = authorization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ReportOutputBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/report/output", client.baseurl,); let mut header_map = HeaderMap::with_capacity(1usize); @@ -1752,7 +1752,7 @@ pub mod builder { } = self; let authorization = authorization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ReportStartBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/report/start", client.baseurl,); let mut header_map = HeaderMap::with_capacity(1usize); diff --git a/progenitor-impl/tests/output/nexus-builder-tagged.out b/progenitor-impl/tests/output/nexus-builder-tagged.out index 14b66bb..107ca3b 100644 --- a/progenitor-impl/tests/output/nexus-builder-tagged.out +++ b/progenitor-impl/tests/output/nexus-builder-tagged.out @@ -29137,7 +29137,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DeviceAuthRequest::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/device/auth", client.baseurl,); let request = client.client.post(url).form_urlencoded(&body)?.build()?; @@ -29193,7 +29193,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DeviceAuthVerify::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/device/confirm", client.baseurl,); let request = client @@ -29265,7 +29265,9 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::DeviceAccessTokenRequest::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!("{}/device/token", client.baseurl,); let request = client.client.post(url).form_urlencoded(&body)?.build()?; @@ -29476,7 +29478,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SpoofLoginBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/login", client.baseurl,); let request = client @@ -29566,7 +29568,9 @@ pub mod builder { } = self; let silo_name = silo_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::UsernamePasswordCredentials::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/login/{}/local", @@ -29991,7 +29995,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/organizations", client.baseurl,); let request = client @@ -30140,7 +30144,7 @@ pub mod builder { } = self; let organization_name = organization_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}", @@ -30361,7 +30365,7 @@ pub mod builder { } = self; let organization_name = organization_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/policy", @@ -30628,7 +30632,7 @@ pub mod builder { } = self; let organization_name = organization_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects", @@ -30810,7 +30814,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}", @@ -31185,7 +31189,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/disks", @@ -31914,7 +31918,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ImageCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/images", @@ -32402,7 +32406,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances", @@ -32919,7 +32923,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let instance_name = instance_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskIdentifier::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/disks/attach", @@ -33040,7 +33044,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let instance_name = instance_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskIdentifier::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/disks/detach", @@ -33257,7 +33261,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let instance_name = instance_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceMigrate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/migrate", @@ -33594,7 +33598,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let instance_name = instance_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::NetworkInterfaceCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/network-interfaces", @@ -33846,7 +33850,7 @@ pub mod builder { let instance_name = instance_name.map_err(Error::InvalidRequest)?; let interface_name = interface_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::NetworkInterfaceUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/network-interfaces/{}", @@ -34677,7 +34681,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/policy", @@ -34977,7 +34981,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SnapshotCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/snapshots", @@ -35462,7 +35466,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs", @@ -35676,7 +35680,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}", @@ -35994,7 +35998,9 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::VpcFirewallRuleUpdateParams::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/firewall/rules", @@ -36324,7 +36330,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcRouterCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/routers", @@ -36568,7 +36574,7 @@ pub mod builder { let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let router_name = router_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcRouterUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/routers/{}", @@ -37041,7 +37047,9 @@ pub mod builder { let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let router_name = router_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::RouterRouteCreateParams::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/routers/{}/routes", @@ -37319,7 +37327,9 @@ pub mod builder { let router_name = router_name.map_err(Error::InvalidRequest)?; let route_name = route_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::RouterRouteUpdateParams::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/routers/{}/routes/{}", @@ -37775,7 +37785,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcSubnetCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/subnets", @@ -38019,7 +38029,7 @@ pub mod builder { let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let subnet_name = subnet_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcSubnetUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/subnets/{}", @@ -38472,7 +38482,7 @@ pub mod builder { ) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SiloRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/policy", client.baseurl,); let request = client @@ -39091,7 +39101,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SshKeyCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/session/me/sshkeys", client.baseurl,); let request = client @@ -39619,7 +39629,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::CertificateCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/certificates", client.baseurl,); let request = client @@ -40734,7 +40744,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::GlobalImageCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/images", client.baseurl,); let request = client @@ -41077,7 +41087,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::IpPoolCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/ip-pools", client.baseurl,); let request = client @@ -41221,7 +41231,7 @@ pub mod builder { } = self; let pool_name = pool_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::IpPoolUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/system/ip-pools/{}", @@ -42150,7 +42160,7 @@ pub mod builder { ) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::FleetRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/policy", client.baseurl,); let request = client @@ -42591,7 +42601,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SiloCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/silos", client.baseurl,); let request = client @@ -42973,7 +42983,7 @@ pub mod builder { } = self; let silo_name = silo_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::UserCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/system/silos/{}/identity-providers/local/users", @@ -43242,7 +43252,9 @@ pub mod builder { } = self; let silo_name = silo_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::SamlIdentityProviderCreate::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/system/silos/{}/identity-providers/saml", @@ -43474,7 +43486,7 @@ pub mod builder { } = self; let silo_name = silo_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SiloRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/system/silos/{}/policy", @@ -44538,7 +44550,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/disks", client.baseurl,); let mut query = Vec::with_capacity(2usize); @@ -45039,7 +45051,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/instances", client.baseurl,); let mut query = Vec::with_capacity(2usize); @@ -45573,7 +45585,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskPath::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/instances/{}/disks/attach", @@ -45700,7 +45712,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskPath::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/instances/{}/disks/detach", @@ -45827,7 +45839,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceMigrate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/instances/{}/migrate", @@ -46626,7 +46638,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/organizations", client.baseurl,); let request = client @@ -46775,7 +46787,7 @@ pub mod builder { } = self; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/organizations/{}", @@ -46996,7 +47008,7 @@ pub mod builder { } = self; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/organizations/{}/policy", @@ -47261,7 +47273,7 @@ pub mod builder { } = self; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/projects", client.baseurl,); let mut query = Vec::with_capacity(1usize); @@ -47446,7 +47458,7 @@ pub mod builder { let project = project.map_err(Error::InvalidRequest)?; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/projects/{}", @@ -47725,7 +47737,7 @@ pub mod builder { let project = project.map_err(Error::InvalidRequest)?; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/projects/{}/policy", @@ -48224,7 +48236,7 @@ pub mod builder { ) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SystemUpdateStart::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/system/update/start", client.baseurl,); let request = client diff --git a/progenitor-impl/tests/output/nexus-builder.out b/progenitor-impl/tests/output/nexus-builder.out index 47a2461..7bad130 100644 --- a/progenitor-impl/tests/output/nexus-builder.out +++ b/progenitor-impl/tests/output/nexus-builder.out @@ -29240,7 +29240,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DeviceAuthRequest::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/device/auth", client.baseurl,); let request = client.client.post(url).form_urlencoded(&body)?.build()?; @@ -29296,7 +29296,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DeviceAuthVerify::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/device/confirm", client.baseurl,); let request = client @@ -29368,7 +29368,9 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::DeviceAccessTokenRequest::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!("{}/device/token", client.baseurl,); let request = client.client.post(url).form_urlencoded(&body)?.build()?; @@ -29579,7 +29581,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SpoofLoginBody::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/login", client.baseurl,); let request = client @@ -29669,7 +29671,9 @@ pub mod builder { } = self; let silo_name = silo_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::UsernamePasswordCredentials::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/login/{}/local", @@ -30094,7 +30098,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/organizations", client.baseurl,); let request = client @@ -30243,7 +30247,7 @@ pub mod builder { } = self; let organization_name = organization_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}", @@ -30464,7 +30468,7 @@ pub mod builder { } = self; let organization_name = organization_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/policy", @@ -30731,7 +30735,7 @@ pub mod builder { } = self; let organization_name = organization_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects", @@ -30913,7 +30917,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}", @@ -31288,7 +31292,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/disks", @@ -32017,7 +32021,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ImageCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/images", @@ -32505,7 +32509,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances", @@ -33022,7 +33026,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let instance_name = instance_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskIdentifier::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/disks/attach", @@ -33143,7 +33147,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let instance_name = instance_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskIdentifier::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/disks/detach", @@ -33360,7 +33364,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let instance_name = instance_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceMigrate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/migrate", @@ -33697,7 +33701,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let instance_name = instance_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::NetworkInterfaceCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/network-interfaces", @@ -33949,7 +33953,7 @@ pub mod builder { let instance_name = instance_name.map_err(Error::InvalidRequest)?; let interface_name = interface_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::NetworkInterfaceUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/instances/{}/network-interfaces/{}", @@ -34780,7 +34784,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/policy", @@ -35080,7 +35084,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SnapshotCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/snapshots", @@ -35565,7 +35569,7 @@ pub mod builder { let organization_name = organization_name.map_err(Error::InvalidRequest)?; let project_name = project_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs", @@ -35779,7 +35783,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}", @@ -36097,7 +36101,9 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::VpcFirewallRuleUpdateParams::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/firewall/rules", @@ -36427,7 +36433,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcRouterCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/routers", @@ -36671,7 +36677,7 @@ pub mod builder { let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let router_name = router_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcRouterUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/routers/{}", @@ -37144,7 +37150,9 @@ pub mod builder { let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let router_name = router_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::RouterRouteCreateParams::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/routers/{}/routes", @@ -37422,7 +37430,9 @@ pub mod builder { let router_name = router_name.map_err(Error::InvalidRequest)?; let route_name = route_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::RouterRouteUpdateParams::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/routers/{}/routes/{}", @@ -37878,7 +37888,7 @@ pub mod builder { let project_name = project_name.map_err(Error::InvalidRequest)?; let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcSubnetCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/subnets", @@ -38122,7 +38132,7 @@ pub mod builder { let vpc_name = vpc_name.map_err(Error::InvalidRequest)?; let subnet_name = subnet_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::VpcSubnetUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/organizations/{}/projects/{}/vpcs/{}/subnets/{}", @@ -38575,7 +38585,7 @@ pub mod builder { ) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SiloRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/policy", client.baseurl,); let request = client @@ -39194,7 +39204,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SshKeyCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/session/me/sshkeys", client.baseurl,); let request = client @@ -39722,7 +39732,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::CertificateCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/certificates", client.baseurl,); let request = client @@ -40837,7 +40847,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::GlobalImageCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/images", client.baseurl,); let request = client @@ -41180,7 +41190,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::IpPoolCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/ip-pools", client.baseurl,); let request = client @@ -41324,7 +41334,7 @@ pub mod builder { } = self; let pool_name = pool_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::IpPoolUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/system/ip-pools/{}", @@ -42253,7 +42263,7 @@ pub mod builder { ) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::FleetRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/policy", client.baseurl,); let request = client @@ -42694,7 +42704,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SiloCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/system/silos", client.baseurl,); let request = client @@ -43076,7 +43086,7 @@ pub mod builder { } = self; let silo_name = silo_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::UserCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/system/silos/{}/identity-providers/local/users", @@ -43345,7 +43355,9 @@ pub mod builder { } = self; let silo_name = silo_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::SamlIdentityProviderCreate::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!( "{}/system/silos/{}/identity-providers/saml", @@ -43577,7 +43589,7 @@ pub mod builder { } = self; let silo_name = silo_name.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SiloRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/system/silos/{}/policy", @@ -44641,7 +44653,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/disks", client.baseurl,); let mut query = Vec::with_capacity(2usize); @@ -45142,7 +45154,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/instances", client.baseurl,); let mut query = Vec::with_capacity(2usize); @@ -45676,7 +45688,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskPath::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/instances/{}/disks/attach", @@ -45803,7 +45815,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::DiskPath::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/instances/{}/disks/detach", @@ -45930,7 +45942,7 @@ pub mod builder { let organization = organization.map_err(Error::InvalidRequest)?; let project = project.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceMigrate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/instances/{}/migrate", @@ -46729,7 +46741,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/organizations", client.baseurl,); let request = client @@ -46878,7 +46890,7 @@ pub mod builder { } = self; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/organizations/{}", @@ -47099,7 +47111,7 @@ pub mod builder { } = self; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::OrganizationRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/organizations/{}/policy", @@ -47364,7 +47376,7 @@ pub mod builder { } = self; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectCreate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/projects", client.baseurl,); let mut query = Vec::with_capacity(1usize); @@ -47549,7 +47561,7 @@ pub mod builder { let project = project.map_err(Error::InvalidRequest)?; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectUpdate::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/projects/{}", @@ -47828,7 +47840,7 @@ pub mod builder { let project = project.map_err(Error::InvalidRequest)?; let organization = organization.map_err(Error::InvalidRequest)?; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::ProjectRolePolicy::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!( "{}/v1/projects/{}/policy", @@ -48327,7 +48339,7 @@ pub mod builder { ) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::SystemUpdateStart::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/v1/system/update/start", client.baseurl,); let request = client diff --git a/progenitor-impl/tests/output/propolis-server-builder-tagged.out b/progenitor-impl/tests/output/propolis-server-builder-tagged.out index 3c076e9..3a97665 100644 --- a/progenitor-impl/tests/output/propolis-server-builder-tagged.out +++ b/progenitor-impl/tests/output/propolis-server-builder-tagged.out @@ -2983,7 +2983,7 @@ pub mod builder { ) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceEnsureRequest::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/instance", client.baseurl,); let request = client @@ -3137,7 +3137,9 @@ pub mod builder { { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::InstanceMigrateStatusRequest::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!("{}/instance/migrate/status", client.baseurl,); let request = client @@ -3312,7 +3314,9 @@ pub mod builder { { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::InstanceStateMonitorRequest::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!("{}/instance/state-monitor", client.baseurl,); let request = client diff --git a/progenitor-impl/tests/output/propolis-server-builder.out b/progenitor-impl/tests/output/propolis-server-builder.out index 25efbe8..3eb17ea 100644 --- a/progenitor-impl/tests/output/propolis-server-builder.out +++ b/progenitor-impl/tests/output/propolis-server-builder.out @@ -3019,7 +3019,7 @@ pub mod builder { ) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::InstanceEnsureRequest::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/instance", client.baseurl,); let request = client @@ -3173,7 +3173,9 @@ pub mod builder { { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::InstanceMigrateStatusRequest::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!("{}/instance/migrate/status", client.baseurl,); let request = client @@ -3348,7 +3350,9 @@ pub mod builder { { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| { + types::InstanceStateMonitorRequest::try_from(v).map_err(|e| e.to_string()) + }) .map_err(Error::InvalidRequest)?; let url = format!("{}/instance/state-monitor", client.baseurl,); let request = client diff --git a/progenitor-impl/tests/output/test_default_params_builder.out b/progenitor-impl/tests/output/test_default_params_builder.out index 02e88aa..8153f5f 100644 --- a/progenitor-impl/tests/output/test_default_params_builder.out +++ b/progenitor-impl/tests/output/test_default_params_builder.out @@ -407,7 +407,7 @@ pub mod builder { pub async fn send(self) -> Result, Error> { let Self { client, body } = self; let body = body - .and_then(std::convert::TryInto::::try_into) + .and_then(|v| types::BodyWithDefaults::try_from(v).map_err(|e| e.to_string())) .map_err(Error::InvalidRequest)?; let url = format!("{}/", client.baseurl,); let request = client.client.post(url).json(&body).build()?;