update rust modules
This commit is contained in:
parent
109d180cf0
commit
1e21635421
@ -23,6 +23,10 @@ replace-with = "vendored-sources"
|
||||
git = "git://git.proxmox.com/git/proxmox-openid-rs.git"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git+git://git.proxmox.com/git/proxmox-resource-scheduling.git"]
|
||||
git = "git://git.proxmox.com/git/proxmox-resource-scheduling.git"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git://git.proxmox.com/git/proxmox.git"]
|
||||
git = "git://git.proxmox.com/git/proxmox.git"
|
||||
replace-with = "vendored-sources"
|
||||
@ -44,3 +48,5 @@ proxmox-schema = { git = "git://git.proxmox.com/git/proxmox.git" }
|
||||
proxmox-sys = { git = "git://git.proxmox.com/git/proxmox.git" }
|
||||
proxmox-http = { git = "git://git.proxmox.com/git/proxmox.git" }
|
||||
proxmox-subscription = { git = "git://git.proxmox.com/git/proxmox.git" }
|
||||
proxmox-resource-scheduling = { git = "git://git.proxmox.com/git/proxmox-resource-scheduling.git" }
|
||||
|
||||
|
13
Cargo.lock
generated
13
Cargo.lock
generated
@ -761,6 +761,16 @@ dependencies = [
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proxmox-resource-scheduling"
|
||||
version = "0.1.0"
|
||||
source = "git+git://git.proxmox.com/git/proxmox-resource-scheduling.git#582cf066d506eb31097098f416f698dd128867c1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"lazy_static",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proxmox-schema"
|
||||
version = "1.3.4"
|
||||
@ -870,7 +880,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pve-rs"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base32",
|
||||
@ -884,6 +894,7 @@ dependencies = [
|
||||
"proxmox-apt",
|
||||
"proxmox-http",
|
||||
"proxmox-openid",
|
||||
"proxmox-resource-scheduling",
|
||||
"proxmox-subscription",
|
||||
"proxmox-sys",
|
||||
"proxmox-tfa",
|
||||
|
2
vendor/perlmod-macro/.cargo-checksum.json
vendored
2
vendor/perlmod-macro/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"a7db8d12dd4b822c503e66f8303f80ce189ba5ad2252d014c2eb339d3734e56c","build.rs":"4c2e67d1341ab7767b0324324c7b49b6dce1eb6dd6ea8cbe591838fca8af0339","src/attribs.rs":"b56c1c2761d3ec11028d20616aecf47ddba61d778289b10c49e005e94b136bd9","src/function.rs":"923f28413c686a4497c81ad1c51c2d8fca6403a0c7f2293b5167be7c12261634","src/lib.rs":"ef924a4e9d1fbbd413ab5c597d8a1b12b2da478c574753eb378b8111b8b59022","src/module.rs":"e1cf30c1549367ecaf248f98d413b9ceb3887b4eaf5d08f55512bdfd100d7b56","src/package.rs":"1d713c2785e711d4a527199bc3535cfbe9a8f60abc14a0686c54c9ff213ee346"},"package":null}
|
||||
{"files":{"Cargo.toml":"1a0890b05d7eb054c9d65167ffa51bc3f827ec8106865676dfc3c545bda36061","build.rs":"4c2e67d1341ab7767b0324324c7b49b6dce1eb6dd6ea8cbe591838fca8af0339","src/attribs.rs":"b56c1c2761d3ec11028d20616aecf47ddba61d778289b10c49e005e94b136bd9","src/function.rs":"923f28413c686a4497c81ad1c51c2d8fca6403a0c7f2293b5167be7c12261634","src/lib.rs":"ef924a4e9d1fbbd413ab5c597d8a1b12b2da478c574753eb378b8111b8b59022","src/module.rs":"e1cf30c1549367ecaf248f98d413b9ceb3887b4eaf5d08f55512bdfd100d7b56","src/package.rs":"1d713c2785e711d4a527199bc3535cfbe9a8f60abc14a0686c54c9ff213ee346"},"package":null}
|
40
vendor/perlmod-macro/Cargo.toml
vendored
40
vendor/perlmod-macro/Cargo.toml
vendored
@ -1,18 +1,28 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "perlmod-macro"
|
||||
version = "0.8.0"
|
||||
authors = ["Wolfgang Bumiller <w.bumiller@proxmox.com>"]
|
||||
edition = "2021"
|
||||
build = "build.rs"
|
||||
license = "Apache-2.0 OR MIT"
|
||||
categories = [ "API bindings" ]
|
||||
keywords = [ "ffi", "perl" ]
|
||||
exclude = ["debian"]
|
||||
description = "perl package macros to create perl package bindings from rust at compile time"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
keywords = [
|
||||
"ffi",
|
||||
"perl",
|
||||
]
|
||||
categories = ["API bindings"]
|
||||
license = "Apache-2.0 OR MIT"
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
@ -20,7 +30,13 @@ proc-macro = true
|
||||
[dependencies]
|
||||
proc-macro2 = "1.0"
|
||||
quote = "1.0"
|
||||
syn = { version = "1.0", features = [ "full" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
perlmod = { path = "../perlmod" }
|
||||
[dependencies.syn]
|
||||
version = "1.0"
|
||||
features = ["full"]
|
||||
|
||||
[dev-dependencies.perlmod]
|
||||
path = "../perlmod"
|
||||
|
||||
[badges.maintenance]
|
||||
status = "experimental"
|
||||
|
2
vendor/perlmod/.cargo-checksum.json
vendored
2
vendor/perlmod/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"ac04cc077bbcce96c4803b865531ed9df16fd4995bcaa437454463dbfc994998","build.rs":"f3b5081270112e127881faad53edd029918adea11a79db1c9b4cc13966ae2b36","src/array.rs":"8ff3a664b80479f8c4962f978afda0c3f9156adb58a6aab9f2698f6509d74e7b","src/de.rs":"9be5d66bec60c8124d47e98cbb5c8a344e7f7ad0369c66fe8e276279b2be32da","src/error.rs":"bf8f667807dd9aa994373af07d33e0c0935158534345fb25d1504f123291531c","src/ffi.rs":"744b7c89ab004803b29d05f07f563312159c761661652c6f4569d5bdc0bc5817","src/glue.c":"9feba990a4ffef2245b72074b444ead76df64a3bc1cabc1b1ee1f66e392af55d","src/hash.rs":"53b10c17ef23a2bd6a309c144b8594d86eed8d5f8997b15113fc57ac6d17e6dd","src/lib.rs":"0b169d995139c5c843e94828dd156199d278335f7bdbea7dc031d5b2dadccd32","src/macros.rs":"fcb27162283040a53280347bf16d8f7f532eb06173022761c33dd44a3851def8","src/magic.rs":"6e9add09e537760eea28a7a5404b8420e7d99c8350590af702a388b526f5ec74","src/raw_value.rs":"8ecb83841b084ebc17c32d2c5f9bfcbbe68cfdd2cb5810ab047e0c9124b6c3d8","src/scalar.rs":"a943a2ddb009d96edd03a7ba5d52fc52764ae97c2cbe84d29edc0296f6900f79","src/ser.rs":"b3d642ca3843d0cc2edb7517551669a94a52622ceaf898f02748312b4c2b1f85","src/value.rs":"f78668e1ea7e2752005b7f2a8b8a406ef5fa7b134689e1ada0945b323528ee86"},"package":null}
|
||||
{"files":{"Cargo.toml":"1b9d4e5188bf118e99ec6dc281e4b89e451a3d2b2ca9eeab714477f7fbe7129d","build.rs":"f3b5081270112e127881faad53edd029918adea11a79db1c9b4cc13966ae2b36","src/array.rs":"8ff3a664b80479f8c4962f978afda0c3f9156adb58a6aab9f2698f6509d74e7b","src/de.rs":"9be5d66bec60c8124d47e98cbb5c8a344e7f7ad0369c66fe8e276279b2be32da","src/error.rs":"bf8f667807dd9aa994373af07d33e0c0935158534345fb25d1504f123291531c","src/ffi.rs":"744b7c89ab004803b29d05f07f563312159c761661652c6f4569d5bdc0bc5817","src/glue.c":"9feba990a4ffef2245b72074b444ead76df64a3bc1cabc1b1ee1f66e392af55d","src/hash.rs":"53b10c17ef23a2bd6a309c144b8594d86eed8d5f8997b15113fc57ac6d17e6dd","src/lib.rs":"0b169d995139c5c843e94828dd156199d278335f7bdbea7dc031d5b2dadccd32","src/macros.rs":"fcb27162283040a53280347bf16d8f7f532eb06173022761c33dd44a3851def8","src/magic.rs":"6e9add09e537760eea28a7a5404b8420e7d99c8350590af702a388b526f5ec74","src/raw_value.rs":"8ecb83841b084ebc17c32d2c5f9bfcbbe68cfdd2cb5810ab047e0c9124b6c3d8","src/scalar.rs":"a943a2ddb009d96edd03a7ba5d52fc52764ae97c2cbe84d29edc0296f6900f79","src/ser.rs":"b3d642ca3843d0cc2edb7517551669a94a52622ceaf898f02748312b4c2b1f85","src/value.rs":"f78668e1ea7e2752005b7f2a8b8a406ef5fa7b134689e1ada0945b323528ee86"},"package":null}
|
40
vendor/perlmod/Cargo.toml
vendored
40
vendor/perlmod/Cargo.toml
vendored
@ -1,29 +1,45 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "perlmod"
|
||||
version = "0.13.1"
|
||||
authors = ["Wolfgang Bumiller <w.bumiller@proxmox.com>"]
|
||||
edition = "2021"
|
||||
build = "build.rs"
|
||||
license = "Apache-2.0 OR MIT"
|
||||
categories = [ "API bindings" ]
|
||||
keywords = [ "ffi", "perl" ]
|
||||
exclude = ["debian"]
|
||||
description = "ffi & serde code for limited interaction with perl code"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
keywords = [
|
||||
"ffi",
|
||||
"perl",
|
||||
]
|
||||
categories = ["API bindings"]
|
||||
license = "Apache-2.0 OR MIT"
|
||||
|
||||
[dependencies]
|
||||
bitflags = "1.2.1"
|
||||
libc = "0.2"
|
||||
serde = "1.0"
|
||||
|
||||
perlmod-macro = { path = "../perlmod-macro", optional = true, version = "0.8" }
|
||||
[dependencies.perlmod-macro]
|
||||
version = "0.8"
|
||||
path = "../perlmod-macro"
|
||||
optional = true
|
||||
|
||||
[build-dependencies]
|
||||
cc = "1.0.46"
|
||||
|
||||
[features]
|
||||
default = ["exporter"]
|
||||
exporter = ["perlmod-macro"]
|
||||
|
||||
[build-dependencies]
|
||||
cc = "1.0.46"
|
||||
[badges.maintenance]
|
||||
status = "experimental"
|
||||
|
2
vendor/proxmox-acme-rs/.cargo-checksum.json
vendored
2
vendor/proxmox-acme-rs/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{".cargo/config":"37beff0fa7970cf880e0ca1d4b564c22cb48f8b606155656d02e9da3fb2e415a","Cargo.toml":"77c2e120e48a8cacaabe32fd9b0b514dc1cab8bb2b9bf8563272206adae2a935","Makefile":"423287f70b374da2d8e2cbc4d0681c48a14fe164340938d125cd9f8c6dd4adfb","rustfmt.toml":"d8e7f616455a670ba75e3e94bf6f88f4c168c481664d12501820c7dfff5c3cc2","src/account.rs":"5c25e80a9ff544742cd8c3f2001ed8c3b35121e84a1ef5111c7a5a46e4d89d61","src/authorization.rs":"ce0cad666eb1dcb5437e5992b66ff1719a04994b36207a19d4a72240afaa8ad7","src/b64u.rs":"efe15408962741cca2f578164dda8df5f3fd649b38c4559b7f9254f5123f32b4","src/client.rs":"286ed78469c5d5376ad93933bee890770d28923e5baaf414f04810f8e3076cf1","src/directory.rs":"93ce3f2d531a4f00cb2557204309fdefeaaa1c89bc3ceb66150cb50bfcc0350f","src/error.rs":"8a2411973635c1e60cbcac8844b8248251e77f4e322721ad3892d8f1da044eeb","src/json.rs":"00954229d2ee4a0961b2be0c955a9f5c85232aef816710168ea2f3edfbd84faa","src/jws.rs":"9d7df713b3bc58ca1098528e63fb2fd2950f5b957b60f83f0d33ea6472e00a43","src/key.rs":"8e609e55d1a358727513c585d064cfd2b71ff44f11226bbd6fcc948fea5fea0d","src/lib.rs":"79325c3ab2db83f21a3b00e8c1236003f6e555996de3bd4d760265755983dd0e","src/order.rs":"7d2766e1c53988dad9bc150d1830829521bd0422eeec357b40e680fbad45bfd5","src/request.rs":"eb359391f3065926fccc27ee2e6c2725c1fdb92867d80583e38ab9f1f7bee561","src/util.rs":"22d78f6eb3cc1a34f958406414d1d303822fa73e0c0a6e9648b122b938172093"},"package":null}
|
||||
{"files":{".cargo/config":"37beff0fa7970cf880e0ca1d4b564c22cb48f8b606155656d02e9da3fb2e415a","Cargo.toml":"417441841d042321d8f70b6248804459f0116e09cf46dbda448a41d52563b4cf","Makefile":"423287f70b374da2d8e2cbc4d0681c48a14fe164340938d125cd9f8c6dd4adfb","rustfmt.toml":"d8e7f616455a670ba75e3e94bf6f88f4c168c481664d12501820c7dfff5c3cc2","src/account.rs":"5c25e80a9ff544742cd8c3f2001ed8c3b35121e84a1ef5111c7a5a46e4d89d61","src/authorization.rs":"ce0cad666eb1dcb5437e5992b66ff1719a04994b36207a19d4a72240afaa8ad7","src/b64u.rs":"efe15408962741cca2f578164dda8df5f3fd649b38c4559b7f9254f5123f32b4","src/client.rs":"286ed78469c5d5376ad93933bee890770d28923e5baaf414f04810f8e3076cf1","src/directory.rs":"93ce3f2d531a4f00cb2557204309fdefeaaa1c89bc3ceb66150cb50bfcc0350f","src/error.rs":"8a2411973635c1e60cbcac8844b8248251e77f4e322721ad3892d8f1da044eeb","src/json.rs":"00954229d2ee4a0961b2be0c955a9f5c85232aef816710168ea2f3edfbd84faa","src/jws.rs":"9d7df713b3bc58ca1098528e63fb2fd2950f5b957b60f83f0d33ea6472e00a43","src/key.rs":"8e609e55d1a358727513c585d064cfd2b71ff44f11226bbd6fcc948fea5fea0d","src/lib.rs":"79325c3ab2db83f21a3b00e8c1236003f6e555996de3bd4d760265755983dd0e","src/order.rs":"7d2766e1c53988dad9bc150d1830829521bd0422eeec357b40e680fbad45bfd5","src/request.rs":"eb359391f3065926fccc27ee2e6c2725c1fdb92867d80583e38ab9f1f7bee561","src/util.rs":"22d78f6eb3cc1a34f958406414d1d303822fa73e0c0a6e9648b122b938172093"},"package":null}
|
47
vendor/proxmox-acme-rs/Cargo.toml
vendored
47
vendor/proxmox-acme-rs/Cargo.toml
vendored
@ -1,33 +1,54 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "proxmox-acme-rs"
|
||||
version = "0.4.0"
|
||||
authors = ["Wolfgang Bumiller <w.bumiller@proxmox.com>"]
|
||||
edition = "2021"
|
||||
license = "AGPL-3"
|
||||
description = "ACME client library"
|
||||
exclude = [
|
||||
"build",
|
||||
"debian",
|
||||
]
|
||||
description = "ACME client library"
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
base64 = "0.13.0"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
openssl = "0.10.29"
|
||||
serde_json = "1.0"
|
||||
|
||||
# For the client
|
||||
native-tls = { version = "0.2", optional = true }
|
||||
[dependencies.native-tls]
|
||||
version = "0.2"
|
||||
optional = true
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
|
||||
[dependencies.ureq]
|
||||
optional = true
|
||||
version = "2.4"
|
||||
features = [
|
||||
"native-tls",
|
||||
"gzip",
|
||||
]
|
||||
optional = true
|
||||
default-features = false
|
||||
features = [ "native-tls", "gzip" ]
|
||||
|
||||
[features]
|
||||
default = []
|
||||
client = ["ureq", "native-tls"]
|
||||
|
||||
[dev-dependencies]
|
||||
anyhow = "1.0"
|
||||
|
||||
[features]
|
||||
client = [
|
||||
"ureq",
|
||||
"native-tls",
|
||||
]
|
||||
default = []
|
||||
|
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"f1a64433c63b7771a7f16bf4ec7755d534e876fc56119402c11337ba147d81d3","src/api/attributes.rs":"c6bd55dcb71472ece5bdf0368396f8da648c6175fe81698820005486db118c04","src/api/enums.rs":"3a6fc219d66d97314a6b063fc734fce9bf1dad020922e6e74f27e3b61332a918","src/api/method.rs":"b7e91477c00ef39de819eaf8768f4ebffb379e2e03a8f34d7d802186022466d1","src/api/mod.rs":"20a3fc562b59b3d21a70d0c8eedb539347f28fbaad66cc08f36c65d61083a879","src/api/structs.rs":"eae40605f7f0dc9ba73d1ee1101da24d48f3b6518bbaf5654d342ff7964415ac","src/lib.rs":"f87643e20b46bd0a1357e7444706a85dd0e8195971330f083f27eae3950763b9","src/serde.rs":"5ccbc647a699067dcc8320252e773ece6af82fe2910c71871bb50730d7590cf4","src/types.rs":"658011b06efa084615ca0fb09b20b67d4eb0c04e4c600b09cddd34cab9c9abe8","src/updater.rs":"699e45fa975e12e0dcc0e2f69649ec1ebeaee87c6ef593ea1d0dd2a3f6c2146b","src/util.rs":"0fc90af07d904d18bd008291494936db8a65662f320acfb8e7d9cf259de625b7","tests/allof.rs":"44a776563e8fd66519cafd274a7188d448b56474f7522d898d37e2f919c4318b","tests/api1.rs":"494e9360a35eee79cb6c4afbb374540aaa0d743459105b75f3a3155cf4883384","tests/api2.rs":"2b238982c2582ca9145f842e495772d6c65e1e509356d9e451e29970b0b01544","tests/ext-schema.rs":"cb2ff7aef371721ce84b9ff57ba06af553f52336f165bf76754732dd2b28d032","tests/int-limits.rs":"9daba02a0ffe128961298b43a4fe83b8edc4c76a43285e610f481670e02ab5a6","tests/options.rs":"12faf5ba2761318bd454d6bc85ac5e9e1e344318b40851742d8eb8f5209576f0","tests/types.rs":"a73e1282a5ab3c5215c1f64b9349181b949edd847aa2d76cf9193ce95dd4a074","tests/updater.rs":"6d1abad2ac9be5ecc3ae9f4565b2e445f1e033941545a8f600fcc9b78f0fc937"},"package":null}
|
||||
{"files":{"Cargo.toml":"2d40040a480f87886f2c26c28d2350913cc907218396c0f9ec64d8d0f42c9132","src/api/attributes.rs":"c6bd55dcb71472ece5bdf0368396f8da648c6175fe81698820005486db118c04","src/api/enums.rs":"3a6fc219d66d97314a6b063fc734fce9bf1dad020922e6e74f27e3b61332a918","src/api/method.rs":"b7e91477c00ef39de819eaf8768f4ebffb379e2e03a8f34d7d802186022466d1","src/api/mod.rs":"20a3fc562b59b3d21a70d0c8eedb539347f28fbaad66cc08f36c65d61083a879","src/api/structs.rs":"eae40605f7f0dc9ba73d1ee1101da24d48f3b6518bbaf5654d342ff7964415ac","src/lib.rs":"f87643e20b46bd0a1357e7444706a85dd0e8195971330f083f27eae3950763b9","src/serde.rs":"5ccbc647a699067dcc8320252e773ece6af82fe2910c71871bb50730d7590cf4","src/types.rs":"658011b06efa084615ca0fb09b20b67d4eb0c04e4c600b09cddd34cab9c9abe8","src/updater.rs":"699e45fa975e12e0dcc0e2f69649ec1ebeaee87c6ef593ea1d0dd2a3f6c2146b","src/util.rs":"0fc90af07d904d18bd008291494936db8a65662f320acfb8e7d9cf259de625b7","tests/allof.rs":"44a776563e8fd66519cafd274a7188d448b56474f7522d898d37e2f919c4318b","tests/api1.rs":"494e9360a35eee79cb6c4afbb374540aaa0d743459105b75f3a3155cf4883384","tests/api2.rs":"2b238982c2582ca9145f842e495772d6c65e1e509356d9e451e29970b0b01544","tests/ext-schema.rs":"cb2ff7aef371721ce84b9ff57ba06af553f52336f165bf76754732dd2b28d032","tests/int-limits.rs":"9daba02a0ffe128961298b43a4fe83b8edc4c76a43285e610f481670e02ab5a6","tests/options.rs":"12faf5ba2761318bd454d6bc85ac5e9e1e344318b40851742d8eb8f5209576f0","tests/types.rs":"a73e1282a5ab3c5215c1f64b9349181b949edd847aa2d76cf9193ce95dd4a074","tests/updater.rs":"6d1abad2ac9be5ecc3ae9f4565b2e445f1e033941545a8f600fcc9b78f0fc937"},"package":null}
|
58
vendor/proxmox-api-macro/Cargo.toml
vendored
58
vendor/proxmox-api-macro/Cargo.toml
vendored
@ -1,12 +1,22 @@
|
||||
[package]
|
||||
name = "proxmox-api-macro"
|
||||
edition = "2018"
|
||||
version = "1.0.3"
|
||||
authors = [ "Wolfgang Bumiller <w.bumiller@proxmox.com>" ]
|
||||
license = "AGPL-3"
|
||||
description = "Proxmox API macro"
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
exclude = [ "debian" ]
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "proxmox-api-macro"
|
||||
version = "1.0.3"
|
||||
authors = ["Wolfgang Bumiller <w.bumiller@proxmox.com>"]
|
||||
exclude = ["debian"]
|
||||
description = "Proxmox API macro"
|
||||
license = "AGPL-3"
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
@ -15,24 +25,32 @@ proc-macro = true
|
||||
anyhow = "1.0"
|
||||
proc-macro2 = "1.0"
|
||||
quote = "1.0"
|
||||
syn = { version = "1.0", features = [ "extra-traits", "full", "visit-mut" ] }
|
||||
|
||||
[dependencies.syn]
|
||||
version = "1.0"
|
||||
features = [
|
||||
"extra-traits",
|
||||
"full",
|
||||
"visit-mut",
|
||||
]
|
||||
|
||||
[dev-dependencies]
|
||||
futures = "0.3"
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
serde_json = "1.0"
|
||||
|
||||
[dev-dependencies.proxmox-schema]
|
||||
version = "1.0.0"
|
||||
path = "../proxmox-schema"
|
||||
features = [ "test-harness", "api-macro" ]
|
||||
|
||||
[dev-dependencies.proxmox-router]
|
||||
version = "1.0.0"
|
||||
path = "../proxmox-router"
|
||||
features = [ "test-harness" ]
|
||||
features = ["test-harness"]
|
||||
|
||||
# [features]
|
||||
# # Used to quickly filter out the serde derive noise when using `cargo expand` for debugging!
|
||||
# # Add this in case you need it, but don't commit it (to avoid debcargo picking this up)!
|
||||
# noserde = []
|
||||
[dev-dependencies.proxmox-schema]
|
||||
version = "1.0.0"
|
||||
path = "../proxmox-schema"
|
||||
features = [
|
||||
"test-harness",
|
||||
"api-macro",
|
||||
]
|
||||
|
||||
[dev-dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
|
2
vendor/proxmox-apt/.cargo-checksum.json
vendored
2
vendor/proxmox-apt/.cargo-checksum.json
vendored
File diff suppressed because one or more lines are too long
27
vendor/proxmox-apt/Cargo.toml
vendored
27
vendor/proxmox-apt/Cargo.toml
vendored
@ -1,16 +1,26 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "proxmox-apt"
|
||||
version = "0.9.2"
|
||||
authors = [
|
||||
"Fabian Ebner <f.ebner@proxmox.com>",
|
||||
"Proxmox Support Team <support@proxmox.com>",
|
||||
]
|
||||
edition = "2021"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "Proxmox library for APT"
|
||||
homepage = "https://www.proxmox.com"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[lib]
|
||||
name = "proxmox_apt"
|
||||
@ -22,7 +32,12 @@ hex = "0.4.3"
|
||||
once_cell = "1.3.1"
|
||||
openssl = "0.10"
|
||||
rfc822-like = "0.2.1"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0.41"
|
||||
|
||||
proxmox-schema = { version = "1", features = [ "api-macro" ] }
|
||||
[dependencies.proxmox-schema]
|
||||
version = "1"
|
||||
features = ["api-macro"]
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
|
2
vendor/proxmox-http/.cargo-checksum.json
vendored
2
vendor/proxmox-http/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"a94751bfe246a4e8af16095f9284da1725598a79dbe5853c96e8cbcb97989429","src/client/connector.rs":"60967522fabf9306898efd1543c056b56c88880c0328e571d183e99c743093cc","src/client/mod.rs":"9d3a02706974e573377cd9b6575cfa24eab8ce6af8cebfe70b4869b57c2c4edc","src/client/rate_limited_stream.rs":"bde1c53a2b4b45ef251a85bd91ec477421541d45c55ad3d6b395b18643bd8d26","src/client/rate_limiter.rs":"19a3d4d9192079a61e47bad3eb0b1e2639b83beb9eb0ab9bc67ec63048d63c37","src/client/simple.rs":"3da764ad7daff74e2335962762dd2cca6b0b5eadbfe2f822f7e764d6c6d81d89","src/client/sync.rs":"416f7572d16d323f5283d741032d6025dd23ef5b0fb19a2ed80ff4acde053d59","src/client/tls.rs":"31af1bb8eeaa53f5de06d5000839c99e8bf9559984ab4c6d1ae58f8dea76ba2d","src/client_trait.rs":"123c7977bdd7bd33731cb8d0f3d0a6cf8793755d6cf3a20884df1ef522d4eece","src/http_options.rs":"083a6ec2cd20dee74590a6da994f2aaa8d1d60b4e61949afe519b2bfa9729fcb","src/lib.rs":"73bcf7cd31416936f9fde25166fcafe6008aea60aafda766d68d630e7c45d3f3","src/proxy_config.rs":"fa593b46d0628e36a18a56c4e902be547688c53d6e286df1e3f301848928e07c","src/uri.rs":"2acb95a8700e3bc06ee348011caa0756f6ac63300167d70085e263023bb498ca","src/websocket/mod.rs":"103afc1df63d83870e025259a1892642fb60611f239d0ed689fedadd6f3e2942"},"package":null}
|
||||
{"files":{"Cargo.toml":"27f3c99aa71065f17b5c37556e441f897fdd46378471c527e77b9fc778a81ae8","src/client/connector.rs":"60967522fabf9306898efd1543c056b56c88880c0328e571d183e99c743093cc","src/client/mod.rs":"9d3a02706974e573377cd9b6575cfa24eab8ce6af8cebfe70b4869b57c2c4edc","src/client/rate_limited_stream.rs":"bde1c53a2b4b45ef251a85bd91ec477421541d45c55ad3d6b395b18643bd8d26","src/client/rate_limiter.rs":"19a3d4d9192079a61e47bad3eb0b1e2639b83beb9eb0ab9bc67ec63048d63c37","src/client/simple.rs":"3da764ad7daff74e2335962762dd2cca6b0b5eadbfe2f822f7e764d6c6d81d89","src/client/sync.rs":"416f7572d16d323f5283d741032d6025dd23ef5b0fb19a2ed80ff4acde053d59","src/client/tls.rs":"31af1bb8eeaa53f5de06d5000839c99e8bf9559984ab4c6d1ae58f8dea76ba2d","src/client_trait.rs":"123c7977bdd7bd33731cb8d0f3d0a6cf8793755d6cf3a20884df1ef522d4eece","src/http_options.rs":"083a6ec2cd20dee74590a6da994f2aaa8d1d60b4e61949afe519b2bfa9729fcb","src/lib.rs":"73bcf7cd31416936f9fde25166fcafe6008aea60aafda766d68d630e7c45d3f3","src/proxy_config.rs":"fa593b46d0628e36a18a56c4e902be547688c53d6e286df1e3f301848928e07c","src/uri.rs":"2acb95a8700e3bc06ee348011caa0756f6ac63300167d70085e263023bb498ca","src/websocket/mod.rs":"103afc1df63d83870e025259a1892642fb60611f239d0ed689fedadd6f3e2942"},"package":null}
|
122
vendor/proxmox-http/Cargo.toml
vendored
122
vendor/proxmox-http/Cargo.toml
vendored
@ -1,41 +1,117 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
name = "proxmox-http"
|
||||
edition = "2018"
|
||||
name = "proxmox-http"
|
||||
version = "0.7.0"
|
||||
authors = [
|
||||
"Dietmar Maurer <dietmar@proxmox.com>",
|
||||
"Wolfgang Bumiller <w.bumiller@proxmox.com>",
|
||||
]
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "Proxmox HTTP library"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
base64 = { version = "0.13", optional = true }
|
||||
futures = { version = "0.3", optional = true }
|
||||
http = { version = "0.2", optional = true }
|
||||
hyper = { version = "0.14", default_features = false, optional = true }
|
||||
openssl = { version = "0.10", optional = true }
|
||||
serde_json = { version = "1.0", optional = true }
|
||||
tokio = { version = "1.0", features = [], optional = true }
|
||||
tokio-openssl = { version = "0.6.1", optional = true }
|
||||
ureq = { version = "2.4", features = ["native-certs"], optional = true }
|
||||
url = { version = "2", optional = true }
|
||||
|
||||
proxmox-async = { path = "../proxmox-async", optional = true, version = "0.4.1" }
|
||||
proxmox-sys = { path = "../proxmox-sys", optional = true, version = "0.4" }
|
||||
proxmox-io = { path = "../proxmox-io", optional = true, version = "1.0.0" }
|
||||
proxmox-lang = { path = "../proxmox-lang", optional = true, version = "1.1" }
|
||||
[dependencies.base64]
|
||||
version = "0.13"
|
||||
optional = true
|
||||
|
||||
[dependencies.futures]
|
||||
version = "0.3"
|
||||
optional = true
|
||||
|
||||
[dependencies.http]
|
||||
version = "0.2"
|
||||
optional = true
|
||||
|
||||
[dependencies.hyper]
|
||||
version = "0.14"
|
||||
optional = true
|
||||
default_features = false
|
||||
|
||||
[dependencies.openssl]
|
||||
version = "0.10"
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-async]
|
||||
version = "0.4.1"
|
||||
path = "../proxmox-async"
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-io]
|
||||
version = "1.0.0"
|
||||
path = "../proxmox-io"
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-lang]
|
||||
version = "1.1"
|
||||
path = "../proxmox-lang"
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-sys]
|
||||
version = "0.4"
|
||||
path = "../proxmox-sys"
|
||||
optional = true
|
||||
|
||||
[dependencies.serde_json]
|
||||
version = "1.0"
|
||||
optional = true
|
||||
|
||||
[dependencies.tokio]
|
||||
version = "1.0"
|
||||
features = []
|
||||
optional = true
|
||||
|
||||
[dependencies.tokio-openssl]
|
||||
version = "0.6.1"
|
||||
optional = true
|
||||
|
||||
[dependencies.ureq]
|
||||
version = "2.4"
|
||||
features = ["native-certs"]
|
||||
optional = true
|
||||
|
||||
[dependencies.url]
|
||||
version = "2"
|
||||
optional = true
|
||||
|
||||
[features]
|
||||
client = [
|
||||
"dep:futures",
|
||||
"http-helpers",
|
||||
"dep:hyper",
|
||||
"hyper?/full",
|
||||
"dep:openssl",
|
||||
"dep:tokio",
|
||||
"tokio?/io-util",
|
||||
"dep:tokio-openssl",
|
||||
]
|
||||
client-sync = [
|
||||
"client-trait",
|
||||
"http-helpers",
|
||||
"dep:ureq",
|
||||
]
|
||||
client-trait = ["dep:http"]
|
||||
default = []
|
||||
|
||||
client = [ "dep:futures", "http-helpers", "dep:hyper", "hyper?/full", "dep:openssl", "dep:tokio", "tokio?/io-util", "dep:tokio-openssl" ]
|
||||
client-sync = [ "client-trait", "http-helpers", "dep:ureq" ]
|
||||
client-trait = [ "dep:http" ]
|
||||
http-helpers = [ "dep:base64", "dep:http", "dep:proxmox-sys", "dep:serde_json", "dep:url" ]
|
||||
http-helpers = [
|
||||
"dep:base64",
|
||||
"dep:http",
|
||||
"dep:proxmox-sys",
|
||||
"dep:serde_json",
|
||||
"dep:url",
|
||||
]
|
||||
websocket = [
|
||||
"dep:base64",
|
||||
"dep:futures",
|
||||
|
2
vendor/proxmox-io/.cargo-checksum.json
vendored
2
vendor/proxmox-io/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"0d4792823e137ebe7f44914db14976885cac25b830ca7dc5d6e4aed99f0e8844","src/byte_buffer.rs":"abd3798a9fde5ac6561c7103721a6c53834698f539834d7ada28fa6b5d734744","src/lib.rs":"3079f0a7302d3706bdcacabfddb4e2e108511312c53b3dce65b716715012ed19","src/read.rs":"475ad96a2a3f5e00579b3e56bf272b08a6f5001b99d6c985835665f2b7872cdc","src/sparse_copy.rs":"24f438e1c25ab956209a47636aa1898f813281f0878241081536e1a5734af0fa","src/std_channel_writer.rs":"e11c6206404345d44c6622f2ebacf786d2b8aaf5b73fc267acefbb20d74bda0e","src/vec/byte_vec.rs":"5f0417c31fe084753c46ea1f8ae9a36beca1d48c8ba7f98f97d4f35fe1400570","src/vec/mod.rs":"86afaa1d50acb53f201028268960a1721d9f02067e19d7be0eeb6f582130621d","src/write.rs":"29b1306a6eef683dd281e17741e0f7473972ecb8ee0f101471c84bf5c29c0a8f"},"package":null}
|
||||
{"files":{"Cargo.toml":"bd5541d9b7207700190f6d4f708c1cb015257d1d3e63747bd5874e181105195b","src/byte_buffer.rs":"abd3798a9fde5ac6561c7103721a6c53834698f539834d7ada28fa6b5d734744","src/lib.rs":"3079f0a7302d3706bdcacabfddb4e2e108511312c53b3dce65b716715012ed19","src/read.rs":"475ad96a2a3f5e00579b3e56bf272b08a6f5001b99d6c985835665f2b7872cdc","src/sparse_copy.rs":"24f438e1c25ab956209a47636aa1898f813281f0878241081536e1a5734af0fa","src/std_channel_writer.rs":"e11c6206404345d44c6622f2ebacf786d2b8aaf5b73fc267acefbb20d74bda0e","src/vec/byte_vec.rs":"5f0417c31fe084753c46ea1f8ae9a36beca1d48c8ba7f98f97d4f35fe1400570","src/vec/mod.rs":"86afaa1d50acb53f201028268960a1721d9f02067e19d7be0eeb6f582130621d","src/write.rs":"29b1306a6eef683dd281e17741e0f7473972ecb8ee0f101471c84bf5c29c0a8f"},"package":null}
|
28
vendor/proxmox-io/Cargo.toml
vendored
28
vendor/proxmox-io/Cargo.toml
vendored
@ -1,14 +1,28 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "proxmox-io"
|
||||
version = "1.0.1"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2018"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "extension traits for Read and Write"
|
||||
license = "AGPL-3"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
[dependencies.endian_trait]
|
||||
version = "0.6"
|
||||
features = ["arrays"]
|
||||
|
||||
[dependencies]
|
||||
endian_trait = { version = "0.6", features = ["arrays"] }
|
||||
# this is also the feature name:
|
||||
tokio = { version = "1.0", features = [ "io-util" ], optional = true }
|
||||
[dependencies.tokio]
|
||||
version = "1.0"
|
||||
features = ["io-util"]
|
||||
optional = true
|
||||
|
2
vendor/proxmox-lang/.cargo-checksum.json
vendored
2
vendor/proxmox-lang/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"3ca70b9875c0ec34e81009184bddf9577f5640e8d266d7fe36eb9228774fb70e","src/constnamedbitmap.rs":"d090244219f26828357efa56b8e0f645aab14e6651d0107217d937ab7476eea6","src/error.rs":"5d667969377bea1fcd5a7da58e106b756d221b2b146f1481907a8a5c9866e8af","src/lib.rs":"d251d726369f6906f9db5354777d224ef8af295ee83a3cf865d379fddc6e8610","src/ops.rs":"4b39911ac5ef8faa20968e754cf16d3ed94112d0ec676020e3b9d377e3a55e3a"},"package":null}
|
||||
{"files":{"Cargo.toml":"bc4e5cde0cbeb4e1ebd781986f0e1fb7f87121a4a6b986c0358e18125c060354","src/constnamedbitmap.rs":"d090244219f26828357efa56b8e0f645aab14e6651d0107217d937ab7476eea6","src/error.rs":"5d667969377bea1fcd5a7da58e106b756d221b2b146f1481907a8a5c9866e8af","src/lib.rs":"d251d726369f6906f9db5354777d224ef8af295ee83a3cf865d379fddc6e8610","src/ops.rs":"4b39911ac5ef8faa20968e754cf16d3ed94112d0ec676020e3b9d377e3a55e3a"},"package":null}
|
18
vendor/proxmox-lang/Cargo.toml
vendored
18
vendor/proxmox-lang/Cargo.toml
vendored
@ -1,11 +1,21 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "proxmox-lang"
|
||||
version = "1.1.0"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2018"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "simple rust language utilities such as try_block, which have no dependencies"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
|
2
vendor/proxmox-openid/.cargo-checksum.json
vendored
2
vendor/proxmox-openid/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{".cargo/config":"37beff0fa7970cf880e0ca1d4b564c22cb48f8b606155656d02e9da3fb2e415a","Cargo.toml":"b8cbdbff80a730fe04b5f7621c9796af22c7464c98d2e79688a78f8b18a84d22","Makefile":"effc5f1ba9c04515ffa157d51120819bea4e62dcafc7897e75c5f8045f2695a5","src/auth_state.rs":"3f5f4940d018e644606191204846577808ab974a03ce9b9e15c5bc12dd726a40","src/http_client.rs":"075aed48436441417aba32a673fa90c485517207401a243646a01142dd2983c9","src/lib.rs":"45da5262a412ead5e3e6174d309e521ea0cdbf27eb69921cb5dc5803afcb0f77"},"package":null}
|
||||
{"files":{".cargo/config":"37beff0fa7970cf880e0ca1d4b564c22cb48f8b606155656d02e9da3fb2e415a","Cargo.toml":"c7623bd84a447a018dc266bc898719000c3db0582e0fd9d30e2d622ecf1218a3","Makefile":"effc5f1ba9c04515ffa157d51120819bea4e62dcafc7897e75c5f8045f2695a5","src/auth_state.rs":"3f5f4940d018e644606191204846577808ab974a03ce9b9e15c5bc12dd726a40","src/http_client.rs":"075aed48436441417aba32a673fa90c485517207401a243646a01142dd2983c9","src/lib.rs":"45da5262a412ead5e3e6174d309e521ea0cdbf27eb69921cb5dc5803afcb0f77"},"package":null}
|
47
vendor/proxmox-openid/Cargo.toml
vendored
47
vendor/proxmox-openid/Cargo.toml
vendored
@ -1,13 +1,24 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "proxmox-openid"
|
||||
version = "0.9.7"
|
||||
authors = ["Dietmar Maurer <dietmar@proxmox.com>"]
|
||||
edition = "2018"
|
||||
license = "AGPL-3"
|
||||
exclude = [
|
||||
"build",
|
||||
"debian",
|
||||
]
|
||||
license = "AGPL-3"
|
||||
|
||||
[lib]
|
||||
name = "proxmox_openid"
|
||||
@ -16,14 +27,30 @@ path = "src/lib.rs"
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
http = "0.2"
|
||||
nix = "0.24"
|
||||
openidconnect = { version = "2.2", default-features = false, features = ["accept-rfc3339-timestamps"] }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
thiserror="1.0"
|
||||
ureq = { version = "2.4", default-features = false, features = ["native-tls", "gzip"] }
|
||||
native-tls = "0.2"
|
||||
nix = "0.24"
|
||||
proxmox-time = "1"
|
||||
serde_json = "1.0"
|
||||
thiserror = "1.0"
|
||||
url = "2.1"
|
||||
|
||||
proxmox-time = "1"
|
||||
proxmox-sys = { version = "0.4", features = ["timer"] }
|
||||
[dependencies.openidconnect]
|
||||
version = "2.2"
|
||||
features = ["accept-rfc3339-timestamps"]
|
||||
default-features = false
|
||||
|
||||
[dependencies.proxmox-sys]
|
||||
version = "0.4"
|
||||
features = ["timer"]
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
|
||||
[dependencies.ureq]
|
||||
version = "2.4"
|
||||
features = [
|
||||
"native-tls",
|
||||
"gzip",
|
||||
]
|
||||
default-features = false
|
||||
|
1
vendor/proxmox-resource-scheduling/.cargo-checksum.json
vendored
Normal file
1
vendor/proxmox-resource-scheduling/.cargo-checksum.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"files":{".cargo/config":"37beff0fa7970cf880e0ca1d4b564c22cb48f8b606155656d02e9da3fb2e415a","Cargo.toml":"d86a5c601961c3b5d35de62b62469b9dd0311b15c7e8aa033a47fb05ad3995f3","Makefile":"9f3688645028010aa991581b866a6cc221f97667bd2923d437307dc628983f00","rustfmt.toml":"f1a22634bbffec62822faa208b352d302c19c2f70e29e57613b9df18d7c2fc36","src/lib.rs":"a785020c064988f1b52aec829b92dab0736d74517744d38abd6bf6d31eda4b50","src/pve_static.rs":"0ef9c637a090015c7623aeb682c3eb7518def7f4b957ad716802b954dbbf2fbe","src/topsis.rs":"0bcbfa0e60af2ddf9cc3c87f5c3ed8a7857ac961d7a88fb1044edacd7d88c105","tests/topsis.rs":"eab19f720ad9dd070b4e2ab4a95ef5787d4ba18400c9b539dbc4488a54ef9bc2"},"package":null}
|
5
vendor/proxmox-resource-scheduling/.cargo/config
vendored
Normal file
5
vendor/proxmox-resource-scheduling/.cargo/config
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
[source]
|
||||
[source.debian-packages]
|
||||
directory = "/usr/share/cargo/registry"
|
||||
[source.crates-io]
|
||||
replace-with = "debian-packages"
|
31
vendor/proxmox-resource-scheduling/Cargo.toml
vendored
Normal file
31
vendor/proxmox-resource-scheduling/Cargo.toml
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "proxmox-resource-scheduling"
|
||||
version = "0.1.0"
|
||||
authors = [
|
||||
"Fiona Ebner <f.ebner@proxmox.com>",
|
||||
"Proxmox Support Team <support@proxmox.com>",
|
||||
]
|
||||
exclude = ["debian"]
|
||||
description = "Proxmox library for resource scheduling"
|
||||
homepage = "https://www.proxmox.com"
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
lazy_static = "1.4"
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
67
vendor/proxmox-resource-scheduling/Makefile
vendored
Normal file
67
vendor/proxmox-resource-scheduling/Makefile
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
include /usr/share/dpkg/architecture.mk
|
||||
|
||||
PACKAGE=proxmox-resource-scheduling
|
||||
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
|
||||
BUILDDIR_TMP ?= $(BUILDDIR).tmp
|
||||
|
||||
DEB=librust-$(PACKAGE)-dev_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_BUILD_ARCH).deb
|
||||
DSC=rust-$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
|
||||
|
||||
ifeq ($(BUILD_MODE), release)
|
||||
CARGO_BUILD_ARGS += --release
|
||||
COMPILEDIR := target/release
|
||||
else
|
||||
COMPILEDIR := target/debug
|
||||
endif
|
||||
|
||||
all: cargo-build $(SUBDIRS)
|
||||
|
||||
.PHONY: cargo-build
|
||||
cargo-build:
|
||||
cargo build $(CARGO_BUILD_ARGS)
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
rm -rf $(BUILDDIR) $(BUILDDIR_TMP); mkdir $(BUILDDIR_TMP)
|
||||
rm -f debian/control
|
||||
debcargo package \
|
||||
--config debian/debcargo.toml \
|
||||
--changelog-ready \
|
||||
--no-overlay-write-back \
|
||||
--directory $(BUILDDIR_TMP) \
|
||||
$(PACKAGE) \
|
||||
$(shell dpkg-parsechangelog -l debian/changelog -SVersion | sed -e 's/-.*//')
|
||||
cp $(BUILDDIR_TMP)/debian/control debian/control
|
||||
rm -f $(BUILDDIR_TMP)/Cargo.lock
|
||||
find $(BUILDDIR_TMP)/debian -name "*.hint" -delete
|
||||
mv $(BUILDDIR_TMP) $(BUILDDIR)
|
||||
|
||||
.PHONY: deb
|
||||
deb: $(DEB)
|
||||
$(DEB): build
|
||||
cd $(BUILDDIR); dpkg-buildpackage -b -us -uc --no-pre-clean
|
||||
lintian $(DEB)
|
||||
|
||||
.PHONY: dsc
|
||||
dsc: $(DSC)
|
||||
$(DSC): build
|
||||
cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d -nc
|
||||
lintian $(DSC)
|
||||
|
||||
.PHONY: dinstall
|
||||
dinstall: $(DEB)
|
||||
dpkg -i $(DEB)
|
||||
|
||||
.PHONY: upload
|
||||
upload: $(DEB)
|
||||
tar cf - $(DEB) | ssh -X repoman@repo.proxmox.com -- upload --product devel --dist bullseye --arch $(DEB_BUILD_ARCH)
|
||||
|
||||
.PHONY: distclean
|
||||
distclean: clean
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
cargo clean
|
||||
rm -rf *.deb *.buildinfo *.changes *.dsc rust-$(PACKAGE)_*.tar.?z $(BUILDDIR) $(BUILDDIR_TMP)
|
||||
find . -name '*~' -exec rm {} ';'
|
1
vendor/proxmox-resource-scheduling/rustfmt.toml
vendored
Normal file
1
vendor/proxmox-resource-scheduling/rustfmt.toml
vendored
Normal file
@ -0,0 +1 @@
|
||||
edition = "2021"
|
4
vendor/proxmox-resource-scheduling/src/lib.rs
vendored
Normal file
4
vendor/proxmox-resource-scheduling/src/lib.rs
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
#[macro_use]
|
||||
pub mod topsis;
|
||||
|
||||
pub mod pve_static;
|
125
vendor/proxmox-resource-scheduling/src/pve_static.rs
vendored
Normal file
125
vendor/proxmox-resource-scheduling/src/pve_static.rs
vendored
Normal file
@ -0,0 +1,125 @@
|
||||
use anyhow::Error;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::topsis;
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
/// Static usage information of a node.
|
||||
pub struct StaticNodeUsage {
|
||||
/// Hostname of the node.
|
||||
pub name: String,
|
||||
/// CPU utilization. Can be more than `maxcpu` if overcommited.
|
||||
pub cpu: f64,
|
||||
/// Total number of CPUs.
|
||||
pub maxcpu: usize,
|
||||
/// Used memory in bytes. Can be more than `maxmem` if overcommited.
|
||||
pub mem: usize,
|
||||
/// Total memory in bytes.
|
||||
pub maxmem: usize,
|
||||
}
|
||||
|
||||
impl StaticNodeUsage {
|
||||
/// Add usage of `service` to the node's usage.
|
||||
pub fn add_service_usage(&mut self, service: &StaticServiceUsage) {
|
||||
self.cpu = add_cpu_usage(self.cpu, self.maxcpu as f64, service.maxcpu);
|
||||
self.mem += service.maxmem;
|
||||
}
|
||||
}
|
||||
|
||||
/// Calculate new CPU usage in percent.
|
||||
/// `add` being `0.0` means "unlimited" and results in `max` being added.
|
||||
fn add_cpu_usage(old: f64, max: f64, add: f64) -> f64 {
|
||||
if add == 0.0 {
|
||||
old + max
|
||||
} else {
|
||||
old + add
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
/// Static usage information of an HA resource.
|
||||
pub struct StaticServiceUsage {
|
||||
/// Number of assigned CPUs or CPU limit.
|
||||
pub maxcpu: f64,
|
||||
/// Maximum assigned memory in bytes.
|
||||
pub maxmem: usize,
|
||||
}
|
||||
|
||||
criteria_struct! {
|
||||
/// A given alternative.
|
||||
struct PveTopsisAlternative {
|
||||
#[criterion("average CPU", -1.0)]
|
||||
average_cpu: f64,
|
||||
#[criterion("highest CPU", -2.0)]
|
||||
highest_cpu: f64,
|
||||
#[criterion("average memory", -5.0)]
|
||||
average_memory: f64,
|
||||
#[criterion("highest memory", -10.0)]
|
||||
highest_memory: f64,
|
||||
}
|
||||
|
||||
const N_CRITERIA;
|
||||
static PVE_HA_TOPSIS_CRITERIA;
|
||||
}
|
||||
|
||||
/// Scores candidate `nodes` to start a `service` on. Scoring is done according to the static memory
|
||||
/// and CPU usages of the nodes as if the service would already be running on each.
|
||||
///
|
||||
/// Returns a vector of (nodename, score) pairs. Scores are between 0.0 and 1.0 and a higher score
|
||||
/// is better.
|
||||
pub fn score_nodes_to_start_service(
|
||||
nodes: &[&StaticNodeUsage],
|
||||
service: &StaticServiceUsage,
|
||||
) -> Result<Vec<(String, f64)>, Error> {
|
||||
let len = nodes.len();
|
||||
|
||||
let matrix = nodes
|
||||
.iter()
|
||||
.enumerate()
|
||||
.map(|(target_index, _)| {
|
||||
// all of these are as percentages to be comparable across nodes
|
||||
let mut highest_cpu = 0.0;
|
||||
let mut sum_cpu = 0.0;
|
||||
let mut highest_mem = 0.0;
|
||||
let mut sum_mem = 0.0;
|
||||
|
||||
for (index, node) in nodes.iter().enumerate() {
|
||||
let new_cpu = if index == target_index {
|
||||
add_cpu_usage(node.cpu, node.maxcpu as f64, service.maxcpu)
|
||||
} else {
|
||||
node.cpu
|
||||
} / (node.maxcpu as f64);
|
||||
highest_cpu = f64::max(highest_cpu, new_cpu);
|
||||
sum_cpu += new_cpu;
|
||||
|
||||
let new_mem = if index == target_index {
|
||||
node.mem + service.maxmem
|
||||
} else {
|
||||
node.mem
|
||||
} as f64
|
||||
/ node.maxmem as f64;
|
||||
highest_mem = f64::max(highest_mem, new_mem);
|
||||
sum_mem += new_mem;
|
||||
}
|
||||
|
||||
PveTopsisAlternative {
|
||||
average_cpu: sum_cpu / len as f64,
|
||||
highest_cpu,
|
||||
average_memory: sum_mem / len as f64,
|
||||
highest_memory: highest_mem,
|
||||
}
|
||||
.into()
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
let scores =
|
||||
topsis::score_alternatives(&topsis::Matrix::new(matrix)?, &PVE_HA_TOPSIS_CRITERIA)?;
|
||||
|
||||
Ok(scores
|
||||
.into_iter()
|
||||
.enumerate()
|
||||
.map(|(n, score)| (nodes[n].name.clone(), score))
|
||||
.collect())
|
||||
}
|
247
vendor/proxmox-resource-scheduling/src/topsis.rs
vendored
Normal file
247
vendor/proxmox-resource-scheduling/src/topsis.rs
vendored
Normal file
@ -0,0 +1,247 @@
|
||||
use anyhow::{bail, Error};
|
||||
|
||||
fn differences<const N: usize>(xs: &[f64; N], ys: &[f64; N]) -> [f64; N] {
|
||||
// Uses SSE optimizations
|
||||
let mut differences = [0.0; N];
|
||||
for n in 0..N {
|
||||
differences[n] = xs[n] - ys[n];
|
||||
}
|
||||
differences
|
||||
|
||||
// while fails to optimize:
|
||||
// std::array:from_fn(|i| xs[i] - ys[i])
|
||||
}
|
||||
|
||||
/// Calculate the L^2-norm of the given values.
|
||||
fn l2_norm(values: impl IntoIterator<Item = f64>) -> f64 {
|
||||
values.into_iter().map(|v| v * v).sum::<f64>().sqrt()
|
||||
}
|
||||
|
||||
/// A criterion that can be used when scoring with the TOPSIS algorithm.
|
||||
pub struct Criterion {
|
||||
/// Name of the criterion.
|
||||
name: String,
|
||||
/// The relative weight of the criterion. Is non-negative.
|
||||
weight: f64,
|
||||
/// Whether it's good to maximize or minimize the criterion.
|
||||
maximize: bool,
|
||||
}
|
||||
|
||||
impl Criterion {
|
||||
/// Construct a new `Criterion`. Use a negative weight if the value for the criterion
|
||||
/// should be minimized rather than maximized.
|
||||
///
|
||||
/// Assumes that `weight` is finite.
|
||||
pub fn new(name: String, weight: f64) -> Self {
|
||||
let (maximize, weight) = if weight >= 0.0 {
|
||||
(true, weight)
|
||||
} else {
|
||||
(false, -weight)
|
||||
};
|
||||
|
||||
Criterion {
|
||||
name,
|
||||
weight,
|
||||
maximize,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// A normalized array of `Criterion`.
|
||||
pub struct Criteria<const N_CRITERIA: usize>([Criterion; N_CRITERIA]);
|
||||
|
||||
impl<const N: usize> Criteria<N> {
|
||||
/// Create a new instance of normalized TOPSIS criteria.
|
||||
///
|
||||
/// Assumes that the sum of weights can be calculated to a finite, non-zero value.
|
||||
pub fn new(mut criteria: [Criterion; N]) -> Result<Self, Error> {
|
||||
let divisor: f64 = criteria.iter().map(|c| c.weight).sum();
|
||||
|
||||
if divisor == 0.0 {
|
||||
bail!("no criterion has a non-zero weight");
|
||||
}
|
||||
|
||||
for criterion in criteria.iter_mut() {
|
||||
criterion.weight /= divisor;
|
||||
if criterion.weight > 1.0 || criterion.weight < 0.0 || !criterion.weight.is_finite() {
|
||||
bail!(
|
||||
"criterion '{}' got invalid weight {}",
|
||||
criterion.name,
|
||||
criterion.weight
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Ok(Criteria(criteria))
|
||||
}
|
||||
|
||||
/// Weigh each value according to the weight of its corresponding criterion.
|
||||
pub fn weigh(&self, mut values: [f64; N]) -> [f64; N] {
|
||||
for (n, value) in values.iter_mut().enumerate() {
|
||||
*value *= self.0[n].weight;
|
||||
}
|
||||
values
|
||||
}
|
||||
}
|
||||
|
||||
/// A normalized matrix used for scoring with the TOPSIS algorithm.
|
||||
pub struct Matrix<const N_CRITERIA: usize>(Vec<[f64; N_CRITERIA]>);
|
||||
|
||||
impl<const N: usize> Matrix<N> {
|
||||
/// Values of the matrix for the fixed critierion with index `index`.
|
||||
fn fixed_criterion(&self, index: usize) -> impl Iterator<Item = f64> + Clone + '_ {
|
||||
self.0.iter().map(move |alternative| alternative[index])
|
||||
}
|
||||
|
||||
/// Mutable values of the matrix for the fixed critierion with index `index`.
|
||||
fn fixed_criterion_mut(&mut self, index: usize) -> impl Iterator<Item = &mut f64> {
|
||||
self.0
|
||||
.iter_mut()
|
||||
.map(move |alternative| &mut alternative[index])
|
||||
}
|
||||
|
||||
/// Create a normalized `Matrix` based on the given values.
|
||||
///
|
||||
/// Assumes that the sum of squares for each fixed criterion in `matrix` can be calculated to a
|
||||
/// finite value.
|
||||
pub fn new(matrix: Vec<[f64; N]>) -> Result<Self, Error> {
|
||||
let mut matrix = Matrix(matrix);
|
||||
for n in 0..N {
|
||||
let divisor = l2_norm(matrix.fixed_criterion(n));
|
||||
|
||||
// If every alternative has zero value for the given criterion, keep it like that.
|
||||
if divisor != 0.0 {
|
||||
for value in matrix.fixed_criterion_mut(n) {
|
||||
*value /= divisor;
|
||||
if !value.is_finite() {
|
||||
bail!("criterion {} got invalid value {}", n, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ok(matrix)
|
||||
}
|
||||
}
|
||||
|
||||
/// Idealized alternatives from a `Matrix`. That is, the alternative consisting of the best
|
||||
/// (respectively worst) value among the alternatives in the matrix for each single criterion.
|
||||
struct IdealAlternatives<const N_CRITERIA: usize> {
|
||||
best: [f64; N_CRITERIA],
|
||||
worst: [f64; N_CRITERIA],
|
||||
}
|
||||
|
||||
impl<const N: usize> IdealAlternatives<N> {
|
||||
/// Compute the idealized alternatives from the given `matrix`. The `criteria` are required to know
|
||||
/// if a critierion should be maximized or minimized.
|
||||
fn compute(matrix: &Matrix<N>, criteria: &Criteria<N>) -> Self {
|
||||
let criteria = &criteria.0;
|
||||
|
||||
let mut best = [0.0; N];
|
||||
let mut worst = [0.0; N];
|
||||
|
||||
for n in 0..N {
|
||||
let fixed_criterion = matrix.fixed_criterion(n);
|
||||
let min = fixed_criterion
|
||||
.clone()
|
||||
.min_by(|a, b| a.total_cmp(b))
|
||||
.unwrap();
|
||||
let max = fixed_criterion.max_by(|a, b| a.total_cmp(b)).unwrap();
|
||||
|
||||
(best[n], worst[n]) = match criteria[n].maximize {
|
||||
true => (max, min),
|
||||
false => (min, max),
|
||||
}
|
||||
}
|
||||
|
||||
Self { best, worst }
|
||||
}
|
||||
}
|
||||
|
||||
/// Scores the alternatives in `matrix` according to their similarity to the ideal worst
|
||||
/// alternative. Scores range from 0.0 to 1.0 and a low score indicates closness to the ideal worst
|
||||
/// and/or distance to the ideal best alternatives.
|
||||
pub fn score_alternatives<const N: usize>(
|
||||
matrix: &Matrix<N>,
|
||||
criteria: &Criteria<N>,
|
||||
) -> Result<Vec<f64>, Error> {
|
||||
let ideal = IdealAlternatives::compute(matrix, criteria);
|
||||
|
||||
let mut scores = vec![];
|
||||
|
||||
for alternative in matrix.0.iter() {
|
||||
let distance_to_best = l2_norm(criteria.weigh(differences(alternative, &ideal.best)));
|
||||
let distance_to_worst = l2_norm(criteria.weigh(differences(alternative, &ideal.worst)));
|
||||
|
||||
let divisor = distance_to_worst + distance_to_best;
|
||||
if divisor == 0.0 {
|
||||
// Can happen if all alternatives are the same.
|
||||
scores.push(0.0);
|
||||
} else {
|
||||
scores.push(distance_to_worst / divisor);
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(score) = scores.iter().find(|score| !score.is_finite()) {
|
||||
bail!("invalid score {}", score);
|
||||
}
|
||||
|
||||
Ok(scores)
|
||||
}
|
||||
|
||||
/// Similar to `score_alternatives`, but returns the list of indices decreasing by score.
|
||||
pub fn rank_alternatives<const N: usize>(
|
||||
matrix: &Matrix<N>,
|
||||
criteria: &Criteria<N>,
|
||||
) -> Result<Vec<usize>, Error> {
|
||||
let scores = score_alternatives(matrix, criteria)?;
|
||||
let mut indices: Vec<usize> = (0..scores.len()).collect();
|
||||
indices.sort_by(|&a, &b| scores[b].total_cmp(&scores[a]));
|
||||
Ok(indices)
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! criteria_struct {
|
||||
(@count: $field:ident $($more:ident)*) => {
|
||||
1 + $crate::criteria_struct!(@count: $($more)*)
|
||||
};
|
||||
(@count: ) => { 0 };
|
||||
(
|
||||
$(#[$attr:meta])*
|
||||
struct $name:ident {
|
||||
$(
|
||||
#[criterion($crit_name:literal, $crit_weight:literal)]
|
||||
$(#[$field_attr:meta])*
|
||||
$field:ident : $type:ty,
|
||||
)*
|
||||
}
|
||||
const $count_name:ident;
|
||||
static $criteria_name:ident;
|
||||
) => {
|
||||
const $count_name: usize = $crate::criteria_struct!(@count: $($field)*);
|
||||
|
||||
$(#[$attr])*
|
||||
struct $name {
|
||||
$(
|
||||
$(#[$field_attr])*
|
||||
$field: $type,
|
||||
)*
|
||||
}
|
||||
|
||||
::lazy_static::lazy_static! {
|
||||
static ref $criteria_name: $crate::topsis::Criteria<$count_name> =
|
||||
$crate::topsis::Criteria::new([
|
||||
$(
|
||||
$crate::topsis::Criterion::new($crit_name.to_string(), $crit_weight),
|
||||
)*
|
||||
])
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
impl From<$name> for [f64; $count_name] {
|
||||
fn from(alternative: $name) -> Self {
|
||||
[ $( alternative.$field, )* ]
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
289
vendor/proxmox-resource-scheduling/tests/topsis.rs
vendored
Normal file
289
vendor/proxmox-resource-scheduling/tests/topsis.rs
vendored
Normal file
@ -0,0 +1,289 @@
|
||||
use anyhow::Error;
|
||||
|
||||
use proxmox_resource_scheduling::topsis::{rank_alternatives, Criteria, Criterion, Matrix};
|
||||
|
||||
#[test]
|
||||
fn test_topsis_single_criterion() -> Result<(), Error> {
|
||||
let criteria_pos = Criteria::new([Criterion::new("the one and only".to_string(), 1.0)])?;
|
||||
|
||||
let criteria_neg = Criteria::new([Criterion::new("the one and only".to_string(), -1.0)])?;
|
||||
|
||||
let matrix = vec![[0.0]];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_pos)?,
|
||||
vec![0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_neg)?,
|
||||
vec![0],
|
||||
);
|
||||
|
||||
let matrix = vec![[0.0], [2.0]];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_pos)?,
|
||||
vec![1, 0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_neg)?,
|
||||
vec![0, 1],
|
||||
);
|
||||
|
||||
let matrix = vec![[1.0], [2.0]];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_pos)?,
|
||||
vec![1, 0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_neg)?,
|
||||
vec![0, 1],
|
||||
);
|
||||
|
||||
let matrix = vec![[1.0], [2.0], [5.0], [3.0], [4.0]];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_pos)?,
|
||||
vec![2, 4, 3, 1, 0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_neg)?,
|
||||
vec![0, 1, 3, 4, 2],
|
||||
);
|
||||
|
||||
let matrix = vec![[-2.0], [-5.0], [-4.0], [1.0], [-3.0]];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_pos)?,
|
||||
vec![3, 0, 4, 2, 1],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_neg)?,
|
||||
vec![1, 2, 4, 0, 3],
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_topsis_two_criteria() -> Result<(), Error> {
|
||||
let criteria_max_min = Criteria::new([
|
||||
Criterion::new("max".to_string(), 1.0),
|
||||
Criterion::new("min".to_string(), -1.0),
|
||||
])?;
|
||||
let criteria_min_max = Criteria::new([
|
||||
Criterion::new("min".to_string(), -1.0),
|
||||
Criterion::new("max".to_string(), 1.0),
|
||||
])?;
|
||||
let criteria_min_min = Criteria::new([
|
||||
Criterion::new("min1".to_string(), -1.0),
|
||||
Criterion::new("min2".to_string(), -1.0),
|
||||
])?;
|
||||
let criteria_max_max = Criteria::new([
|
||||
Criterion::new("max1".to_string(), 1.0),
|
||||
Criterion::new("max2".to_string(), 1.0),
|
||||
])?;
|
||||
|
||||
let matrix = vec![[0.0, 0.0]];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_max_min)?,
|
||||
vec![0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_min_max)?,
|
||||
vec![0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_min_min)?,
|
||||
vec![0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_max_max)?,
|
||||
vec![0],
|
||||
);
|
||||
|
||||
#[rustfmt::skip]
|
||||
let matrix = vec![
|
||||
[0.0, 1.0],
|
||||
[1.0, 0.0],
|
||||
[1.0, -1.0],
|
||||
[1.0, 1.0],
|
||||
[0.0, 0.0],
|
||||
];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_max_min)?,
|
||||
vec![2, 1, 4, 3, 0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_min_max)?,
|
||||
vec![0, 3, 4, 1, 2],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_min_min)?,
|
||||
vec![2, 4, 1, 0, 3],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_max_max)?,
|
||||
vec![3, 0, 1, 4, 2],
|
||||
);
|
||||
|
||||
// This one was cross-checked with https://decision-radar.com/topsis rather than manually.
|
||||
#[rustfmt::skip]
|
||||
let matrix = vec![
|
||||
[7.0, 4.0],
|
||||
[1.0, 0.5],
|
||||
[-1.0, -1.0],
|
||||
[-8.5, 11.5],
|
||||
[4.0, 7.0],
|
||||
];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_max_min)?,
|
||||
vec![0, 1, 4, 2, 3],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_min_max)?,
|
||||
vec![3, 2, 4, 1, 0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_min_min)?,
|
||||
vec![2, 3, 1, 0, 4],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_max_max)?,
|
||||
vec![4, 0, 1, 3, 2],
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_topsis_three_criteria() -> Result<(), Error> {
|
||||
let criteria_first = Criteria::new([
|
||||
Criterion::new("more".to_string(), 10.0),
|
||||
Criterion::new("less".to_string(), 0.2),
|
||||
Criterion::new("least".to_string(), 0.1),
|
||||
])?;
|
||||
let criteria_second = Criteria::new([
|
||||
Criterion::new("less".to_string(), 0.2),
|
||||
Criterion::new("more".to_string(), 10.0),
|
||||
Criterion::new("least".to_string(), 0.1),
|
||||
])?;
|
||||
let criteria_third = Criteria::new([
|
||||
Criterion::new("less".to_string(), 0.2),
|
||||
Criterion::new("least".to_string(), 0.1),
|
||||
Criterion::new("more".to_string(), 10.0),
|
||||
])?;
|
||||
let criteria_min = Criteria::new([
|
||||
Criterion::new("most".to_string(), -10.0),
|
||||
Criterion::new("more".to_string(), -5.0),
|
||||
Criterion::new("less".to_string(), 0.1),
|
||||
])?;
|
||||
|
||||
#[rustfmt::skip]
|
||||
let matrix = vec![
|
||||
[1.0, 0.0, 0.0],
|
||||
[0.0, 1.0, 0.0],
|
||||
[0.0, 0.0, 1.0],
|
||||
];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_first)?,
|
||||
vec![0, 1, 2],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_second)?,
|
||||
vec![1, 0, 2],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_third)?,
|
||||
vec![2, 0, 1],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_min)?,
|
||||
vec![2, 1, 0],
|
||||
);
|
||||
|
||||
#[rustfmt::skip]
|
||||
let matrix = vec![
|
||||
[1.0, 0.0, 0.0],
|
||||
[0.0, 1.0, 0.0],
|
||||
[0.0, 0.0, 1000.0],
|
||||
];
|
||||
// normalization ensures that it's still the same as above
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_first)?,
|
||||
vec![0, 1, 2],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_second)?,
|
||||
vec![1, 0, 2],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_third)?,
|
||||
vec![2, 0, 1],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_min)?,
|
||||
vec![2, 1, 0],
|
||||
);
|
||||
|
||||
#[rustfmt::skip]
|
||||
let matrix = vec![
|
||||
[-1.0, 0.0, 0.0],
|
||||
[0.0, -1.0, 0.0],
|
||||
[0.0, 0.0, 1.0],
|
||||
];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_first)?,
|
||||
vec![2, 1, 0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_second)?,
|
||||
vec![2, 0, 1],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix.clone())?, &criteria_third)?,
|
||||
vec![2, 1, 0],
|
||||
);
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_min)?,
|
||||
vec![0, 1, 2],
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_nan() {
|
||||
#[rustfmt::skip]
|
||||
let matrix = vec![
|
||||
[-1.0, 0.0, 0.0],
|
||||
[0.0, -1.0, 0.0],
|
||||
[0.0, f64::NAN, 1.0],
|
||||
];
|
||||
assert!(Matrix::new(matrix).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_zero() -> Result<(), Error> {
|
||||
let criteria_zero = Criteria::new([
|
||||
Criterion::new("z".to_string(), 0.0),
|
||||
Criterion::new("e".to_string(), 0.0),
|
||||
Criterion::new("ro".to_string(), 0.0),
|
||||
]);
|
||||
assert!(criteria_zero.is_err());
|
||||
|
||||
let criteria_first = Criteria::new([
|
||||
Criterion::new("more".to_string(), 10.0),
|
||||
Criterion::new("less".to_string(), 0.2),
|
||||
Criterion::new("least".to_string(), 0.1),
|
||||
])?;
|
||||
|
||||
#[rustfmt::skip]
|
||||
let matrix = vec![
|
||||
[0.0, 0.0, 0.0],
|
||||
[0.0, 1.0, 0.0],
|
||||
[0.0, 0.0, 1.0],
|
||||
];
|
||||
assert_eq!(
|
||||
rank_alternatives(&Matrix::new(matrix)?, &criteria_first)?,
|
||||
vec![1, 2, 0],
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
2
vendor/proxmox-schema/.cargo-checksum.json
vendored
2
vendor/proxmox-schema/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"179955122f0cf8ab7036d7967dac8eec4f5497e909917b82ce4fe5005584d561","src/api_type_macros.rs":"8f3e8a4dea0570c840f1ace43f9ab840ca1df4b4786be96c0e27eba146ba0875","src/const_regex.rs":"3c3f822d09136ccd52fbd66042b2ad37fc12945bef320d7a29b38b72cbd6465b","src/de.rs":"2dfacc67ef99f8f9271d7cb5576a53df7a31ff94c4cc41571fae2a8dda23b5a0","src/format.rs":"86b67c48b8f0813ac842e3b5d02fde19a0bc4f256ce3622e2eb26e88314a8980","src/lib.rs":"5c9bf978fef770014b682f45978c65a56d95c076b82065dd8a0470bae44c9b0d","src/property_string.rs":"43866f6c9ff7daab4236ff651868e297ee65aa1549f234e2585062d28300ee70","src/schema.rs":"def455b4c5ac61302e18f6504736919193d62e1b5c3bea16d4442219d3c347ac","src/upid.rs":"bd7fd82f3f8593803a4105f9a40f8e436229c9be965ca130cbed43aa36455083","tests/schema.rs":"a4703c7344fe2b02da63c3a542d09c8a89d78369aa87ebf17990581b2c92810d","tests/schema_verification.rs":"13c8d92ac94b1c45d07a037e203fae9f0c8acbb27f1c23d15bff3e233556ae4e"},"package":null}
|
||||
{"files":{"Cargo.toml":"2089357441498c9ff3c6acfa18eb56001172ff6282c6479d139c8f7d1b991fde","src/api_type_macros.rs":"8f3e8a4dea0570c840f1ace43f9ab840ca1df4b4786be96c0e27eba146ba0875","src/const_regex.rs":"3c3f822d09136ccd52fbd66042b2ad37fc12945bef320d7a29b38b72cbd6465b","src/de.rs":"2dfacc67ef99f8f9271d7cb5576a53df7a31ff94c4cc41571fae2a8dda23b5a0","src/format.rs":"86b67c48b8f0813ac842e3b5d02fde19a0bc4f256ce3622e2eb26e88314a8980","src/lib.rs":"5c9bf978fef770014b682f45978c65a56d95c076b82065dd8a0470bae44c9b0d","src/property_string.rs":"43866f6c9ff7daab4236ff651868e297ee65aa1549f234e2585062d28300ee70","src/schema.rs":"def455b4c5ac61302e18f6504736919193d62e1b5c3bea16d4442219d3c347ac","src/upid.rs":"bd7fd82f3f8593803a4105f9a40f8e436229c9be965ca130cbed43aa36455083","tests/schema.rs":"a4703c7344fe2b02da63c3a542d09c8a89d78369aa87ebf17990581b2c92810d","tests/schema_verification.rs":"13c8d92ac94b1c45d07a037e203fae9f0c8acbb27f1c23d15bff3e233556ae4e"},"package":null}
|
53
vendor/proxmox-schema/Cargo.toml
vendored
53
vendor/proxmox-schema/Cargo.toml
vendored
@ -1,12 +1,22 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "proxmox-schema"
|
||||
version = "1.3.4"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2021"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "proxmox api schema and validation"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
@ -16,22 +26,35 @@ serde = "1.0"
|
||||
serde_json = "1.0"
|
||||
textwrap = "0.15"
|
||||
|
||||
# the upid type needs this for 'getpid'
|
||||
libc = { version = "0.2", optional = true }
|
||||
nix = { version = "0.24.1", optional = true }
|
||||
[dependencies.libc]
|
||||
version = "0.2"
|
||||
optional = true
|
||||
|
||||
proxmox-api-macro = { path = "../proxmox-api-macro", optional = true, version = "1.0.3" }
|
||||
[dependencies.nix]
|
||||
version = "0.24.1"
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-api-macro]
|
||||
version = "1.0.3"
|
||||
path = "../proxmox-api-macro"
|
||||
optional = true
|
||||
|
||||
[dev-dependencies]
|
||||
url = "2.1"
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
proxmox-api-macro = { path = "../proxmox-api-macro", version = "1.0.3" }
|
||||
|
||||
[dev-dependencies.proxmox-api-macro]
|
||||
version = "1.0.3"
|
||||
path = "../proxmox-api-macro"
|
||||
|
||||
[dev-dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
|
||||
[features]
|
||||
default = []
|
||||
|
||||
api-macro = ["dep:proxmox-api-macro"]
|
||||
upid-api-impl = [ "dep:libc", "dep:nix" ]
|
||||
|
||||
# Testing only
|
||||
default = []
|
||||
test-harness = []
|
||||
upid-api-impl = [
|
||||
"dep:libc",
|
||||
"dep:nix",
|
||||
]
|
||||
|
2
vendor/proxmox-serde/.cargo-checksum.json
vendored
2
vendor/proxmox-serde/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"4a99cfb73e900585cf340e1b5432695b2d8e18190d89e2ab70452d05a90c3e6d","src/json.rs":"e84b666663ac1f25c92cd0e3fcd75d9980384faf6b901417bcb09489691da05a","src/lib.rs":"6ec38911098dcc0fb47641896f5266dd9d7481d9e02042b14761680bec1b0f37","src/serde_macros.rs":"7c04ee501a3908be40c9b0f3c8ea964d65e112aee34e784a8e21da08ce881167"},"package":null}
|
||||
{"files":{"Cargo.toml":"2bc6826a63f2a191c21549e3550e61932b8e7a615e99293ca76ac5bab6a61bc9","src/json.rs":"e84b666663ac1f25c92cd0e3fcd75d9980384faf6b901417bcb09489691da05a","src/lib.rs":"6ec38911098dcc0fb47641896f5266dd9d7481d9e02042b14761680bec1b0f37","src/serde_macros.rs":"7c04ee501a3908be40c9b0f3c8ea964d65e112aee34e784a8e21da08ce881167"},"package":null}
|
32
vendor/proxmox-serde/Cargo.toml
vendored
32
vendor/proxmox-serde/Cargo.toml
vendored
@ -1,20 +1,38 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "proxmox-serde"
|
||||
version = "0.1.1"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2018"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "Serde formatting tools"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
base64 = "0.13"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = { version = "1.0", optional = true }
|
||||
|
||||
proxmox-time = { path = "../proxmox-time", version = "1.0.0" }
|
||||
[dependencies.proxmox-time]
|
||||
version = "1.0.0"
|
||||
path = "../proxmox-time"
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
|
||||
[dependencies.serde_json]
|
||||
version = "1.0"
|
||||
optional = true
|
||||
|
||||
[dev-dependencies]
|
||||
serde_json = "1.0"
|
||||
|
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"72debd8dbfabf7b1c72e1372d005da16bee34029021a0691ea77fee3bc69da29","src/check.rs":"53d04658665281f740300dc3e07db156849a85ee917fbc9be714a119df7e52d9","src/files.rs":"d788094f709db9bb8bd00bbd429c8da3fd95d313b2ebb3aef7595c9c66a0a64d","src/lib.rs":"0249c193e9f9c9bf0eede9e6652c4a26dd236f245f44963e14f85039c9cc3926","src/sign.rs":"338f9f57ba4200ad73a3de441523b37298243474d4a6c19899a2bac4b9c788b1","src/subscription_info.rs":"6dd0a3a8cfab61d089ba06055e6122206612da9132522d4e3d46d197c32cd336"},"package":null}
|
||||
{"files":{"Cargo.toml":"9018e8447e2e2fa436cfd51e2e4a42e2eea20c8712663a5478607ea205efd1af","src/check.rs":"53d04658665281f740300dc3e07db156849a85ee917fbc9be714a119df7e52d9","src/files.rs":"d788094f709db9bb8bd00bbd429c8da3fd95d313b2ebb3aef7595c9c66a0a64d","src/lib.rs":"0249c193e9f9c9bf0eede9e6652c4a26dd236f245f44963e14f85039c9cc3926","src/sign.rs":"338f9f57ba4200ad73a3de441523b37298243474d4a6c19899a2bac4b9c788b1","src/subscription_info.rs":"6dd0a3a8cfab61d089ba06055e6122206612da9132522d4e3d46d197c32cd336"},"package":null}
|
51
vendor/proxmox-subscription/Cargo.toml
vendored
51
vendor/proxmox-subscription/Cargo.toml
vendored
@ -1,12 +1,22 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "proxmox-subscription"
|
||||
version = "0.3.0"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2018"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "Proxmox subscription utilitites"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
@ -18,13 +28,34 @@ regex = "1.5"
|
||||
serde = "1.0"
|
||||
serde_json = "1.0"
|
||||
|
||||
proxmox-http = { path = "../proxmox-http", version = "0.7", default_features = false, features = ["client-trait", "http-helpers"] }
|
||||
proxmox-serde = { path = "../proxmox-serde", version = "0.1.1", features = ["serde_json"]}
|
||||
proxmox-sys = { path = "../proxmox-sys", version = "0.4" }
|
||||
proxmox-time = { path = "../proxmox-time", version = "1.1" }
|
||||
[dependencies.proxmox-http]
|
||||
version = "0.7"
|
||||
path = "../proxmox-http"
|
||||
features = [
|
||||
"client-trait",
|
||||
"http-helpers",
|
||||
]
|
||||
default_features = false
|
||||
|
||||
proxmox-schema = { path = "../proxmox-schema", version = "1.3.3", features = ["api-macro"], optional = true }
|
||||
[dependencies.proxmox-schema]
|
||||
version = "1.3.3"
|
||||
path = "../proxmox-schema"
|
||||
features = ["api-macro"]
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-serde]
|
||||
version = "0.1.1"
|
||||
path = "../proxmox-serde"
|
||||
features = ["serde_json"]
|
||||
|
||||
[dependencies.proxmox-sys]
|
||||
version = "0.4"
|
||||
path = "../proxmox-sys"
|
||||
|
||||
[dependencies.proxmox-time]
|
||||
version = "1.1"
|
||||
path = "../proxmox-time"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
api-types = ["dep:proxmox-schema"]
|
||||
default = []
|
||||
|
2
vendor/proxmox-sys/.cargo-checksum.json
vendored
2
vendor/proxmox-sys/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"346794ef4160194bfe846aae28fee9b334893f866cdefdb4e04a077d83b71c80","src/command.rs":"c6582d05cf9f15693036c980f76ab2fa76d9faba35ca362219c79de16e8eb681","src/crypt.rs":"b6cb2d63609358b86bde9ba6052b10ca77817da07a44797a9fbdd499088e6acb","src/email.rs":"cfa71e8ed4d7554f8667941515e1d46be1a3f4a84f56daf0dccaee0eef9a12a1","src/error.rs":"bd620b3113ebcde0fb86335ab009bfa574635b0a2ce72d25661f12d427e748ae","src/fd/borrowed_fd.rs":"528850cd74a1e60d109e744d80c74471e4516837262fa9cedb71b88189e8920b","src/fd/fd_impl.rs":"85153103e797e7fdea0e138034423333c69fc4e26f44d36192d14f3b1334b603","src/fd/mod.rs":"48c7e0c43aadaafb46a889f917d7dece6bd08e280710cd66fad96175ff6874a6","src/fd/raw_fd_num.rs":"700b1460ed12595963c1380b5dff9ac762953db470d9eaf5b1645e3e2cdd5185","src/fs/acl.rs":"c190976ecd881f7929df2a1c27b7b789120c27592f27dfcbe2b062cb2c841277","src/fs/dir.rs":"7d38b8df67954108e17e17f51843eb166ce9064255ab691d7472dc3b1c11f67a","src/fs/file.rs":"77e9431a6fef38cbeef66df9a461543af895f31f16cf01f3839de4af02bb3727","src/fs/fsx_attr.rs":"a21d30282aec66c075c4eaa8038ed845b2cbaae5ce52c14531207e03cfb0d13b","src/fs/mod.rs":"5626dc324f836939621285e38988cc2d42379de6444c3d68e851ed6f4c4986db","src/fs/read_dir.rs":"91e6499893b19539945c6d5a62a9fb152f72a34b14f244f8e0b4909dd7618269","src/fs/xattr.rs":"17d798312eccb1fa68968da9aa4872a01bb0b82fbe407b0aa1140a4643422b29","src/lib.rs":"658eb2e3304c6ba61444759e0d6b5a70db1d908eddfc5d32798645059d8cbe59","src/linux/magic.rs":"1316000dc334c2eb29419548517bee455ff3f736c139bc6eaa5c48bbd5e22124","src/linux/mod.rs":"756a5d8987c329b7daf1cb981c8fe9062baec15cbf2260b630ab74f4a321ff24","src/linux/pid.rs":"2ce0db0e39853e35448bcca86cf0f1a0ee53d7c424aba54edfaae3d5f6fa2041","src/linux/procfs/mod.rs":"65850728193e7f9bddd444ec8c7be9e2589c977667fedd71aac6573ffadb8c08","src/linux/procfs/mountinfo.rs":"6b00d34338aa659e07fecb8bb682951c1918d16976d9bbd4d06494a8407b0427","src/linux/pty.rs":"13b3c1eee4d1d78c6653a3983ad83a47c8905ffee5d63c6bed6d88ed7049be12","src/linux/socket.rs":"ab704b7f3d3177ef963cb57939cc436af0ddd42ab91ed2365a4fc84182118f2b","src/linux/timer.rs":"7cbff1509bd13edbae53ed2aa20d869a7400dab8df3d2287e9b57391b45442ae","src/linux/tty.rs":"770308be7e8b3ed59e6fc5b163c1bf865cdde67544a81b0c49cb4e5cc87324c8","src/logrotate.rs":"611866c2ab4f6a2c40f565be7e606b5fa407255c53ab54123a256fbefc278cd3","src/macros.rs":"4462ff84a473bfea445a71f22484038e27a8733969d6cb0d8a232538f12dce43","src/mmap.rs":"59b1e085e8e7354df9dc4f68a6aaddb272f43fc87c6112fdc1909065b54508f1","src/process_locker.rs":"151e388a788e84306c97b0e645a9b95cf0477b812b36c9ced70071e397e15c26","src/systemd.rs":"0a86bd9ccdbc27a355bfc3f301165c2fccdad554d1a4facacddcadcd7b036d05","src/worker_task_context.rs":"dad2d86f18aed18de2040b80dfcedc7e9eccb08efe5c700b83360fac3060a0c2","tests/xattr.rs":"ee1c1a75a97c69f5971132ffe71dbff304ebc93ab3027b30f268a4f1ba41f610"},"package":null}
|
||||
{"files":{"Cargo.toml":"f03e0a7c7d5f51a2e353604c0f67c2e46fa4671f55d7a2e9d564e4bf3f65442e","src/command.rs":"c6582d05cf9f15693036c980f76ab2fa76d9faba35ca362219c79de16e8eb681","src/crypt.rs":"b6cb2d63609358b86bde9ba6052b10ca77817da07a44797a9fbdd499088e6acb","src/email.rs":"cfa71e8ed4d7554f8667941515e1d46be1a3f4a84f56daf0dccaee0eef9a12a1","src/error.rs":"bd620b3113ebcde0fb86335ab009bfa574635b0a2ce72d25661f12d427e748ae","src/fd/borrowed_fd.rs":"528850cd74a1e60d109e744d80c74471e4516837262fa9cedb71b88189e8920b","src/fd/fd_impl.rs":"85153103e797e7fdea0e138034423333c69fc4e26f44d36192d14f3b1334b603","src/fd/mod.rs":"48c7e0c43aadaafb46a889f917d7dece6bd08e280710cd66fad96175ff6874a6","src/fd/raw_fd_num.rs":"700b1460ed12595963c1380b5dff9ac762953db470d9eaf5b1645e3e2cdd5185","src/fs/acl.rs":"c190976ecd881f7929df2a1c27b7b789120c27592f27dfcbe2b062cb2c841277","src/fs/dir.rs":"7d38b8df67954108e17e17f51843eb166ce9064255ab691d7472dc3b1c11f67a","src/fs/file.rs":"77e9431a6fef38cbeef66df9a461543af895f31f16cf01f3839de4af02bb3727","src/fs/fsx_attr.rs":"a21d30282aec66c075c4eaa8038ed845b2cbaae5ce52c14531207e03cfb0d13b","src/fs/mod.rs":"5626dc324f836939621285e38988cc2d42379de6444c3d68e851ed6f4c4986db","src/fs/read_dir.rs":"91e6499893b19539945c6d5a62a9fb152f72a34b14f244f8e0b4909dd7618269","src/fs/xattr.rs":"17d798312eccb1fa68968da9aa4872a01bb0b82fbe407b0aa1140a4643422b29","src/lib.rs":"658eb2e3304c6ba61444759e0d6b5a70db1d908eddfc5d32798645059d8cbe59","src/linux/magic.rs":"1316000dc334c2eb29419548517bee455ff3f736c139bc6eaa5c48bbd5e22124","src/linux/mod.rs":"756a5d8987c329b7daf1cb981c8fe9062baec15cbf2260b630ab74f4a321ff24","src/linux/pid.rs":"2ce0db0e39853e35448bcca86cf0f1a0ee53d7c424aba54edfaae3d5f6fa2041","src/linux/procfs/mod.rs":"65850728193e7f9bddd444ec8c7be9e2589c977667fedd71aac6573ffadb8c08","src/linux/procfs/mountinfo.rs":"6b00d34338aa659e07fecb8bb682951c1918d16976d9bbd4d06494a8407b0427","src/linux/pty.rs":"13b3c1eee4d1d78c6653a3983ad83a47c8905ffee5d63c6bed6d88ed7049be12","src/linux/socket.rs":"ab704b7f3d3177ef963cb57939cc436af0ddd42ab91ed2365a4fc84182118f2b","src/linux/timer.rs":"7cbff1509bd13edbae53ed2aa20d869a7400dab8df3d2287e9b57391b45442ae","src/linux/tty.rs":"770308be7e8b3ed59e6fc5b163c1bf865cdde67544a81b0c49cb4e5cc87324c8","src/logrotate.rs":"611866c2ab4f6a2c40f565be7e606b5fa407255c53ab54123a256fbefc278cd3","src/macros.rs":"4462ff84a473bfea445a71f22484038e27a8733969d6cb0d8a232538f12dce43","src/mmap.rs":"59b1e085e8e7354df9dc4f68a6aaddb272f43fc87c6112fdc1909065b54508f1","src/process_locker.rs":"151e388a788e84306c97b0e645a9b95cf0477b812b36c9ced70071e397e15c26","src/systemd.rs":"0a86bd9ccdbc27a355bfc3f301165c2fccdad554d1a4facacddcadcd7b036d05","src/worker_task_context.rs":"dad2d86f18aed18de2040b80dfcedc7e9eccb08efe5c700b83360fac3060a0c2","tests/xattr.rs":"ee1c1a75a97c69f5971132ffe71dbff304ebc93ab3027b30f268a4f1ba41f610"},"package":null}
|
55
vendor/proxmox-sys/Cargo.toml
vendored
55
vendor/proxmox-sys/Cargo.toml
vendored
@ -1,12 +1,22 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "proxmox-sys"
|
||||
version = "0.4.0"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2021"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "System tools (using nix)."
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
@ -17,20 +27,37 @@ log = "0.4.17"
|
||||
nix = "0.24.1"
|
||||
regex = "1.2"
|
||||
serde_json = "1.0"
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
zstd = { version = "0.6", features = [ "bindgen" ], optional = true}
|
||||
|
||||
# Macro crates:
|
||||
proxmox-sortable-macro = { path = "../proxmox-sortable-macro", optional = true, version = "0.1.2" }
|
||||
[dependencies.proxmox-io]
|
||||
version = "1.0.0"
|
||||
path = "../proxmox-io"
|
||||
|
||||
proxmox-io = { path = "../proxmox-io", version = "1.0.0" }
|
||||
proxmox-lang = { path = "../proxmox-lang", version = "1.1" }
|
||||
proxmox-time = { path = "../proxmox-time", version = "1.0.0" }
|
||||
[dependencies.proxmox-lang]
|
||||
version = "1.1"
|
||||
path = "../proxmox-lang"
|
||||
|
||||
[dependencies.proxmox-sortable-macro]
|
||||
version = "0.1.2"
|
||||
path = "../proxmox-sortable-macro"
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-time]
|
||||
version = "1.0.0"
|
||||
path = "../proxmox-time"
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
|
||||
[dependencies.zstd]
|
||||
version = "0.6"
|
||||
features = ["bindgen"]
|
||||
optional = true
|
||||
|
||||
[features]
|
||||
default = []
|
||||
sortable-macro = ["dep:proxmox-sortable-macro"]
|
||||
logrotate = ["dep:zstd"]
|
||||
acl = []
|
||||
crypt = []
|
||||
default = []
|
||||
logrotate = ["dep:zstd"]
|
||||
sortable-macro = ["dep:proxmox-sortable-macro"]
|
||||
timer = []
|
||||
|
2
vendor/proxmox-tfa/.cargo-checksum.json
vendored
2
vendor/proxmox-tfa/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"328f533671eb992a828fccfa255f19e780af0f14a4bd3f35aeccac838037d29a","src/api/methods.rs":"4042cdd502aa48e46db933211108e7e59c0517839aa15cd9e408c28dbb5d53fb","src/api/mod.rs":"641ed66a49e1813c61aa2fdb80dc629d9c7ca9b0354a643bb68d301d9aac8437","src/api/recovery.rs":"44ca1f3d5a5dbfa1b52a079903e824b6fdc1f0c5ec0e497d9026a806c4a4dc22","src/api/serde_tools.rs":"e7f7f10899a023997e368ab816c9f109412d86bebe0de75415e94db3660f3b57","src/api/u2f.rs":"a15d506ab39ee5b301977f40f624c2eccb497b07de40f7d306024dd6e5af9409","src/api/webauthn.rs":"2d4719e58e4b5c52191378eff625069a350d16300073a6e16f1e57387549e70a","src/lib.rs":"d73e2536a9854894c370a04388e0c367109d8163712386a5caea945c14a2a068","src/totp.rs":"33c6b115dd3619ebb5a7be39e0b1f78a12eaff70555c96355b27395aa3263fda","src/u2f.rs":"6ef0fbf10dc0ff0733b5226c0c38a5742d25742591be56d2d9010ec201148c2e"},"package":null}
|
||||
{"files":{"Cargo.toml":"77d6cbcf62ae793e54aa8928d838025c39b983883c669e0a71f50d406c1de853","src/api/methods.rs":"4042cdd502aa48e46db933211108e7e59c0517839aa15cd9e408c28dbb5d53fb","src/api/mod.rs":"641ed66a49e1813c61aa2fdb80dc629d9c7ca9b0354a643bb68d301d9aac8437","src/api/recovery.rs":"44ca1f3d5a5dbfa1b52a079903e824b6fdc1f0c5ec0e497d9026a806c4a4dc22","src/api/serde_tools.rs":"e7f7f10899a023997e368ab816c9f109412d86bebe0de75415e94db3660f3b57","src/api/u2f.rs":"a15d506ab39ee5b301977f40f624c2eccb497b07de40f7d306024dd6e5af9409","src/api/webauthn.rs":"2d4719e58e4b5c52191378eff625069a350d16300073a6e16f1e57387549e70a","src/lib.rs":"d73e2536a9854894c370a04388e0c367109d8163712386a5caea945c14a2a068","src/totp.rs":"33c6b115dd3619ebb5a7be39e0b1f78a12eaff70555c96355b27395aa3263fda","src/u2f.rs":"6ef0fbf10dc0ff0733b5226c0c38a5742d25742591be56d2d9010ec201148c2e"},"package":null}
|
66
vendor/proxmox-tfa/Cargo.toml
vendored
66
vendor/proxmox-tfa/Cargo.toml
vendored
@ -1,12 +1,22 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "proxmox-tfa"
|
||||
version = "2.1.0"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2021"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "tfa implementation for totp and u2f"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
@ -17,17 +27,47 @@ openssl = "0.10"
|
||||
percent-encoding = "2.1"
|
||||
serde = "1.0"
|
||||
serde_plain = "1.0"
|
||||
serde_json = { version = "1.0", optional = true }
|
||||
libc = { version = "0.2", optional = true }
|
||||
url = "2.2"
|
||||
|
||||
proxmox-schema = { version = "1", path = "../proxmox-schema", features = [ "api-macro" ], optional = true }
|
||||
proxmox-time = { version = "1", path = "../proxmox-time", optional = true }
|
||||
proxmox-uuid = { version = "1", path = "../proxmox-uuid", optional = true }
|
||||
webauthn-rs = { version = "0.3", optional = true }
|
||||
[dependencies.libc]
|
||||
version = "0.2"
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-schema]
|
||||
version = "1"
|
||||
path = "../proxmox-schema"
|
||||
features = ["api-macro"]
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-time]
|
||||
version = "1"
|
||||
path = "../proxmox-time"
|
||||
optional = true
|
||||
|
||||
[dependencies.proxmox-uuid]
|
||||
version = "1"
|
||||
path = "../proxmox-uuid"
|
||||
optional = true
|
||||
|
||||
[dependencies.serde_json]
|
||||
version = "1.0"
|
||||
optional = true
|
||||
|
||||
[dependencies.webauthn-rs]
|
||||
version = "0.3"
|
||||
optional = true
|
||||
|
||||
[features]
|
||||
api = [
|
||||
"u2f",
|
||||
"dep:webauthn-rs",
|
||||
"dep:proxmox-uuid",
|
||||
"dep:proxmox-time",
|
||||
]
|
||||
api-types = ["dep:proxmox-schema"]
|
||||
default = []
|
||||
u2f = [ "dep:libc", "dep:serde_json", "serde/derive" ]
|
||||
api = [ "u2f", "dep:webauthn-rs", "dep:proxmox-uuid", "dep:proxmox-time" ]
|
||||
api-types = [ "dep:proxmox-schema" ]
|
||||
u2f = [
|
||||
"dep:libc",
|
||||
"dep:serde_json",
|
||||
"serde/derive",
|
||||
]
|
||||
|
2
vendor/proxmox-time/.cargo-checksum.json
vendored
2
vendor/proxmox-time/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"4f14c1d522a5a123061ed4938e27023de669c33aa3b072e7523b2159f5d07708","src/calendar_event.rs":"36ae345956cdb28f6335f1a99a8e387dc699281d8b89b517f0fdf288019c7ce0","src/daily_duration.rs":"7ba642ec1063b4e17058e5bfbfb3be604aa37bccea3dd87b3abe4ce0e62a784f","src/date_time_value.rs":"5491874bb8202fa1a176a02595eca16c194cacd4cc65cc527788f10cf8ec7cb0","src/lib.rs":"7655443d4a5240b28b4d2cc8b08d5e9449618f0fcb8310602992cb982709c174","src/parse_helpers.rs":"4102daf2b87e4c2f62d558a7859bbc76f510dad328fd46f3a4ad916c3f7dd8b6","src/posix.rs":"5b27f061b32c2d479396935733f762cfc6ecbf841a29eb0389c4738fc5799f9f","src/test.rs":"7a5233a52ad760a74a43854d3ccc78bd3cef9b5d40573854a58e962a255b6bf4","src/time_span.rs":"aa9564c643098a5bbea9bddd01fedb20ef320389743f2738b82a5455a21318b0","src/tm_editor.rs":"aae0dcfcf42d9042133543d0d18f11a5d8b91ad16aae77dbb1d4cb4b7e7ac870","src/wasm.rs":"14036c2012b6c7e483635c0cdcc75d81e24fa539543ebdac0200e0747f1df39d","src/week_days.rs":"93ecddd78efa57bad16e1514ee51d72856b939abfd8dddc0dba5cbc466a8e5e8"},"package":null}
|
||||
{"files":{"Cargo.toml":"533783d76df373c9e6baac58cd27eba3cc973d663770b51c42a06ac24a78c16b","src/calendar_event.rs":"36ae345956cdb28f6335f1a99a8e387dc699281d8b89b517f0fdf288019c7ce0","src/daily_duration.rs":"7ba642ec1063b4e17058e5bfbfb3be604aa37bccea3dd87b3abe4ce0e62a784f","src/date_time_value.rs":"5491874bb8202fa1a176a02595eca16c194cacd4cc65cc527788f10cf8ec7cb0","src/lib.rs":"7655443d4a5240b28b4d2cc8b08d5e9449618f0fcb8310602992cb982709c174","src/parse_helpers.rs":"4102daf2b87e4c2f62d558a7859bbc76f510dad328fd46f3a4ad916c3f7dd8b6","src/posix.rs":"5b27f061b32c2d479396935733f762cfc6ecbf841a29eb0389c4738fc5799f9f","src/test.rs":"7a5233a52ad760a74a43854d3ccc78bd3cef9b5d40573854a58e962a255b6bf4","src/time_span.rs":"aa9564c643098a5bbea9bddd01fedb20ef320389743f2738b82a5455a21318b0","src/tm_editor.rs":"aae0dcfcf42d9042133543d0d18f11a5d8b91ad16aae77dbb1d4cb4b7e7ac870","src/wasm.rs":"14036c2012b6c7e483635c0cdcc75d81e24fa539543ebdac0200e0747f1df39d","src/week_days.rs":"93ecddd78efa57bad16e1514ee51d72856b939abfd8dddc0dba5cbc466a8e5e8"},"package":null}
|
25
vendor/proxmox-time/Cargo.toml
vendored
25
vendor/proxmox-time/Cargo.toml
vendored
@ -1,12 +1,22 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "proxmox-time"
|
||||
version = "1.1.4"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2018"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "time utilities and TmEditor"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
@ -14,8 +24,9 @@ bitflags = "1.2.1"
|
||||
lazy_static = "1.4"
|
||||
nom = "7"
|
||||
|
||||
[target.'cfg(not(target_arch="wasm32"))'.dependencies]
|
||||
libc = { version = "0.2", features = [ "extra_traits" ] }
|
||||
[target."cfg(not(target_arch=\"wasm32\"))".dependencies.libc]
|
||||
version = "0.2"
|
||||
features = ["extra_traits"]
|
||||
|
||||
[target.'cfg(target_arch="wasm32")'.dependencies]
|
||||
[target."cfg(target_arch=\"wasm32\")".dependencies]
|
||||
js-sys = "0.3.55"
|
||||
|
2
vendor/proxmox-uuid/.cargo-checksum.json
vendored
2
vendor/proxmox-uuid/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"69f617ccbe5d7ed72ae2a91cfadf34654687bb7d0d8fd2096fb94fa7d1d148c4","src/lib.rs":"42940d2d514af2c553b996f624123ea3ca1e9cbe21ba0db5e2a76791766f0b5f","src/lib_uuid_bindings.rs":"a6ebb1c60b1aa517a277e1e997bb47966becd49710c0067ab72f6f17663e6986","src/wasm.rs":"46fc2262427d4025b2e6f0e4117d2b894fea29d95fc7c15eb6e15896d9d3c14c"},"package":null}
|
||||
{"files":{"Cargo.toml":"fc8ecbb880271437b2a8eca67edd4968aab147ed8232e628aecd7e3a4e5c64a1","src/lib.rs":"42940d2d514af2c553b996f624123ea3ca1e9cbe21ba0db5e2a76791766f0b5f","src/lib_uuid_bindings.rs":"a6ebb1c60b1aa517a277e1e997bb47966becd49710c0067ab72f6f17663e6986","src/wasm.rs":"46fc2262427d4025b2e6f0e4117d2b894fea29d95fc7c15eb6e15896d9d3c14c"},"package":null}
|
29
vendor/proxmox-uuid/Cargo.toml
vendored
29
vendor/proxmox-uuid/Cargo.toml
vendored
@ -1,23 +1,36 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "proxmox-uuid"
|
||||
version = "1.0.1"
|
||||
authors = ["Proxmox Support Team <support@proxmox.com>"]
|
||||
edition = "2018"
|
||||
license = "AGPL-3"
|
||||
exclude = ["debian"]
|
||||
description = "bindings for libuuid with optional serde support"
|
||||
|
||||
exclude = [ "debian" ]
|
||||
license = "AGPL-3"
|
||||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
serde = { version = "1.0", optional = true }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
||||
optional = true
|
||||
|
||||
[dev-dependencies]
|
||||
serde = "1.0"
|
||||
serde_json = "1.0"
|
||||
|
||||
[target.'cfg(target_arch="wasm32")'.dependencies]
|
||||
[features]
|
||||
default = []
|
||||
|
||||
[target."cfg(target_arch=\"wasm32\")".dependencies]
|
||||
js-sys = "0.3.55"
|
||||
|
Loading…
x
Reference in New Issue
Block a user