Bump typify from `d1cae0f` to `b35e5c0` (#366)

* Bump typify from `d1cae0f` to `b35e5c0`

Bumps [typify](https://github.com/oxidecomputer/typify) from `d1cae0f` to `b35e5c0`.
- [Release notes](https://github.com/oxidecomputer/typify/releases)
- [Commits](d1cae0f7d5...b35e5c06e7)

---
updated-dependencies:
- dependency-name: typify
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* update fixture data

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
This commit is contained in:
dependabot[bot] 2023-03-17 15:39:46 -07:00 committed by GitHub
parent 2ab98c3d0f
commit c922600923
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 474 additions and 17 deletions

20
Cargo.lock generated
View File

@ -1198,7 +1198,7 @@ dependencies = [
"progenitor-macro",
"project-root",
"rand",
"regress 0.5.0",
"regress",
"reqwest",
"schemars",
"serde",
@ -1343,15 +1343,6 @@ version = "0.6.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
[[package]]
name = "regress"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a92ff21fe8026ce3f2627faaf43606f0b67b014dbc9ccf027181a804f75d92e"
dependencies = [
"memchr",
]
[[package]]
name = "regress"
version = "0.5.0"
@ -2055,7 +2046,7 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
[[package]]
name = "typify"
version = "0.0.11-dev"
source = "git+https://github.com/oxidecomputer/typify#d1cae0f7d5115782c9557a46396dae786ad5f592"
source = "git+https://github.com/oxidecomputer/typify#b35e5c06e7e67bfc350840d00bf86a19bff662a7"
dependencies = [
"typify-impl",
"typify-macro",
@ -2064,14 +2055,13 @@ dependencies = [
[[package]]
name = "typify-impl"
version = "0.0.11-dev"
source = "git+https://github.com/oxidecomputer/typify#d1cae0f7d5115782c9557a46396dae786ad5f592"
source = "git+https://github.com/oxidecomputer/typify#b35e5c06e7e67bfc350840d00bf86a19bff662a7"
dependencies = [
"heck",
"log",
"proc-macro2",
"quote",
"regress 0.4.1",
"rustfmt-wrapper",
"regress",
"schemars",
"serde_json",
"syn",
@ -2082,7 +2072,7 @@ dependencies = [
[[package]]
name = "typify-macro"
version = "0.0.11-dev"
source = "git+https://github.com/oxidecomputer/typify#d1cae0f7d5115782c9557a46396dae786ad5f592"
source = "git+https://github.com/oxidecomputer/typify#b35e5c06e7e67bfc350840d00bf86a19bff662a7"
dependencies = [
"proc-macro2",
"quote",

View File

@ -423,6 +423,54 @@ pub mod types {
}
}
impl From<bool> for Datum {
fn from(value: bool) -> Self {
Self::Bool(value)
}
}
impl From<i64> for Datum {
fn from(value: i64) -> Self {
Self::I64(value)
}
}
impl From<f64> for Datum {
fn from(value: f64) -> Self {
Self::F64(value)
}
}
impl From<Vec<u8>> for Datum {
fn from(value: Vec<u8>) -> Self {
Self::Bytes(value)
}
}
impl From<Cumulativeint64> for Datum {
fn from(value: Cumulativeint64) -> Self {
Self::CumulativeI64(value)
}
}
impl From<Cumulativedouble> for Datum {
fn from(value: Cumulativedouble) -> Self {
Self::CumulativeF64(value)
}
}
impl From<Histogramint64> for Datum {
fn from(value: Histogramint64) -> Self {
Self::HistogramI64(value)
}
}
impl From<Histogramdouble> for Datum {
fn from(value: Histogramdouble) -> Self {
Self::HistogramF64(value)
}
}
///The type of an individual datum of a metric.
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub enum DatumType {
@ -1998,6 +2046,12 @@ pub mod types {
}
}
impl From<Vec<NetworkInterfaceCreate>> for InstanceNetworkInterfaceAttachment {
fn from(value: Vec<NetworkInterfaceCreate>) -> Self {
Self::Create(value)
}
}
///A single page of results
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct InstanceResultsPage {
@ -2261,6 +2315,18 @@ pub mod types {
}
}
impl From<Ipv4Net> for IpNet {
fn from(value: Ipv4Net) -> Self {
Self::V4(value)
}
}
impl From<Ipv6Net> for IpNet {
fn from(value: Ipv6Net) -> Self {
Self::V6(value)
}
}
///Identity-related metadata that's included in nearly all public API
/// objects
#[derive(Clone, Debug, Deserialize, Serialize)]
@ -2407,6 +2473,18 @@ pub mod types {
}
}
impl From<Ipv4Range> for IpRange {
fn from(value: Ipv4Range) -> Self {
Self::V4(value)
}
}
impl From<Ipv6Range> for IpRange {
fn from(value: Ipv6Range) -> Self {
Self::V6(value)
}
}
///An IPv4 subnet, including prefix and subnet mask
#[derive(Clone, Debug, Serialize)]
pub struct Ipv4Net(String);
@ -2886,6 +2964,18 @@ pub mod types {
}
}
impl From<uuid::Uuid> for NameOrId {
fn from(value: uuid::Uuid) -> Self {
Self::Id(value)
}
}
impl From<Name> for NameOrId {
fn from(value: Name) -> Self {
Self::Name(value)
}
}
///Supported set of sort modes for scanning by name or id
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub enum NameOrIdSortMode {
@ -3934,6 +4024,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for RouteDestination {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for RouteDestination {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///A `RouteTarget` describes the possible locations that traffic matching a
/// route destination can be sent.
#[derive(Clone, Debug, Deserialize, Serialize)]
@ -3962,6 +4064,12 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for RouteTarget {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
///A route defines a rule that governs where traffic should be sent based
/// on its destination.
#[derive(Clone, Debug, Deserialize, Serialize)]
@ -5643,6 +5751,12 @@ pub mod types {
}
}
impl From<Password> for UserPassword {
fn from(value: Password) -> Self {
Self::Password(value)
}
}
///A single page of results
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UserResultsPage {
@ -5973,6 +6087,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for VpcFirewallRuleHostFilter {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for VpcFirewallRuleHostFilter {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///The protocols that may be specified in a firewall rule's filter
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub enum VpcFirewallRuleProtocol {
@ -6116,6 +6242,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for VpcFirewallRuleTarget {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for VpcFirewallRuleTarget {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///A single rule in a VPC firewall
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct VpcFirewallRuleUpdate {

View File

@ -423,6 +423,54 @@ pub mod types {
}
}
impl From<bool> for Datum {
fn from(value: bool) -> Self {
Self::Bool(value)
}
}
impl From<i64> for Datum {
fn from(value: i64) -> Self {
Self::I64(value)
}
}
impl From<f64> for Datum {
fn from(value: f64) -> Self {
Self::F64(value)
}
}
impl From<Vec<u8>> for Datum {
fn from(value: Vec<u8>) -> Self {
Self::Bytes(value)
}
}
impl From<Cumulativeint64> for Datum {
fn from(value: Cumulativeint64) -> Self {
Self::CumulativeI64(value)
}
}
impl From<Cumulativedouble> for Datum {
fn from(value: Cumulativedouble) -> Self {
Self::CumulativeF64(value)
}
}
impl From<Histogramint64> for Datum {
fn from(value: Histogramint64) -> Self {
Self::HistogramI64(value)
}
}
impl From<Histogramdouble> for Datum {
fn from(value: Histogramdouble) -> Self {
Self::HistogramF64(value)
}
}
///The type of an individual datum of a metric.
#[derive(
Clone, Copy, Debug, Deserialize, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize,
@ -2014,6 +2062,12 @@ pub mod types {
}
}
impl From<Vec<NetworkInterfaceCreate>> for InstanceNetworkInterfaceAttachment {
fn from(value: Vec<NetworkInterfaceCreate>) -> Self {
Self::Create(value)
}
}
///A single page of results
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
pub struct InstanceResultsPage {
@ -2281,6 +2335,18 @@ pub mod types {
}
}
impl From<Ipv4Net> for IpNet {
fn from(value: Ipv4Net) -> Self {
Self::V4(value)
}
}
impl From<Ipv6Net> for IpNet {
fn from(value: Ipv6Net) -> Self {
Self::V6(value)
}
}
///Identity-related metadata that's included in nearly all public API
/// objects
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
@ -2427,6 +2493,18 @@ pub mod types {
}
}
impl From<Ipv4Range> for IpRange {
fn from(value: Ipv4Range) -> Self {
Self::V4(value)
}
}
impl From<Ipv6Range> for IpRange {
fn from(value: Ipv6Range) -> Self {
Self::V6(value)
}
}
///An IPv4 subnet, including prefix and subnet mask
#[derive(Clone, Debug, JsonSchema, Serialize)]
pub struct Ipv4Net(String);
@ -2906,6 +2984,18 @@ pub mod types {
}
}
impl From<uuid::Uuid> for NameOrId {
fn from(value: uuid::Uuid) -> Self {
Self::Id(value)
}
}
impl From<Name> for NameOrId {
fn from(value: Name) -> Self {
Self::Name(value)
}
}
///Supported set of sort modes for scanning by name or id
#[derive(
Clone, Copy, Debug, Deserialize, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize,
@ -3964,6 +4054,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for RouteDestination {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for RouteDestination {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///A `RouteTarget` describes the possible locations that traffic matching a
/// route destination can be sent.
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
@ -3992,6 +4094,12 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for RouteTarget {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
///A route defines a rule that governs where traffic should be sent based
/// on its destination.
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
@ -5689,6 +5797,12 @@ pub mod types {
}
}
impl From<Password> for UserPassword {
fn from(value: Password) -> Self {
Self::Password(value)
}
}
///A single page of results
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
pub struct UserResultsPage {
@ -6023,6 +6137,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for VpcFirewallRuleHostFilter {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for VpcFirewallRuleHostFilter {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///The protocols that may be specified in a firewall rule's filter
#[derive(
Clone, Copy, Debug, Deserialize, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize,
@ -6170,6 +6296,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for VpcFirewallRuleTarget {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for VpcFirewallRuleTarget {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///A single rule in a VPC firewall
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
pub struct VpcFirewallRuleUpdate {

View File

@ -363,6 +363,54 @@ pub mod types {
}
}
impl From<bool> for Datum {
fn from(value: bool) -> Self {
Self::Bool(value)
}
}
impl From<i64> for Datum {
fn from(value: i64) -> Self {
Self::I64(value)
}
}
impl From<f64> for Datum {
fn from(value: f64) -> Self {
Self::F64(value)
}
}
impl From<Vec<u8>> for Datum {
fn from(value: Vec<u8>) -> Self {
Self::Bytes(value)
}
}
impl From<Cumulativeint64> for Datum {
fn from(value: Cumulativeint64) -> Self {
Self::CumulativeI64(value)
}
}
impl From<Cumulativedouble> for Datum {
fn from(value: Cumulativedouble) -> Self {
Self::CumulativeF64(value)
}
}
impl From<Histogramint64> for Datum {
fn from(value: Histogramint64) -> Self {
Self::HistogramI64(value)
}
}
impl From<Histogramdouble> for Datum {
fn from(value: Histogramdouble) -> Self {
Self::HistogramF64(value)
}
}
///The type of an individual datum of a metric.
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub enum DatumType {
@ -1752,6 +1800,12 @@ pub mod types {
}
}
impl From<Vec<NetworkInterfaceCreate>> for InstanceNetworkInterfaceAttachment {
fn from(value: Vec<NetworkInterfaceCreate>) -> Self {
Self::Create(value)
}
}
///A single page of results
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct InstanceResultsPage {
@ -2003,6 +2057,18 @@ pub mod types {
}
}
impl From<Ipv4Net> for IpNet {
fn from(value: Ipv4Net) -> Self {
Self::V4(value)
}
}
impl From<Ipv6Net> for IpNet {
fn from(value: Ipv6Net) -> Self {
Self::V6(value)
}
}
///Identity-related metadata that's included in nearly all public API
/// objects
#[derive(Clone, Debug, Deserialize, Serialize)]
@ -2113,6 +2179,18 @@ pub mod types {
}
}
impl From<Ipv4Range> for IpRange {
fn from(value: Ipv4Range) -> Self {
Self::V4(value)
}
}
impl From<Ipv6Range> for IpRange {
fn from(value: Ipv6Range) -> Self {
Self::V6(value)
}
}
///An IPv4 subnet, including prefix and subnet mask
#[derive(Clone, Debug, Serialize)]
pub struct Ipv4Net(String);
@ -2568,6 +2646,18 @@ pub mod types {
}
}
impl From<uuid::Uuid> for NameOrId {
fn from(value: uuid::Uuid) -> Self {
Self::Id(value)
}
}
impl From<Name> for NameOrId {
fn from(value: Name) -> Self {
Self::Name(value)
}
}
///Supported set of sort modes for scanning by name or id
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub enum NameOrIdSortMode {
@ -3484,6 +3574,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for RouteDestination {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for RouteDestination {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///A `RouteTarget` describes the possible locations that traffic matching a
/// route destination can be sent.
#[derive(Clone, Debug, Deserialize, Serialize)]
@ -3512,6 +3614,12 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for RouteTarget {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
///A route defines a rule that governs where traffic should be sent based
/// on its destination.
#[derive(Clone, Debug, Deserialize, Serialize)]
@ -4977,6 +5085,12 @@ pub mod types {
}
}
impl From<Password> for UserPassword {
fn from(value: Password) -> Self {
Self::Password(value)
}
}
///A single page of results
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UserResultsPage {
@ -5265,6 +5379,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for VpcFirewallRuleHostFilter {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for VpcFirewallRuleHostFilter {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///The protocols that may be specified in a firewall rule's filter
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub enum VpcFirewallRuleProtocol {
@ -5408,6 +5534,18 @@ pub mod types {
}
}
impl From<std::net::IpAddr> for VpcFirewallRuleTarget {
fn from(value: std::net::IpAddr) -> Self {
Self::Ip(value)
}
}
impl From<IpNet> for VpcFirewallRuleTarget {
fn from(value: IpNet) -> Self {
Self::IpNet(value)
}
}
///A single rule in a VPC firewall
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct VpcFirewallRuleUpdate {

View File

@ -72,6 +72,12 @@ pub mod types {
}
}
impl From<uuid::Uuid> for DiskAttachmentState {
fn from(value: uuid::Uuid) -> Self {
Self::Attached(value)
}
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct DiskRequest {
pub device: String,
@ -575,6 +581,12 @@ pub mod types {
}
}
impl From<Slot> for NetworkInterfaceAttachmentState {
fn from(value: Slot) -> Self {
Self::Attached(value)
}
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct NetworkInterfaceRequest {
pub name: String,

View File

@ -72,6 +72,12 @@ pub mod types {
}
}
impl From<uuid::Uuid> for DiskAttachmentState {
fn from(value: uuid::Uuid) -> Self {
Self::Attached(value)
}
}
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
pub struct DiskRequest {
pub device: String,
@ -581,6 +587,12 @@ pub mod types {
}
}
impl From<Slot> for NetworkInterfaceAttachmentState {
fn from(value: Slot) -> Self {
Self::Attached(value)
}
}
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
pub struct NetworkInterfaceRequest {
pub name: String,

View File

@ -60,6 +60,12 @@ pub mod types {
}
}
impl From<uuid::Uuid> for DiskAttachmentState {
fn from(value: uuid::Uuid) -> Self {
Self::Attached(value)
}
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct DiskRequest {
pub device: String,
@ -479,6 +485,12 @@ pub mod types {
}
}
impl From<Slot> for NetworkInterfaceAttachmentState {
fn from(value: Slot) -> Self {
Self::Attached(value)
}
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct NetworkInterfaceRequest {
pub name: String,

View File

@ -27,7 +27,22 @@ mod builder_untagged {
use futures::StreamExt;
mod nexus_client {
pub type MyIpv4Net = String;
use std::convert::Infallible;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone)]
pub struct MyIpv4Net(pub String);
impl std::fmt::Display for MyIpv4Net {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(&self.0)
}
}
impl std::str::FromStr for MyIpv4Net {
type Err = Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
Ok(Self(s.to_string()))
}
}
progenitor::generate_api!(
spec = "../sample_openapi/nexus.json",
interface = Builder,
@ -47,7 +62,9 @@ mod builder_untagged {
pub fn _ignore() {
// Verify the replacement above.
let _ignore = nexus_client::types::IpNet::V4(String::new());
let _ignore = nexus_client::types::IpNet::V4(nexus_client::MyIpv4Net(
String::new(),
));
let client = Client::new("");
let stream = client