mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/yunionio/cloudpods.git
synced 2026-09-21 00:24:07 +08:00
Compare commits
888 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92e18c0e07 | ||
|
|
7b80690bac | ||
|
|
9883a6afec | ||
|
|
d5f3c8752f | ||
|
|
45fc5cf0d0 | ||
|
|
64801c02c1 | ||
|
|
8fdbce23d6 | ||
|
|
82e3a751b2 | ||
|
|
fd4f251d7a | ||
|
|
d6dcae5da9 | ||
|
|
f18dd74131 | ||
|
|
730fa194a5 | ||
|
|
4af0712a1b | ||
|
|
0b04770576 | ||
|
|
94cff9d81e | ||
|
|
c47b7b3e06 | ||
|
|
83fd5378f5 | ||
|
|
6c441f09d9 | ||
|
|
8560cd8450 | ||
|
|
4aa916cc23 | ||
|
|
c3da18df12 | ||
|
|
884de1bc51 | ||
|
|
cb876f036a | ||
|
|
4979e0f7b9 | ||
|
|
41d79c09d6 | ||
|
|
3597116f15 | ||
|
|
c1e73206c8 | ||
|
|
a65fb1b852 | ||
|
|
038e530ebc | ||
|
|
27d6c94d7d | ||
|
|
4ea6581102 | ||
|
|
3e77511214 | ||
|
|
4bf0b18ad0 | ||
|
|
1dc0e3b5ec | ||
|
|
df217c1be2 | ||
|
|
adf05b2988 | ||
|
|
3c35e76604 | ||
|
|
790d1437a8 | ||
|
|
5d5c052a9b | ||
|
|
3047bbdcda | ||
|
|
2321b65ee1 | ||
|
|
70391d0158 | ||
|
|
af794715fd | ||
|
|
4f1706d285 | ||
|
|
d8facf9ffd | ||
|
|
8cab0232c4 | ||
|
|
c053206af9 | ||
|
|
a79c399c2f | ||
|
|
add8d8381f | ||
|
|
2b0d3d4362 | ||
|
|
413f014f9c | ||
|
|
32477e1620 | ||
|
|
4c3c641c97 | ||
|
|
919d2b9d56 | ||
|
|
4e798c8b95 | ||
|
|
071e4fcb2d | ||
|
|
4126bd8494 | ||
|
|
90364a81df | ||
|
|
3bcd053ad5 | ||
|
|
5ea244bc5c | ||
|
|
b3905f139e | ||
|
|
8b2994a380 | ||
|
|
637c5b15a2 | ||
|
|
69f9ff2a61 | ||
|
|
8abb4057f1 | ||
|
|
8f13c93e28 | ||
|
|
a61a824884 | ||
|
|
cc2cd72a2f | ||
|
|
fa594fe753 | ||
|
|
24a245fd4f | ||
|
|
dbb6c4a17b | ||
|
|
139df655b7 | ||
|
|
04c6ed26bf | ||
|
|
8bff91b52d | ||
|
|
2898cdb20a | ||
|
|
c8ddc8665f | ||
|
|
9f318bbff6 | ||
|
|
8081f677c7 | ||
|
|
a2d0a0a799 | ||
|
|
d109f5bf35 | ||
|
|
8aed63bd0d | ||
|
|
c241fc1210 | ||
|
|
388bba8e85 | ||
|
|
945a042676 | ||
|
|
0a06731b8d | ||
|
|
425231aa64 | ||
|
|
89c3068a38 | ||
|
|
f19c914dce | ||
|
|
73265ea559 | ||
|
|
636b81973c | ||
|
|
d7e4a43b9b | ||
|
|
ce2c4a588f | ||
|
|
f6edc92c62 | ||
|
|
4096e77d48 | ||
|
|
82b468de2e | ||
|
|
5b6170421e | ||
|
|
72eb994f68 | ||
|
|
b12fe78267 | ||
|
|
be6ae61ea4 | ||
|
|
56a5dbcaaf | ||
|
|
9db72a1b5c | ||
|
|
1baffa21e6 | ||
|
|
dc12c191fd | ||
|
|
b19a23c701 | ||
|
|
e8f046de4f | ||
|
|
9d0b4bb975 | ||
|
|
50d78a7985 | ||
|
|
3d173686fc | ||
|
|
5ea8def943 | ||
|
|
bd33225ed0 | ||
|
|
874f82dfac | ||
|
|
9e89074f86 | ||
|
|
bd3a1d0de9 | ||
|
|
e6621aacf0 | ||
|
|
97fc254cf5 | ||
|
|
3d3ae1ef0c | ||
|
|
77aa8c9471 | ||
|
|
8d490d5a3a | ||
|
|
2911f92f9b | ||
|
|
c1980ee7fe | ||
|
|
203f5bb396 | ||
|
|
4a729a7639 | ||
|
|
712ce702ce | ||
|
|
80ea7e60e1 | ||
|
|
daf21aa6a3 | ||
|
|
6bc05ca5c1 | ||
|
|
ea0e1ca42f | ||
|
|
94862f5232 | ||
|
|
887bb943b8 | ||
|
|
205dbe2f64 | ||
|
|
554cdd01be | ||
|
|
da03a421a5 | ||
|
|
06517e5aa6 | ||
|
|
6d49bee5e6 | ||
|
|
033408e7d0 | ||
|
|
fe1846f690 | ||
|
|
7aa20811f5 | ||
|
|
93971e83fb | ||
|
|
1950824dfa | ||
|
|
7fec30216b | ||
|
|
23e1910817 | ||
|
|
a8f3474fb2 | ||
|
|
bee68803b2 | ||
|
|
f58fcc2999 | ||
|
|
fcbf833fde | ||
|
|
af2e410c24 | ||
|
|
f6e32e7707 | ||
|
|
277546c95c | ||
|
|
98d4515548 | ||
|
|
e6c6f66760 | ||
|
|
f3bc838d41 | ||
|
|
5505986263 | ||
|
|
83f4518355 | ||
|
|
b4e5fbb0b7 | ||
|
|
6e889e9cfa | ||
|
|
c75cfb4ca1 | ||
|
|
2e28bd7ca7 | ||
|
|
e73cb9dc43 | ||
|
|
0d58ed4ccb | ||
|
|
5bc80cfb42 | ||
|
|
214a606991 | ||
|
|
60bc65da31 | ||
|
|
ff9268966c | ||
|
|
e0b568d0ed | ||
|
|
95f4bcf1f0 | ||
|
|
f538dcf2e6 | ||
|
|
8c87c0e57d | ||
|
|
c91b5bc70c | ||
|
|
f1f3c1df2a | ||
|
|
f6e5f71fba | ||
|
|
00bcdae23f | ||
|
|
3413845e96 | ||
|
|
b47a802515 | ||
|
|
90ea5b77b0 | ||
|
|
372fae41c6 | ||
|
|
3b796dc0e8 | ||
|
|
d3b4ab273a | ||
|
|
686b0f3872 | ||
|
|
b52aa5de85 | ||
|
|
043eac88ba | ||
|
|
c3db76457d | ||
|
|
854b93e3a4 | ||
|
|
5a4bbefe72 | ||
|
|
4237ce52ea | ||
|
|
d2bbda642b | ||
|
|
c6225bc046 | ||
|
|
c559974e44 | ||
|
|
5392cfc8a9 | ||
|
|
9f0d1af484 | ||
|
|
0956e660a4 | ||
|
|
4bce487605 | ||
|
|
4e07d3b30c | ||
|
|
81ebea9451 | ||
|
|
acac258359 | ||
|
|
c0f9765f9c | ||
|
|
fadd9b92f2 | ||
|
|
a3a14bbed7 | ||
|
|
fc795b15c0 | ||
|
|
8527232b7c | ||
|
|
ded845a3dc | ||
|
|
3172a1e86c | ||
|
|
7cff45fb5b | ||
|
|
5a2bfd9b5a | ||
|
|
9f1e77deb6 | ||
|
|
72d7bd23b4 | ||
|
|
51a85f66ba | ||
|
|
035e31d9bf | ||
|
|
3d086abf3e | ||
|
|
d9419958d7 | ||
|
|
cfb9a97c78 | ||
|
|
957e785bd3 | ||
|
|
f082dc9b2d | ||
|
|
f2d7af548e | ||
|
|
e42070a852 | ||
|
|
a1ba61b875 | ||
|
|
80dcd3ae42 | ||
|
|
802062d0f7 | ||
|
|
e3fb9b2295 | ||
|
|
fa44e4502b | ||
|
|
9908af95ea | ||
|
|
0759f3b2be | ||
|
|
b26e1568f7 | ||
|
|
0481bf291a | ||
|
|
65e5be3420 | ||
|
|
adc2a468f9 | ||
|
|
da07addf18 | ||
|
|
07ca3b1520 | ||
|
|
28b9e2e155 | ||
|
|
c3fe7a6290 | ||
|
|
444cf1546c | ||
|
|
17445a6822 | ||
|
|
07f434a96b | ||
|
|
fd50a6902c | ||
|
|
d87805622e | ||
|
|
8f46ef5098 | ||
|
|
916463712a | ||
|
|
f0647f6ee0 | ||
|
|
208acd9463 | ||
|
|
f314e7fa33 | ||
|
|
4c0dd07a91 | ||
|
|
959e03cccf | ||
|
|
ecdf0e824f | ||
|
|
b7c90351a1 | ||
|
|
447c0a1f55 | ||
|
|
2eb6254b17 | ||
|
|
d41aa739ff | ||
|
|
7ed23c433d | ||
|
|
c019216508 | ||
|
|
383764dbb6 | ||
|
|
955fc5ba54 | ||
|
|
b440adf404 | ||
|
|
9775565a53 | ||
|
|
5cec665b48 | ||
|
|
e6be8d9146 | ||
|
|
d38b835f8e | ||
|
|
3209292fc9 | ||
|
|
a642560fce | ||
|
|
41a5d7aa3f | ||
|
|
91fd01617f | ||
|
|
144b0f11c2 | ||
|
|
240ca79b9a | ||
|
|
520bab0dca | ||
|
|
48fcab103c | ||
|
|
4ba4bb7d89 | ||
|
|
e1ca2530f7 | ||
|
|
f4503e2284 | ||
|
|
310183aab2 | ||
|
|
e8cf980c79 | ||
|
|
dc4fd66eba | ||
|
|
12e8b22a24 | ||
|
|
c0400121b8 | ||
|
|
0d77887890 | ||
|
|
3774162bd8 | ||
|
|
e935fc5689 | ||
|
|
4eb015e649 | ||
|
|
0005ea8229 | ||
|
|
225791f78c | ||
|
|
e9dde8eae6 | ||
|
|
5375fff061 | ||
|
|
0f30ccf520 | ||
|
|
a403ad5091 | ||
|
|
b1908b24e3 | ||
|
|
acdf623027 | ||
|
|
e42d517b28 | ||
|
|
9be35e4b45 | ||
|
|
67cceae9e2 | ||
|
|
52bbe7c9a7 | ||
|
|
7e5f5cff5e | ||
|
|
bb7b50dbc0 | ||
|
|
350412009e | ||
|
|
6372ef9819 | ||
|
|
5577aefb22 | ||
|
|
cc1524a71f | ||
|
|
23e21c2c16 | ||
|
|
2ee8ae31ad | ||
|
|
c119af4b81 | ||
|
|
e129e0477a | ||
|
|
c839d38f60 | ||
|
|
54309f95f3 | ||
|
|
ee66577d94 | ||
|
|
5a09e3d5c9 | ||
|
|
b55a9a5482 | ||
|
|
218c973638 | ||
|
|
94d2e10f00 | ||
|
|
1b184d3ea7 | ||
|
|
f8cab462c1 | ||
|
|
255a1fe84f | ||
|
|
61b5b8b792 | ||
|
|
6ccf058d5c | ||
|
|
258e47056c | ||
|
|
c568447a61 | ||
|
|
d2aef76bd5 | ||
|
|
f9ac278ba3 | ||
|
|
05da992fba | ||
|
|
99bef191f6 | ||
|
|
3f3c92fa7d | ||
|
|
c0c9ba6d78 | ||
|
|
27874cdbeb | ||
|
|
904ed8dd3a | ||
|
|
dffac28e32 | ||
|
|
aa17f76589 | ||
|
|
3553263bb6 | ||
|
|
4f693c4641 | ||
|
|
11be1de968 | ||
|
|
e1d108a7f0 | ||
|
|
ee98c29d9a | ||
|
|
846ba369ac | ||
|
|
c61f5113d2 | ||
|
|
e205da2232 | ||
|
|
225de2334e | ||
|
|
9bb31f4b33 | ||
|
|
9eaa72993b | ||
|
|
fb8a339cbb | ||
|
|
057e5ebeaa | ||
|
|
b1f7890324 | ||
|
|
c1edcf27fe | ||
|
|
b45a5f7f9d | ||
|
|
d73d3e0108 | ||
|
|
84bbe1bfc1 | ||
|
|
b9ef8476f2 | ||
|
|
7c26ab8db3 | ||
|
|
ab7210c6b6 | ||
|
|
c4a6c9ff8a | ||
|
|
ec315b5516 | ||
|
|
cb266540a1 | ||
|
|
64c362f20f | ||
|
|
603f591ebf | ||
|
|
9142916763 | ||
|
|
ef6241ac9b | ||
|
|
508d4f7713 | ||
|
|
e3548b1830 | ||
|
|
e3e04ab29d | ||
|
|
8e83889c9f | ||
|
|
4314497e88 | ||
|
|
f5beef50f5 | ||
|
|
3e925b6d95 | ||
|
|
db451719dd | ||
|
|
25fbf463bc | ||
|
|
bc9c5cf088 | ||
|
|
5476c43cda | ||
|
|
354e3cd872 | ||
|
|
8c6167bb7b | ||
|
|
ace220a0ca | ||
|
|
f1df0e3ac1 | ||
|
|
39f3853f3e | ||
|
|
2c59756f75 | ||
|
|
6c98f46671 | ||
|
|
25d1965950 | ||
|
|
620814527a | ||
|
|
c32b6792d9 | ||
|
|
88f9b71e53 | ||
|
|
90cc427ad5 | ||
|
|
81d1308ddd | ||
|
|
6b83d6148f | ||
|
|
f2e3713e04 | ||
|
|
86ce69b4a1 | ||
|
|
804cbbfd45 | ||
|
|
93820a5af4 | ||
|
|
6eca607a9b | ||
|
|
b7d7a1aa16 | ||
|
|
5b4f6f1f72 | ||
|
|
64d3842c93 | ||
|
|
6a7904788a | ||
|
|
30cb39af98 | ||
|
|
acb62fc773 | ||
|
|
9f4f88fc62 | ||
|
|
bcc6800988 | ||
|
|
520ecda36b | ||
|
|
ad4ee389e5 | ||
|
|
0ff2ef0e19 | ||
|
|
d7b099efa0 | ||
|
|
0096082472 | ||
|
|
479e8e1b3a | ||
|
|
df2a6d6170 | ||
|
|
b6e11061ef | ||
|
|
8ce635a36a | ||
|
|
fbd83ed9b0 | ||
|
|
4bb85225b0 | ||
|
|
e1c2b122b1 | ||
|
|
5a49aa6a3c | ||
|
|
3e557a8eb9 | ||
|
|
39b64b8edd | ||
|
|
1b36450a7c | ||
|
|
11ca895482 | ||
|
|
48b438d37b | ||
|
|
99e582286c | ||
|
|
42da4e038c | ||
|
|
33b60e4bc6 | ||
|
|
7cc035a767 | ||
|
|
f84b8f1a65 | ||
|
|
1659268809 | ||
|
|
73f71776de | ||
|
|
cebeaae9d0 | ||
|
|
8b3b1a0ab6 | ||
|
|
1479e5da3e | ||
|
|
0b229dc00a | ||
|
|
60da86e645 | ||
|
|
987fca770c | ||
|
|
ee161f21b0 | ||
|
|
1d898e52a7 | ||
|
|
873006650f | ||
|
|
24dda38605 | ||
|
|
cc3a74b2f9 | ||
|
|
522ca973f2 | ||
|
|
3e982a7438 | ||
|
|
05bb19c5a6 | ||
|
|
9489b6baa4 | ||
|
|
e86609c969 | ||
|
|
8e1c23ec2e | ||
|
|
6b68d880c7 | ||
|
|
3f0c52be68 | ||
|
|
9204340b38 | ||
|
|
c005337eed | ||
|
|
7d4245c677 | ||
|
|
5341c97ccf | ||
|
|
a1bfcc1d9f | ||
|
|
e1730556e1 | ||
|
|
f2cc3f0c18 | ||
|
|
cd755ba02b | ||
|
|
86ffcde03a | ||
|
|
fa08f8fd8f | ||
|
|
7f54e038c0 | ||
|
|
d83585f158 | ||
|
|
855afe6dc5 | ||
|
|
784efcf211 | ||
|
|
0cbdf68df3 | ||
|
|
28bbdd3061 | ||
|
|
8c20fb7e3d | ||
|
|
5904eaf042 | ||
|
|
378177ad2f | ||
|
|
86a6a816af | ||
|
|
a321c89e5f | ||
|
|
dd76886d51 | ||
|
|
29809ce265 | ||
|
|
eb33cdbe4a | ||
|
|
cfde0396c3 | ||
|
|
a640fb3d60 | ||
|
|
f1f66fbed1 | ||
|
|
35649ce641 | ||
|
|
0ff02020e7 | ||
|
|
e1e91c0248 | ||
|
|
f9c73f53c3 | ||
|
|
7bd4869998 | ||
|
|
97becd57ba | ||
|
|
399bfcb2e2 | ||
|
|
3eba59982c | ||
|
|
5e50483cbc | ||
|
|
317497d6c2 | ||
|
|
e7dee4e9a0 | ||
|
|
2a82c99942 | ||
|
|
35b17d1d7c | ||
|
|
518f81ba69 | ||
|
|
8fb0236de5 | ||
|
|
c1cd91e01c | ||
|
|
27500ca14e | ||
|
|
ec0d44e1bc | ||
|
|
0137096ba8 | ||
|
|
6c66130f16 | ||
|
|
cb155ebcbb | ||
|
|
89c836518b | ||
|
|
62ab0616ff | ||
|
|
572d83f146 | ||
|
|
e2bd696ac6 | ||
|
|
faeb5685be | ||
|
|
49088da817 | ||
|
|
dd5dc038cd | ||
|
|
b8e70e1142 | ||
|
|
29dc02f484 | ||
|
|
4dd9e26225 | ||
|
|
17882cca3f | ||
|
|
d0383ff1ab | ||
|
|
3293def16a | ||
|
|
e20f46f7ed | ||
|
|
a8e8641c75 | ||
|
|
2085d9dfa5 | ||
|
|
2c45df0895 | ||
|
|
5a15d84685 | ||
|
|
3e49aac8f6 | ||
|
|
09b5ecbce0 | ||
|
|
8554c93b0f | ||
|
|
6b6147777c | ||
|
|
ddcd72716c | ||
|
|
67d743296d | ||
|
|
4fbe43192d | ||
|
|
16f15ac0fc | ||
|
|
eca000b52e | ||
|
|
3a2ab9e73d | ||
|
|
7a5a2c549a | ||
|
|
9ac509e55b | ||
|
|
4ca1fbfda5 | ||
|
|
80287d6b4d | ||
|
|
7015962121 | ||
|
|
1a87bb18c9 | ||
|
|
af85cca1d6 | ||
|
|
8d9740f149 | ||
|
|
2dd1d6fc26 | ||
|
|
ce338f180a | ||
|
|
6869eca040 | ||
|
|
4666b00bda | ||
|
|
154673e6a3 | ||
|
|
0cd633046f | ||
|
|
f0980d7817 | ||
|
|
2b0a7ac265 | ||
|
|
79166f9aaa | ||
|
|
0ec78aaa8a | ||
|
|
8622137834 | ||
|
|
4a7b6af08a | ||
|
|
41ba24f4b5 | ||
|
|
11dc0d46a2 | ||
|
|
fbdf305ff5 | ||
|
|
2d30cb862f | ||
|
|
c712a848a5 | ||
|
|
01c97c0df6 | ||
|
|
c3f9b88faa | ||
|
|
a49e7437bd | ||
|
|
491cde2257 | ||
|
|
b28bdf43e4 | ||
|
|
4afbf46da1 | ||
|
|
6a0c361ea3 | ||
|
|
80b5a7c04a | ||
|
|
729a523260 | ||
|
|
3e7c73677e | ||
|
|
f12c22e7b6 | ||
|
|
2fee1b6aea | ||
|
|
32d4820a63 | ||
|
|
15c7a825bf | ||
|
|
985995c684 | ||
|
|
52f2d801c1 | ||
|
|
a0f9484770 | ||
|
|
19b0997ab6 | ||
|
|
6274e21053 | ||
|
|
3ba6c1b3ff | ||
|
|
9099f682fb | ||
|
|
a0d28c214f | ||
|
|
fccf389a53 | ||
|
|
8a68f5d7d4 | ||
|
|
51fddda1bd | ||
|
|
65e0f4414e | ||
|
|
c33dc74019 | ||
|
|
705fe7a5d9 | ||
|
|
91617dc81b | ||
|
|
f668f496dc | ||
|
|
69831485a3 | ||
|
|
8d4595be87 | ||
|
|
fcb72e304b | ||
|
|
30b7deb9f5 | ||
|
|
a191da0a77 | ||
|
|
dfbd89c9db | ||
|
|
f53caeb6d1 | ||
|
|
bf4f1755c8 | ||
|
|
9bb6e3eb1b | ||
|
|
33938c6c01 | ||
|
|
4f1bb2a871 | ||
|
|
7abcd04f16 | ||
|
|
2cae726280 | ||
|
|
16aa081789 | ||
|
|
45de538d15 | ||
|
|
a05b793b81 | ||
|
|
7df775f07c | ||
|
|
ec3c9f3a20 | ||
|
|
e2e79cd7cc | ||
|
|
68675541ff | ||
|
|
9ee0e83747 | ||
|
|
4068843773 | ||
|
|
c4b719628b | ||
|
|
66afa2f141 | ||
|
|
51bdf0c655 | ||
|
|
5fc5c5b330 | ||
|
|
1c61483bc1 | ||
|
|
79c45568c7 | ||
|
|
002b37f6a1 | ||
|
|
6a18b70168 | ||
|
|
bbf0991bb3 | ||
|
|
1052eb4451 | ||
|
|
07ce88c828 | ||
|
|
29585a8af6 | ||
|
|
06258859d8 | ||
|
|
2bbd1f792c | ||
|
|
56b41893ec | ||
|
|
cb0729f672 | ||
|
|
e6ec61cab1 | ||
|
|
35e34f019a | ||
|
|
b352d0cc92 | ||
|
|
56e938ee2e | ||
|
|
a9649db617 | ||
|
|
b1ef423c2a | ||
|
|
8da753833d | ||
|
|
16b3d220f4 | ||
|
|
dc5884b361 | ||
|
|
77c471322a | ||
|
|
584b3291cd | ||
|
|
f5a6465629 | ||
|
|
de05e8cc4a | ||
|
|
a839607802 | ||
|
|
6251e28e52 | ||
|
|
3591e9a15f | ||
|
|
84e8b83aab | ||
|
|
cd3190d80f | ||
|
|
b60346b97f | ||
|
|
d3c64b8054 | ||
|
|
914c1a1971 | ||
|
|
13ce2252ce | ||
|
|
3bdfb00850 | ||
|
|
bc7cc1ad07 | ||
|
|
dd7602e628 | ||
|
|
7fe4ac72fe | ||
|
|
55e586121d | ||
|
|
144ee48cec | ||
|
|
b3a3d170e2 | ||
|
|
ebdcabe330 | ||
|
|
e504d0d4e3 | ||
|
|
00ee68c716 | ||
|
|
c6bf60722b | ||
|
|
8e6e30d57f | ||
|
|
1f31c00819 | ||
|
|
a704ab1cea | ||
|
|
b90abee236 | ||
|
|
ee471da787 | ||
|
|
4e1d8f2a98 | ||
|
|
65492d196c | ||
|
|
af73e7e93a | ||
|
|
59089c6792 | ||
|
|
9a19621da0 | ||
|
|
85ad508d83 | ||
|
|
e67f8392a7 | ||
|
|
c9ece3e7de | ||
|
|
b6329b5c23 | ||
|
|
b7a3ed9e27 | ||
|
|
d591b7991b | ||
|
|
e05112b3f6 | ||
|
|
bef839cc7b | ||
|
|
6c7bb1a1b1 | ||
|
|
efe0d135b2 | ||
|
|
185332fa28 | ||
|
|
64fa9f1675 | ||
|
|
60a57b1e1b | ||
|
|
8ac435af8e | ||
|
|
c436fde002 | ||
|
|
f4bcb7ffdf | ||
|
|
38d1d0f766 | ||
|
|
f8001de546 | ||
|
|
bd731ca958 | ||
|
|
6c4a1a3628 | ||
|
|
5387fc03f8 | ||
|
|
37c3db52b9 | ||
|
|
976f0f0bf4 | ||
|
|
f446f86e9f | ||
|
|
4428791397 | ||
|
|
314fb8f08e | ||
|
|
331231ce1a | ||
|
|
a8e4ecfa5a | ||
|
|
51bec5644e | ||
|
|
092a0c2239 | ||
|
|
82bfb4cea1 | ||
|
|
e35ca851a7 | ||
|
|
aba6378177 | ||
|
|
abda8b0400 | ||
|
|
606112ea44 | ||
|
|
aca997796d | ||
|
|
df7d2d3d80 | ||
|
|
42fb3e1327 | ||
|
|
031e54b81e | ||
|
|
f990fe0ba3 | ||
|
|
28dff24e44 | ||
|
|
932e12ae87 | ||
|
|
7e60f49d4a | ||
|
|
cbe77a29e2 | ||
|
|
9ea05affbf | ||
|
|
56825a3cd9 | ||
|
|
0e04ce4371 | ||
|
|
fe36e13dc7 | ||
|
|
fdf9195e8c | ||
|
|
f72104ce60 | ||
|
|
73ddbd4048 | ||
|
|
2f474ff911 | ||
|
|
3edd8dd65b | ||
|
|
cbf4310cab | ||
|
|
f2d77ad487 | ||
|
|
f491efc498 | ||
|
|
bd719d99c0 | ||
|
|
9f037c1baf | ||
|
|
9b6a13037c | ||
|
|
3b6949fe78 | ||
|
|
023309c1cf | ||
|
|
7bfdae3c45 | ||
|
|
6ea9447a92 | ||
|
|
cef3b9effb | ||
|
|
e30d669d19 | ||
|
|
38872edae2 | ||
|
|
cff38d74ec | ||
|
|
f1f01ea823 | ||
|
|
66587b4e52 | ||
|
|
206a4b5b19 | ||
|
|
90f479bafc | ||
|
|
1df9c11501 | ||
|
|
79561cd8ef | ||
|
|
435344ee1d | ||
|
|
15d079f966 | ||
|
|
90aef7ef0c | ||
|
|
390feec8ec | ||
|
|
911694c9fe | ||
|
|
73199002c3 | ||
|
|
0dc21f1b69 | ||
|
|
f593f7f660 | ||
|
|
046a6ac6cb | ||
|
|
7733907f9b | ||
|
|
b43953fc29 | ||
|
|
5f708fe816 | ||
|
|
69056db01a | ||
|
|
d48bab9ddd | ||
|
|
d10a322aec | ||
|
|
f694fead2e | ||
|
|
d4b04f3f2e | ||
|
|
6d633b5647 | ||
|
|
b7870e0453 | ||
|
|
4eb90fc442 | ||
|
|
35093fb7a7 | ||
|
|
9a3871014e | ||
|
|
b4e3d17178 | ||
|
|
4fa4cadb69 | ||
|
|
d0ec6885d6 | ||
|
|
634bdf7b90 | ||
|
|
117efad40d | ||
|
|
35aaafc09f | ||
|
|
421a3e9e87 | ||
|
|
fbefeae06f | ||
|
|
ef04ac2dac | ||
|
|
52d54cfc00 | ||
|
|
33936c937c | ||
|
|
3b2632fb26 | ||
|
|
412413c2f5 | ||
|
|
0970725598 | ||
|
|
1012991176 | ||
|
|
120725c311 | ||
|
|
ea88b81f3f | ||
|
|
c26ad31c8d | ||
|
|
4b0f3b4dd1 | ||
|
|
5a3bc2acb6 | ||
|
|
4080c2ddfb | ||
|
|
10a2c41d37 | ||
|
|
a196b19b0c | ||
|
|
50519e9099 | ||
|
|
44c487eeb1 | ||
|
|
1a7327c244 | ||
|
|
f5839b560e | ||
|
|
3e0231ae31 | ||
|
|
003de57c91 | ||
|
|
ddb64eaf2e | ||
|
|
8248bcd67e | ||
|
|
39a3918bb8 | ||
|
|
47d9f2f434 | ||
|
|
5bdf4d1d30 | ||
|
|
3e5e6e175c | ||
|
|
42e58b4996 | ||
|
|
a071cd2287 | ||
|
|
66748dbfcd | ||
|
|
d27c9be330 | ||
|
|
ea8f6c8221 | ||
|
|
c6f84dfa94 | ||
|
|
382c2bc6cd | ||
|
|
598f68a7e9 | ||
|
|
967d52f874 | ||
|
|
d1dcfc9ed3 | ||
|
|
ebd7298d0d | ||
|
|
992c5f498e | ||
|
|
570b371290 | ||
|
|
0b6a23e2fb | ||
|
|
da501a34d8 | ||
|
|
34fd2c5ca4 | ||
|
|
afe4afe095 | ||
|
|
9121720e21 | ||
|
|
b527b1ad6b | ||
|
|
bdcbc15cf5 | ||
|
|
397f165d37 | ||
|
|
f29a1d8567 | ||
|
|
47a9fa3505 | ||
|
|
7df2a43d22 | ||
|
|
826f4df8f7 | ||
|
|
7cee63907b | ||
|
|
0e50049ab1 | ||
|
|
975f4ed864 | ||
|
|
5643619a7c | ||
|
|
3e35ea56df | ||
|
|
1ba251f053 | ||
|
|
25d1b699c9 | ||
|
|
19143c134a | ||
|
|
27a8e098d6 | ||
|
|
cb12c9fe1c | ||
|
|
fc2603ce4d | ||
|
|
d9c5d5657e | ||
|
|
b6b5c6041b | ||
|
|
c1345560bb | ||
|
|
8448395003 | ||
|
|
5058f02538 | ||
|
|
31b766a7d6 | ||
|
|
650acf4ea9 | ||
|
|
1322a21445 | ||
|
|
fb26af0566 | ||
|
|
af0559ac35 | ||
|
|
72f68dd541 | ||
|
|
ae09aa3c82 | ||
|
|
b677cef407 | ||
|
|
9ae9879c56 | ||
|
|
2f8c719f03 | ||
|
|
712059cedb | ||
|
|
4bbc651732 | ||
|
|
24e525926b | ||
|
|
119140fe93 | ||
|
|
1b45c3d174 | ||
|
|
9675f1d4e4 | ||
|
|
e7e13552d9 | ||
|
|
91ad8f038e | ||
|
|
c5e70ed1aa | ||
|
|
cdd46c490d | ||
|
|
1d69a15372 | ||
|
|
5237beb197 | ||
|
|
ffdf7a3a6e | ||
|
|
c835c87afc | ||
|
|
58e2ea41af | ||
|
|
addbe7f9ea | ||
|
|
618722bc16 | ||
|
|
fd0c96e6f9 | ||
|
|
5a17a9e37b | ||
|
|
44ed13473a | ||
|
|
d8b00188a0 | ||
|
|
0b61ca0432 | ||
|
|
b9a9151555 | ||
|
|
17db7be134 | ||
|
|
892431d5b9 | ||
|
|
3d36c293e5 | ||
|
|
3ff50f0d11 | ||
|
|
6144325daf | ||
|
|
bf3b83870c | ||
|
|
62b7eea828 | ||
|
|
4e07811e2f | ||
|
|
f819e021b3 | ||
|
|
3224eac821 | ||
|
|
a1fce125da | ||
|
|
aa0a6b58d3 | ||
|
|
0c9a44e279 | ||
|
|
4dd92825a8 | ||
|
|
30a319fe5e | ||
|
|
faf35a6879 | ||
|
|
4520b54a5b | ||
|
|
fa53aea075 | ||
|
|
36b5532b04 | ||
|
|
01ab43941e | ||
|
|
249569be9f | ||
|
|
db0b275772 | ||
|
|
e6bb86c934 | ||
|
|
c53f707089 | ||
|
|
ef36176130 | ||
|
|
edd11ea1cd | ||
|
|
4ad7d635bc | ||
|
|
18604b46b1 | ||
|
|
4609c543c9 | ||
|
|
779559dbdc | ||
|
|
27c6c82b82 | ||
|
|
fa99905bf6 | ||
|
|
608e4edb4e | ||
|
|
43c646b537 | ||
|
|
ad798d7bbe | ||
|
|
238458066a | ||
|
|
90a8b10401 | ||
|
|
46195f72ee | ||
|
|
05829a225a | ||
|
|
f0858ce4d2 | ||
|
|
cc3477415d |
42
.github/workflows/issue-check-inactive.yml
vendored
42
.github/workflows/issue-check-inactive.yml
vendored
@@ -4,42 +4,14 @@ on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
issue-check-inactive:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Label inactive issues as stale
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
INACTIVE_DAY: "30"
|
||||
INACTIVE_LABEL: "stale"
|
||||
EXCLUDE_LABEL: "announcement"
|
||||
run: |
|
||||
set -euo pipefail
|
||||
cutoff="$(date -u -d "${INACTIVE_DAY} days ago" +%Y-%m-%dT%H:%M:%SZ)"
|
||||
|
||||
gh issue list \
|
||||
--repo "${{ github.repository }}" \
|
||||
--state open \
|
||||
--limit 1000 \
|
||||
--json number,labels,updatedAt \
|
||||
| jq -c \
|
||||
--arg cutoff "$cutoff" \
|
||||
--arg inactive "$INACTIVE_LABEL" \
|
||||
--arg exclude "$EXCLUDE_LABEL" \
|
||||
'
|
||||
.[]
|
||||
| select(.updatedAt < $cutoff)
|
||||
| select([.labels[].name] | index($exclude) | not)
|
||||
| select([.labels[].name] | index($inactive) | not)
|
||||
' \
|
||||
| while IFS= read -r issue; do
|
||||
number="$(echo "$issue" | jq -r .number)"
|
||||
echo "Marking issue #${number} as ${INACTIVE_LABEL}"
|
||||
gh issue edit "$number" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--add-label "$INACTIVE_LABEL"
|
||||
done
|
||||
- name: check-inactive
|
||||
uses: actions-cool/issues-helper@v2
|
||||
with:
|
||||
actions: 'check-inactive'
|
||||
inactive-label: 'stale'
|
||||
inactive-day: 30
|
||||
exclude-labels: 'announcement'
|
||||
|
||||
42
.github/workflows/issue-close-require.yml
vendored
42
.github/workflows/issue-close-require.yml
vendored
@@ -4,41 +4,17 @@ on:
|
||||
schedule:
|
||||
- cron: "0 1 * * *"
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
issue-close-require:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Close inactive issues awaiting user feedback
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
INACTIVE_DAY: "7"
|
||||
run: |
|
||||
set -euo pipefail
|
||||
cutoff="$(date -u -d "${INACTIVE_DAY} days ago" +%Y-%m-%dT%H:%M:%SZ)"
|
||||
body="$(cat <<'EOF'
|
||||
If you do not provide feedback for more than 37 days, we will close the issue and you can either reopen it or submit a new issue.
|
||||
- name: need reproduce
|
||||
uses: actions-cool/issues-helper@v2
|
||||
with:
|
||||
actions: 'close-issues'
|
||||
labels: 'stale,state/awaiting user feedback'
|
||||
inactive-day: 7
|
||||
body: |
|
||||
If you do not provide feedback for more than 37 days, we will close the issue and you can either reopen it or submit a new issue.
|
||||
|
||||
您超过 37 天未反馈信息,我们将关闭该 issue,如有需求您可以重新打开或者提交新的 issue。
|
||||
EOF
|
||||
)"
|
||||
# Trim leading indentation from heredoc lines for a cleaner comment.
|
||||
body="$(printf '%s\n' "$body" | sed 's/^[[:space:]]*//')"
|
||||
|
||||
gh issue list \
|
||||
--repo "${{ github.repository }}" \
|
||||
--state open \
|
||||
--label "stale" \
|
||||
--label "state/awaiting user feedback" \
|
||||
--limit 1000 \
|
||||
--json number,updatedAt \
|
||||
| jq -c --arg cutoff "$cutoff" '.[] | select(.updatedAt < $cutoff)' \
|
||||
| while IFS= read -r issue; do
|
||||
number="$(echo "$issue" | jq -r .number)"
|
||||
echo "Closing issue #${number}"
|
||||
gh issue close "$number" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--comment "$body"
|
||||
done
|
||||
您超过 37 天未反馈信息,我们将关闭该 issue,如有需求您可以重新打开或者提交新的 issue。
|
||||
|
||||
16
.github/workflows/issue-close.yml
vendored
16
.github/workflows/issue-close.yml
vendored
@@ -4,19 +4,13 @@ on:
|
||||
issues:
|
||||
types: [closed]
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
issue-closed-remove-labels:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.issue.labels.*.name, 'stale')"
|
||||
steps:
|
||||
- name: Remove state labels when issue that hasn't stale label is closed
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh issue edit "${{ github.event.issue.number }}" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--remove-label "state/awaiting processing" \
|
||||
--remove-label "state/awaiting user feedback" || true
|
||||
- name: Remove statle labels when issue that hasn't stale label is closed
|
||||
uses: actions-cool/issues-helper@v2
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
labels: 'state/awaiting processing,state/awaiting user feedback'
|
||||
|
||||
47
.github/workflows/issue-comment.yml
vendored
47
.github/workflows/issue-comment.yml
vendored
@@ -4,48 +4,35 @@ on:
|
||||
|
||||
name: Add issues workflow labels
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
add-label-if-is-author:
|
||||
runs-on: ubuntu-latest
|
||||
if: (github.event.issue.user.id == github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open')
|
||||
steps:
|
||||
- name: Add require handle label
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh issue edit "${{ github.event.issue.number }}" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--add-label "state/awaiting processing"
|
||||
uses: actions-cool/issues-helper@v2
|
||||
with:
|
||||
actions: 'add-labels'
|
||||
labels: 'state/awaiting processing'
|
||||
|
||||
- name: Remove require reply label
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh issue edit "${{ github.event.issue.number }}" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--remove-label "state/awaiting user feedback" \
|
||||
--remove-label "stale" || true
|
||||
uses: actions-cool/issues-helper@v2
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
labels: 'state/awaiting user feedback,stale'
|
||||
|
||||
add-label-if-not-author:
|
||||
runs-on: ubuntu-latest
|
||||
if: (github.event.issue.user.id != github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open') && (!contains(github.event.comment.body, '/keep-state'))
|
||||
steps:
|
||||
- name: Add require reply label
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh issue edit "${{ github.event.issue.number }}" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--add-label "state/awaiting user feedback"
|
||||
- name: Add require replay label
|
||||
uses: actions-cool/issues-helper@v2
|
||||
with:
|
||||
actions: 'add-labels'
|
||||
labels: 'state/awaiting user feedback'
|
||||
|
||||
- name: Remove require handle label
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh issue edit "${{ github.event.issue.number }}" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--remove-label "state/awaiting processing" \
|
||||
--remove-label "stale" || true
|
||||
uses: actions-cool/issues-helper@v2
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
labels: 'state/awaiting processing,stale'
|
||||
|
||||
26
.github/workflows/issue-open.yml
vendored
26
.github/workflows/issue-open.yml
vendored
@@ -4,30 +4,22 @@ on:
|
||||
issues:
|
||||
types: [opened, reopened]
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
issue-open-add-labels:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ !github.event.issue.pull_request }}
|
||||
steps:
|
||||
- name: Add labels
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh issue edit "${{ github.event.issue.number }}" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--add-label "state/awaiting processing"
|
||||
uses: actions-cool/issues-helper@v2
|
||||
if: ${{ !github.event.comment.pull_request.pull_request }}
|
||||
with:
|
||||
actions: 'add-labels'
|
||||
labels: 'state/awaiting processing'
|
||||
|
||||
- name: Remove require reply label
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh issue edit "${{ github.event.issue.number }}" \
|
||||
--repo "${{ github.repository }}" \
|
||||
--remove-label "state/awaiting user feedback" \
|
||||
--remove-label "stale" || true
|
||||
uses: actions-cool/issues-helper@v2
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
labels: 'state/awaiting user feedback,stale'
|
||||
|
||||
notify-author-comment:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
2
Makefile
2
Makefile
@@ -261,7 +261,7 @@ dep:
|
||||
@echo "$$depDeprecated"
|
||||
@$(MAKE) mod
|
||||
|
||||
RELEASE_BRANCH:=master
|
||||
RELEASE_BRANCH:=release/4.0.4
|
||||
GOPROXY ?= direct
|
||||
|
||||
mod:
|
||||
|
||||
52
README-CN.md
52
README-CN.md
@@ -9,9 +9,7 @@
|
||||
|
||||
<img src="https://v1.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
|
||||
|
||||
Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的云平台,也就是一个”云上之云”。Cloudpods不仅可以管理本地的虚拟机和物理机资源,还可以管理多个云平台和云账号。Cloudpods隐藏了这些异构基础设施资源的数据模型和API的差异,对外暴露了一套统一的API,允许用户就像用一个云一样地访问多云。从而大大降低了访问多云的复杂度,提升了管理多云的效率。
|
||||
|
||||
Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与 AI 容器应用的统一管理平台,帮助企业在同一平台完成 AI 工作负载的部署、调度与运维,与 Cloudpods 私有云/多云资源体系无缝集成。
|
||||
Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的云平台,也就是一个“云上之云”。Cloudpods不仅可以管理本地的虚拟机和物理机资源,还可以管理多个云平台和云账号。Cloudpods隐藏了这些异构基础设施资源的数据模型和API的差异,对外暴露了一套统一的API,允许用户就像用一个云一样地访问多云。从而大大降低了访问多云的复杂度,提升了管理多云的效率。
|
||||
|
||||
## 谁需要Cloudpods?
|
||||
|
||||
@@ -20,25 +18,12 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
* 将VMware vSphere虚拟化集群转换为一个可以自服务的私有云平台
|
||||
* 在混合云的场景,能够在一个界面访问私有云和公有云
|
||||
* 通过一个集中的入口访问分布在多个公有云平台上的多个账号
|
||||
* 当前只使用一个公有云账号但希望将来使用多云的用户
|
||||
* 需要部署和管理 LLM 推理服务及 AI 容器应用,并需要 GPU 调度支持的用户
|
||||
* 当前只使用一个云公有云账号但希望将来使用多云的用户
|
||||
|
||||
## 功能
|
||||
|
||||
请访问[产品介绍](https://www.cloudpods.org/docs/introduction/)页面了解详细信息。
|
||||
|
||||
### AI 云
|
||||
|
||||
* **AI 推理服务**:部署和管理 LLM 推理实例(支持 Ollama、vLLM、SGLang 等),支持 GPU 调度、模型挂载与推理服务地址分配。
|
||||
* **AI 应用管理**:一站式部署 LLM 应用编排、智能体助手、图像生成等 AI 容器应用。
|
||||
* **模型库**:统一管理模型来源、版本与缓存,支持多实例复用、离线分发,避免重复下载。
|
||||
* **模板与镜像**:通过模板定义 CPU/内存/GPU 等资源规格,通过镜像管理容器运行环境,实现标准化交付。
|
||||
* **GPU 运维**:GPU 设备自动探测与注册,支持 NVIDIA/CUDA 环境的统一配置与管理。
|
||||
|
||||
支持的 AI 工作负载:
|
||||
* AI 推理:Ollama、vLLM、SGLang
|
||||
* AI 应用:OpenClaw、Dify、ComfyUI、Hermes Agent
|
||||
|
||||
### 支持的云平台
|
||||
|
||||
* 公有云:
|
||||
@@ -52,38 +37,29 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
* 天翼云
|
||||
* 移动云
|
||||
* 京东云
|
||||
* 火山引擎
|
||||
* 百度云
|
||||
* 金山云
|
||||
* 青云
|
||||
* Oracle Cloud
|
||||
* 联通云
|
||||
* 私有云:
|
||||
* OpenStack
|
||||
* ZStack
|
||||
* Alibaba Cloud Apsara (阿里飞天)
|
||||
* Alibaba Cloud Aspara (阿里飞天)
|
||||
* Huawei HCSO (华为HCSO)
|
||||
* Nutanix
|
||||
* BingoCloud
|
||||
* OceanBase
|
||||
* 本地基础设施资源:
|
||||
* 基于 KVM 实现的轻量级私有云
|
||||
* VMware vSphere vCenter/ESXi
|
||||
* Proxmox VE
|
||||
* 裸金属 (IPMI, Redfish API)
|
||||
* 对象存储 (Minio, Ceph, XSky)
|
||||
* VMWare vSphere vCenter/ESXi
|
||||
* Baremetals (IPMI, Redfish API)
|
||||
* Object storages (Minio, Ceph, XSky)
|
||||
* NAS (Ceph)
|
||||
|
||||
### 支持的云资源
|
||||
|
||||
* 服务器:实例、磁盘、网卡、网络、VPC、存储、宿主机、二层网络、快照、快照策略、安全组、弹性 IP、SSH 密钥对、镜像
|
||||
* 负载均衡:实例、监听、后端服务器组、后端服务器、TLS 证书、访问控制
|
||||
* 对象存储:存储桶、对象
|
||||
* NAS:文件系统、权限组、挂载点
|
||||
* RDS:实例、账号、备份、数据库、参数、权限
|
||||
* 弹性缓存:实例、账号、备份、参数
|
||||
* DNS:DNS 区域、DNS 记录
|
||||
* VPC:VPC、VPC 对等连接、跨 VPC 网络、NAT 网关、DNAT/SNAT 规则、路由表、路由条目
|
||||
* Servers: instances, disks, network interfaces, networks, vpcs, storages, hosts, wires, snapshots, snapshot policies, security groups, elastic IPs, SSH keypairs, images
|
||||
* Load Balancers: instances, listeners, backend groups, backends, TLS certificates, ACLs
|
||||
* Object Storage: buckets, objects
|
||||
* NAS: file_systems, access_groups, mount_targets
|
||||
* RDS: instances, accounts, backups, databases, parameters, privileges
|
||||
* Elastic Cache: instances, accounts, backups, parameters
|
||||
* DNS: DNS zones, DNS records
|
||||
* VPC: VPCs, VPC peering, inter-VPC network, NAT gateway, DNAT/SNAT rules, route tables, route entries
|
||||
|
||||
## 安装部署
|
||||
|
||||
|
||||
33
README.md
33
README.md
@@ -11,34 +11,19 @@
|
||||
|
||||
Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang, i.e. Cloudpods is *a cloud on clouds*. Cloudpods is able to manage not only on-premise KVM/baremetals, but also resources from many cloud accounts across many cloud providers. It hides the differences of underlying cloud providers and exposes one set of APIs that allow programatically interacting with these many clouds.
|
||||
|
||||
Cloudpods also provides **AI Cloud**, a unified management platform for large language model (LLM) inference and AI container applications, helping enterprises deploy, schedule, and operate AI workloads on a single platform, seamlessly integrated with the Cloudpods private cloud / multi-cloud resource ecosystem.
|
||||
|
||||
## Who needs Cloudpods?
|
||||
|
||||
* Those who need a simple solution to virtualize a few physical servers into a private cloud
|
||||
* Those who need a compact and fully automatic baremetal lift-cycle management solution
|
||||
* Those who want to turn a VMware vSphere virtualization cluster into a private cloud
|
||||
* Those who need a cohesive view of both public and private cloud in a hybrid cloud setup
|
||||
* Those who need a centric portal to access multiple accounts from multiple public clouds
|
||||
* Those who need a centric portal to access multiple acccounts from multiple public clouds
|
||||
* Those who is currently using a single cloud account, but will not lose the possibility to adopt multicloud strategy
|
||||
* Those who need to deploy and manage LLM inference services and AI container applications with GPU support
|
||||
|
||||
## Features
|
||||
|
||||
See [Introduction](https://www.cloudpods.org/docs/introduction/) for details.
|
||||
|
||||
### AI Cloud
|
||||
|
||||
* **AI Inference Services**: Deploy and manage LLM inference instances (Ollama, vLLM, SGLang, and more) with GPU scheduling, model mounting, and inference service address allocation.
|
||||
* **AI Application Management**: One-stop deployment of LLM application orchestration, agent assistants, image generation, and other AI container applications.
|
||||
* **Model Library**: Unified management of model sources, versions, and caches, supporting multi-instance reuse and offline distribution.
|
||||
* **Templates and Images**: Define resource specifications (CPU/memory/GPU) through templates, manage container runtime environments through images.
|
||||
* **GPU Operations**: Automatic GPU device detection and registration, unified NVIDIA/CUDA environment configuration and management.
|
||||
|
||||
Supported AI workloads:
|
||||
* AI Inference: Ollama, vLLM, SGLang
|
||||
* AI Applications: OpenClaw, Dify, ComfyUI, Hermes Agent
|
||||
|
||||
### Supported cloud providers
|
||||
|
||||
* Public Clouds:
|
||||
@@ -52,24 +37,15 @@ Supported AI workloads:
|
||||
* Ctyun (China Telecom)
|
||||
* ECloud (China Mobile)
|
||||
* JDCloud
|
||||
* Volcengine
|
||||
* Baidu Cloud
|
||||
* Kingsoft Cloud
|
||||
* QingCloud
|
||||
* Oracle Cloud
|
||||
* China Unicom Cloud
|
||||
* Private Clouds:
|
||||
* OpenStack
|
||||
* ZStack
|
||||
* Alibaba Cloud Apsara
|
||||
* Alibaba Cloud Aspara
|
||||
* Huawei HCSO
|
||||
* Nutanix
|
||||
* BingoCloud
|
||||
* OceanBase
|
||||
* On-premise resources:
|
||||
* Lightweight private cloud built on KVM
|
||||
* VMware vSphere vCenter/ESXi
|
||||
* Proxmox VE
|
||||
* VMWare vSphere vCenter/ESXi
|
||||
* Baremetals (IPMI, Redfish API)
|
||||
* Object storages (Minio, Ceph, XSky)
|
||||
* NAS (Ceph)
|
||||
@@ -108,7 +84,7 @@ Please check this [issue](https://github.com/yunionio/cloudpods/issues/11427) fo
|
||||
|
||||
## Changelog
|
||||
|
||||
See [Release Notes](https://www.cloudpods.org/en/docs/release-notes/) and [Changelog](https://www.cloudpods.org/en/docs/development/changelog/) for details.
|
||||
See [Relase Notes](https://www.cloudpods.org/en/docs/release-notes/) and [Changelog](https://www.cloudpods.org/en/docs/development/changelog/) for details.
|
||||
|
||||
## Contribution
|
||||
|
||||
@@ -121,3 +97,4 @@ Apache License 2.0. See [LICENSE](./LICENSE).
|
||||
## AI-generated doc
|
||||
|
||||
[DeepWiki](https://deepwiki.com/yunionio/cloudpods) provides an amazing AI-generated doc of this project, you may refer to it for more detailed and comprehensive understanding of codes.
|
||||
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
// Copyright 2019 Yunion
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package image
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/cheggaaa/pb/v3"
|
||||
|
||||
"yunion.io/x/jsonutils"
|
||||
"yunion.io/x/pkg/errors"
|
||||
|
||||
"yunion.io/x/onecloud/cmd/climc/shell"
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
modules "yunion.io/x/onecloud/pkg/mcclient/modules/image"
|
||||
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
|
||||
options "yunion.io/x/onecloud/pkg/mcclient/options/image"
|
||||
)
|
||||
|
||||
func init() {
|
||||
cmd := shell.NewResourceCmd(modules.ContainerRegistries)
|
||||
cmd.List(new(options.ContainerRegistryListOptions))
|
||||
cmd.Show(new(options.ContainerRegistryIdOptions))
|
||||
cmd.Create(new(options.ContainerRegistryCreateOptions))
|
||||
cmd.Delete(new(options.ContainerRegistryIdOptions))
|
||||
cmd.Get("images", new(options.ContainerRegistryGetImagesOptions))
|
||||
cmd.Get("image-tags", new(options.ContainerRegistryGetImageTagsOptions))
|
||||
cmd.Get("config", new(options.ContainerRegistryIdOptions))
|
||||
cmd.PerformClass("import-from-kubeserver", new(options.ContainerRegistryImportOptions))
|
||||
cmd.Perform("public", &baseoptions.BasePublicOptions{})
|
||||
cmd.Perform("private", &baseoptions.BaseIdOptions{})
|
||||
|
||||
type UploadOptions struct {
|
||||
REGISTRY string `help:"The name or id of registry" json:"-"`
|
||||
FILE string `help:"The container tar image" json:"-"`
|
||||
Name string `help:"Override image name" json:"name"`
|
||||
Tag string `help:"Override image tag" json:"tag"`
|
||||
}
|
||||
R(new(UploadOptions), "container-registry-upload-image", "Upload a docker image", func(s *mcclient.ClientSession, args *UploadOptions) error {
|
||||
f, err := os.Open(args.FILE)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
finfo, err := f.Stat()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
size := finfo.Size()
|
||||
bar := pb.Full.Start64(size)
|
||||
barReader := bar.NewProxyReader(f)
|
||||
param := jsonutils.Marshal(args)
|
||||
img, err := modules.ContainerRegistries.UploadImage(s, args.REGISTRY, param, barReader, size)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
printObject(img)
|
||||
return nil
|
||||
})
|
||||
|
||||
type DownloadOptions struct {
|
||||
NAME string `help:"The name of image, e.g. 'influxdb:1.7.7'"`
|
||||
Registry string `help:"The name or id of registry" json:"-"`
|
||||
Output string `help:"Saved file path"`
|
||||
Insecure bool `help:"Set insecure"`
|
||||
Username string `help:"Image registry username"`
|
||||
Password string `help:"Image registry password"`
|
||||
}
|
||||
R(new(DownloadOptions), "container-registry-download-image", "Download container image to a file", func(s *mcclient.ClientSession, args *DownloadOptions) error {
|
||||
var (
|
||||
fileName string
|
||||
src io.Reader
|
||||
size int64
|
||||
err error
|
||||
)
|
||||
if args.Registry != "" {
|
||||
parts := strings.Split(args.NAME, ":")
|
||||
if len(parts) != 2 {
|
||||
return errors.Errorf("invalid NAME %q, use format <name>:<tag>", args.NAME)
|
||||
}
|
||||
fileName, src, size, err = modules.ContainerRegistries.DownloadImage(s, args.Registry, parts[0], parts[1])
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "download image")
|
||||
}
|
||||
} else {
|
||||
fileName, src, size, err = modules.ContainerRegistries.DownloadImageByManager(s, &modules.DownloadImageByManagerInput{
|
||||
Insecure: args.Insecure,
|
||||
Image: args.NAME,
|
||||
Username: args.Username,
|
||||
Password: args.Password,
|
||||
})
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "download image by manager")
|
||||
}
|
||||
}
|
||||
output := args.Output
|
||||
if output == "" && fileName != "" {
|
||||
output = fileName
|
||||
}
|
||||
if output == "" {
|
||||
return errors.Errorf("--output filepath must provide")
|
||||
}
|
||||
f, err := os.Create(output)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "create saved file: %q", args.Output)
|
||||
}
|
||||
defer f.Close()
|
||||
bar := pb.Full.Start64(size)
|
||||
barReader := bar.NewProxyReader(src)
|
||||
if _, err := io.Copy(f, barReader); err != nil {
|
||||
return errors.Wrap(err, "save image")
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
imgCmd := shell.NewResourceCmd(&modules.ContainerImages)
|
||||
imgCmd.List(new(options.ContainerImageListOptions))
|
||||
imgCmd.Show(new(options.ContainerImageIdOptions))
|
||||
imgCmd.Create(new(options.ContainerImageCreateOptions))
|
||||
imgCmd.Update(new(options.ContainerImageUpdateOptions))
|
||||
imgCmd.Delete(new(options.ContainerImageIdOptions))
|
||||
imgCmd.Perform("public", &baseoptions.BasePublicOptions{})
|
||||
imgCmd.Perform("private", &baseoptions.BaseIdOptions{})
|
||||
}
|
||||
@@ -203,6 +203,37 @@ definitions:
|
||||
PerformEnableInput:
|
||||
type: object
|
||||
x-go-package: yunion.io/x/onecloud/pkg/apis
|
||||
PerformStatusInput:
|
||||
properties:
|
||||
host_id:
|
||||
description: call from host id
|
||||
type: string
|
||||
x-go-name: HostId
|
||||
power_states:
|
||||
description: 电源状态
|
||||
type: string
|
||||
x-go-name: PowerStates
|
||||
reason:
|
||||
description: 更改状态的原因描述
|
||||
type: string
|
||||
x-go-name: Reason
|
||||
status:
|
||||
description: 更改的目标状态值
|
||||
type: string
|
||||
x-go-name: Status
|
||||
required:
|
||||
- status
|
||||
type: object
|
||||
x-go-package: yunion.io/x/onecloud/pkg/apis
|
||||
PurgeSplitTableInput:
|
||||
properties:
|
||||
tables:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
x-go-name: Tables
|
||||
type: object
|
||||
x-go-package: yunion.io/x/onecloud/pkg/apis
|
||||
STag:
|
||||
properties:
|
||||
key:
|
||||
@@ -215,6 +246,45 @@ definitions:
|
||||
x-go-name: Value
|
||||
type: object
|
||||
x-go-package: yunion.io/x/onecloud/pkg/util/tagutils
|
||||
StatusStatistic:
|
||||
properties:
|
||||
TotalCpuCount:
|
||||
description: CPU总量
|
||||
format: int64
|
||||
type: integer
|
||||
TotalDiskSizeMb:
|
||||
description: 存储总量
|
||||
format: int64
|
||||
type: integer
|
||||
TotalMemSizeMb:
|
||||
description: 内存总量
|
||||
format: int64
|
||||
type: integer
|
||||
status_info:
|
||||
items:
|
||||
$ref: '#/definitions/StatusStatisticStatusInfo'
|
||||
type: array
|
||||
x-go-name: StatusInfo
|
||||
type: object
|
||||
x-go-package: yunion.io/x/onecloud/pkg/apis
|
||||
StatusStatisticStatusInfo:
|
||||
properties:
|
||||
Status:
|
||||
type: string
|
||||
pending_deleted_count:
|
||||
description: |-
|
||||
回收站数量
|
||||
需要指定pending_delete=all
|
||||
format: int64
|
||||
type: integer
|
||||
x-go-name: PendingDeletedCount
|
||||
total_count:
|
||||
description: 资源总数
|
||||
format: int64
|
||||
type: integer
|
||||
x-go-name: TotalCount
|
||||
type: object
|
||||
x-go-package: yunion.io/x/onecloud/pkg/apis
|
||||
TTagSet:
|
||||
items:
|
||||
$ref: '#/definitions/STag'
|
||||
@@ -344,11 +414,6 @@ paths:
|
||||
name: show_fail_reason
|
||||
type: boolean
|
||||
x-go-name: ShowFailReason
|
||||
- description: 是否返回状态统计信息,默认为False
|
||||
in: query
|
||||
name: summary_stats
|
||||
type: boolean
|
||||
x-go-name: SummaryStats
|
||||
- description: 指定查询的权限范围,可能值为project, domain or system
|
||||
in: query
|
||||
name: scope
|
||||
@@ -424,7 +489,13 @@ paths:
|
||||
name: providers
|
||||
type: array
|
||||
x-go-name: Providers
|
||||
- in: query
|
||||
- description: |-
|
||||
列出指定云平台品牌的资源,一般来说brand和provider相同,除了以上支持的provider之外,还支持以下band
|
||||
|
||||
Brand | Provider | 说明 |
|
||||
----------|----------|------------|
|
||||
DStack | ZStack | 滴滴云私有云 |
|
||||
in: query
|
||||
items:
|
||||
type: string
|
||||
name: brands
|
||||
@@ -604,21 +675,83 @@ paths:
|
||||
- in: query
|
||||
items:
|
||||
type: string
|
||||
name: field
|
||||
name: Field
|
||||
type: array
|
||||
x-go-name: Field
|
||||
- in: query
|
||||
items:
|
||||
type: string
|
||||
name: extra_field
|
||||
name: ExtraField
|
||||
type: array
|
||||
x-go-name: ExtraField
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudevent_GetPropertyDistinctFieldOutput'
|
||||
summary: 获取指定资源类的信息DistinctField
|
||||
tags:
|
||||
- cloudevent
|
||||
/cloudevents/distinct-fields:
|
||||
get:
|
||||
description: 获取指定资源类的信息DistinctFields
|
||||
operationId: cloudevent_GetPropertyDistinctFields
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudevent_GetPropertyDistinctFieldsOutput'
|
||||
summary: 获取指定资源类的信息DistinctFields
|
||||
tags:
|
||||
- cloudevent
|
||||
/cloudevents/purge-splitable:
|
||||
post:
|
||||
description: 执行操作PurgeSplitable
|
||||
operationId: cloudevent_PerformPurgeSplitable
|
||||
parameters:
|
||||
- in: body
|
||||
name: body
|
||||
schema:
|
||||
properties:
|
||||
cloudevent:
|
||||
$ref: '#/definitions/PurgeSplitTableInput'
|
||||
type: object
|
||||
x-go-name: Body
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudevent_PerformPurgeSplitableOutput'
|
||||
summary: 执行操作PurgeSplitable
|
||||
tags:
|
||||
- cloudevent
|
||||
/cloudevents/splitable:
|
||||
get:
|
||||
description: 获取指定资源类的信息Splitable
|
||||
operationId: cloudevent_GetPropertySplitable
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudevent_GetPropertySplitableOutput'
|
||||
summary: 获取指定资源类的信息Splitable
|
||||
tags:
|
||||
- cloudevent
|
||||
/cloudevents/splitable-export:
|
||||
get:
|
||||
description: 获取指定资源类的信息SplitableExport
|
||||
operationId: cloudevent_GetPropertySplitableExport
|
||||
parameters:
|
||||
- in: query
|
||||
name: table
|
||||
type: string
|
||||
x-go-name: Table
|
||||
- format: int64
|
||||
in: query
|
||||
name: offset
|
||||
type: integer
|
||||
x-go-name: Offset
|
||||
- format: int64
|
||||
in: query
|
||||
name: limit
|
||||
type: integer
|
||||
x-go-name: Limit
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudevent_GetPropertySplitableExportOutput'
|
||||
summary: 获取指定资源类的信息SplitableExport
|
||||
tags:
|
||||
- cloudevent
|
||||
/cloudproviders:
|
||||
get:
|
||||
description: 列表
|
||||
@@ -727,11 +860,6 @@ paths:
|
||||
name: show_fail_reason
|
||||
type: boolean
|
||||
x-go-name: ShowFailReason
|
||||
- description: 是否返回状态统计信息,默认为False
|
||||
in: query
|
||||
name: summary_stats
|
||||
type: boolean
|
||||
x-go-name: SummaryStats
|
||||
- $ref: '#/definitions/TTagSet'
|
||||
description: 通过标签过滤(包含这些标签)
|
||||
in: query
|
||||
@@ -901,6 +1029,50 @@ paths:
|
||||
summary: 更新
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/{id}/class-metadata:
|
||||
get:
|
||||
description: 获取指定信息ClassMetadata
|
||||
operationId: cloudprovider_GetDetailsClassMetadata
|
||||
parameters:
|
||||
- description: The Id or Name of cloudprovider
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
x-go-name: Id
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetDetailsClassMetadataOutput'
|
||||
summary: 获取指定信息ClassMetadata
|
||||
tags:
|
||||
- cloudprovider
|
||||
post:
|
||||
description: 执行操作ClassMetadata
|
||||
operationId: cloudprovider_PerformClassMetadata
|
||||
parameters:
|
||||
- description: The Id or Name of cloudprovider
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
x-go-name: Id
|
||||
- in: body
|
||||
name: body
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
x-go-name: Input
|
||||
type: object
|
||||
x-go-name: Body
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_PerformClassMetadataOutput'
|
||||
summary: 更新资源的 class 标签
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/{id}/disable:
|
||||
post:
|
||||
description: 执行操作Disable
|
||||
@@ -988,6 +1160,107 @@ paths:
|
||||
summary: 获取资源标签(元数据)
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/{id}/org-metadata:
|
||||
get:
|
||||
description: 获取指定信息OrgMetadata
|
||||
operationId: cloudprovider_GetDetailsOrgMetadata
|
||||
parameters:
|
||||
- description: The Id or Name of cloudprovider
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
x-go-name: Id
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetDetailsOrgMetadataOutput'
|
||||
summary: 获取指定信息OrgMetadata
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/{id}/set-class-metadata:
|
||||
post:
|
||||
description: 执行操作SetClassMetadata
|
||||
operationId: cloudprovider_PerformSetClassMetadata
|
||||
parameters:
|
||||
- description: The Id or Name of cloudprovider
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
x-go-name: Id
|
||||
- in: body
|
||||
name: body
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
x-go-name: Input
|
||||
type: object
|
||||
x-go-name: Body
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_PerformSetClassMetadataOutput'
|
||||
summary: 全量替换资源的所有 class 标签
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/{id}/set-org-metadata:
|
||||
post:
|
||||
description: 执行操作SetOrgMetadata
|
||||
operationId: cloudprovider_PerformSetOrgMetadata
|
||||
parameters:
|
||||
- description: The Id or Name of cloudprovider
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
x-go-name: Id
|
||||
- in: body
|
||||
name: body
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
x-go-name: Input
|
||||
type: object
|
||||
x-go-name: Body
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_PerformSetOrgMetadataOutput'
|
||||
summary: 全量替换资源的所有 class 标签
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/{id}/set-user-metadata:
|
||||
post:
|
||||
description: 执行操作SetUserMetadata
|
||||
operationId: cloudprovider_PerformSetUserMetadata
|
||||
parameters:
|
||||
- description: The Id or Name of cloudprovider
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
x-go-name: Id
|
||||
- in: body
|
||||
name: body
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
x-go-name: Input
|
||||
type: object
|
||||
x-go-name: Body
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_PerformSetUserMetadataOutput'
|
||||
summary: 全量替换资源的所有用户标签
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/{id}/status:
|
||||
get:
|
||||
description: 获取指定信息Status
|
||||
@@ -1005,6 +1278,134 @@ paths:
|
||||
summary: 获取资源状态
|
||||
tags:
|
||||
- cloudprovider
|
||||
post:
|
||||
description: 执行操作Status
|
||||
operationId: cloudprovider_PerformStatus
|
||||
parameters:
|
||||
- description: The Id or Name of cloudprovider
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
x-go-name: Id
|
||||
- in: body
|
||||
name: body
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
$ref: '#/definitions/PerformStatusInput'
|
||||
type: object
|
||||
x-go-name: Body
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_PerformStatusOutput'
|
||||
summary: 更新资源状态
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/distinct-field:
|
||||
get:
|
||||
description: 获取指定资源类的信息DistinctField
|
||||
operationId: cloudprovider_GetPropertyDistinctField
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetPropertyDistinctFieldOutput'
|
||||
summary: 获取指定资源类的信息DistinctField
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/distinct-fields:
|
||||
get:
|
||||
description: 获取指定资源类的信息DistinctFields
|
||||
operationId: cloudprovider_GetPropertyDistinctFields
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetPropertyDistinctFieldsOutput'
|
||||
summary: 获取指定资源类的信息DistinctFields
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/purge-splitable:
|
||||
post:
|
||||
description: 执行操作PurgeSplitable
|
||||
operationId: cloudprovider_PerformPurgeSplitable
|
||||
parameters:
|
||||
- in: body
|
||||
name: body
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
$ref: '#/definitions/PurgeSplitTableInput'
|
||||
type: object
|
||||
x-go-name: Body
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_PerformPurgeSplitableOutput'
|
||||
summary: 执行操作PurgeSplitable
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/splitable:
|
||||
get:
|
||||
description: 获取指定资源类的信息Splitable
|
||||
operationId: cloudprovider_GetPropertySplitable
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetPropertySplitableOutput'
|
||||
summary: 获取指定资源类的信息Splitable
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/splitable-export:
|
||||
get:
|
||||
description: 获取指定资源类的信息SplitableExport
|
||||
operationId: cloudprovider_GetPropertySplitableExport
|
||||
parameters:
|
||||
- in: query
|
||||
name: table
|
||||
type: string
|
||||
x-go-name: Table
|
||||
- format: int64
|
||||
in: query
|
||||
name: offset
|
||||
type: integer
|
||||
x-go-name: Offset
|
||||
- format: int64
|
||||
in: query
|
||||
name: limit
|
||||
type: integer
|
||||
x-go-name: Limit
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetPropertySplitableExportOutput'
|
||||
summary: 获取指定资源类的信息SplitableExport
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/statistics:
|
||||
get:
|
||||
description: 获取指定资源类的信息Statistics
|
||||
operationId: cloudprovider_GetPropertyStatistics
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetPropertyStatisticsOutput'
|
||||
summary: 获取指定资源类的信息Statistics
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/tag-value-pairs:
|
||||
get:
|
||||
description: 获取指定资源类的信息TagValuePairs
|
||||
operationId: cloudprovider_GetPropertyTagValuePairs
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetPropertyTagValuePairsOutput'
|
||||
summary: 获取指定资源类的信息TagValuePairs
|
||||
tags:
|
||||
- cloudprovider
|
||||
/cloudproviders/tag-value-tree:
|
||||
get:
|
||||
description: 获取指定资源类的信息TagValueTree
|
||||
operationId: cloudprovider_GetPropertyTagValueTree
|
||||
responses:
|
||||
"200":
|
||||
$ref: '#/responses/cloudprovider_GetPropertyTagValueTreeOutput'
|
||||
summary: 获取指定资源类的信息TagValueTree
|
||||
tags:
|
||||
- cloudprovider
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
@@ -1024,6 +1425,12 @@ responses:
|
||||
type: object
|
||||
cloudevent_GetPropertyDistinctFieldOutput:
|
||||
description: ""
|
||||
cloudevent_GetPropertyDistinctFieldsOutput:
|
||||
description: ""
|
||||
cloudevent_GetPropertySplitableExportOutput:
|
||||
description: ""
|
||||
cloudevent_GetPropertySplitableOutput:
|
||||
description: ""
|
||||
cloudevent_ListItemFilterOutput:
|
||||
description: ""
|
||||
schema:
|
||||
@@ -1046,6 +1453,8 @@ responses:
|
||||
type: integer
|
||||
x-go-name: Total
|
||||
type: object
|
||||
cloudevent_PerformPurgeSplitableOutput:
|
||||
description: ""
|
||||
cloudevent_ValidateCreateDataOutput:
|
||||
description: ""
|
||||
schema:
|
||||
@@ -1074,6 +1483,16 @@ responses:
|
||||
cloudprovider:
|
||||
$ref: '#/definitions/EnabledStatusStandaloneResourceDetails'
|
||||
type: object
|
||||
cloudprovider_GetDetailsClassMetadataOutput:
|
||||
description: ""
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
x-go-name: Output
|
||||
type: object
|
||||
cloudprovider_GetDetailsMetadataOutput:
|
||||
description: ""
|
||||
schema:
|
||||
@@ -1084,6 +1503,16 @@ responses:
|
||||
type: object
|
||||
x-go-name: Output
|
||||
type: object
|
||||
cloudprovider_GetDetailsOrgMetadataOutput:
|
||||
description: ""
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
x-go-name: Output
|
||||
type: object
|
||||
cloudprovider_GetDetailsStatusOutput:
|
||||
description: ""
|
||||
schema:
|
||||
@@ -1091,6 +1520,25 @@ responses:
|
||||
cloudprovider:
|
||||
$ref: '#/definitions/GetDetailsStatusOutput'
|
||||
type: object
|
||||
cloudprovider_GetPropertyDistinctFieldOutput:
|
||||
description: ""
|
||||
cloudprovider_GetPropertyDistinctFieldsOutput:
|
||||
description: ""
|
||||
cloudprovider_GetPropertySplitableExportOutput:
|
||||
description: ""
|
||||
cloudprovider_GetPropertySplitableOutput:
|
||||
description: ""
|
||||
cloudprovider_GetPropertyStatisticsOutput:
|
||||
description: ""
|
||||
schema:
|
||||
properties:
|
||||
cloudprovider:
|
||||
$ref: '#/definitions/StatusStatistic'
|
||||
type: object
|
||||
cloudprovider_GetPropertyTagValuePairsOutput:
|
||||
description: ""
|
||||
cloudprovider_GetPropertyTagValueTreeOutput:
|
||||
description: ""
|
||||
cloudprovider_ListItemFilterOutput:
|
||||
description: ""
|
||||
schema:
|
||||
@@ -1113,10 +1561,22 @@ responses:
|
||||
type: integer
|
||||
x-go-name: Total
|
||||
type: object
|
||||
cloudprovider_PerformClassMetadataOutput:
|
||||
description: ""
|
||||
cloudprovider_PerformDisableOutput:
|
||||
description: ""
|
||||
cloudprovider_PerformEnableOutput:
|
||||
description: ""
|
||||
cloudprovider_PerformPurgeSplitableOutput:
|
||||
description: ""
|
||||
cloudprovider_PerformSetClassMetadataOutput:
|
||||
description: ""
|
||||
cloudprovider_PerformSetOrgMetadataOutput:
|
||||
description: ""
|
||||
cloudprovider_PerformSetUserMetadataOutput:
|
||||
description: ""
|
||||
cloudprovider_PerformStatusOutput:
|
||||
description: ""
|
||||
cloudprovider_ValidateCreateDataOutput:
|
||||
description: ""
|
||||
schema:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
43
go.mod
43
go.mod
@@ -12,7 +12,6 @@ require (
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.18.16
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.88.4
|
||||
github.com/aws/smithy-go v1.24.2
|
||||
github.com/beevik/etree v1.1.0
|
||||
github.com/benbjohnson/clock v1.0.0
|
||||
github.com/bitly/go-simplejson v0.5.0
|
||||
github.com/c-bata/go-prompt v0.2.4
|
||||
@@ -32,7 +31,6 @@ require (
|
||||
github.com/gin-gonic/gin v1.7.7
|
||||
github.com/go-ldap/ldap/v3 v3.1.5
|
||||
github.com/go-yaml/yaml v2.1.0+incompatible
|
||||
github.com/goharbor/go-client v0.26.2
|
||||
github.com/golang-plus/errors v1.0.0
|
||||
github.com/golang-plus/uuid v1.0.0
|
||||
github.com/golang/mock v1.6.0
|
||||
@@ -53,7 +51,6 @@ require (
|
||||
github.com/lestrrat-go/jwx v1.2.25
|
||||
github.com/lestrrat/go-jwx v0.0.0-20180221005942-b7d4802280ae
|
||||
github.com/libvirt/libvirt-go-xml v5.2.0+incompatible
|
||||
github.com/ma314smith/signedxml v0.0.0-20210628192057-abc5b481ae1c
|
||||
github.com/mark3labs/mcp-go v0.48.0
|
||||
github.com/mattn/go-sqlite3 v1.14.19
|
||||
github.com/mdlayher/arp v0.0.0-20190313224443-98a83c8a2717
|
||||
@@ -65,14 +62,12 @@ require (
|
||||
github.com/mitchellh/go-wordwrap v1.0.1
|
||||
github.com/moby/term v0.5.0
|
||||
github.com/mogaika/udf v0.0.0-20171019171931-167f0ab01c73
|
||||
github.com/opencontainers/go-digest v1.0.0
|
||||
github.com/opencontainers/runtime-spec v1.1.0
|
||||
github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490
|
||||
github.com/pierrec/lz4/v4 v4.1.17
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/pkg/sftp v1.13.6
|
||||
github.com/pquerna/otp v1.2.0
|
||||
github.com/regclient/regclient v0.4.8
|
||||
github.com/satori/go.uuid v1.2.0
|
||||
github.com/sergi/go-diff v1.2.0
|
||||
github.com/serialx/hashring v0.0.0-20180504054112-49a4782e9908
|
||||
@@ -117,15 +112,15 @@ require (
|
||||
k8s.io/cri-api v0.28.15
|
||||
k8s.io/klog/v2 v2.90.1
|
||||
moul.io/http2curl/v2 v2.3.0
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260916101519-866f1e3144cf
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260904120449-8aa2a5d6ba7a
|
||||
yunion.io/x/executor v0.0.0-20260312022053-f538abd2b005
|
||||
yunion.io/x/jsonutils v1.0.1-0.20260917025845-3108cd9a32ea
|
||||
yunion.io/x/jsonutils v1.0.1-0.20260715075349-615cfb44ff7c
|
||||
yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91
|
||||
yunion.io/x/ovsdb v0.0.0-20230306173834-f164f413a900
|
||||
yunion.io/x/pkg v1.10.4-0.20260918012554-27cd9d2e093b
|
||||
yunion.io/x/pkg v1.10.4-0.20260722094907-0da70a14584f
|
||||
yunion.io/x/s3cli v0.0.0-20241221171442-1c11599d28e1
|
||||
yunion.io/x/sqlchemy v1.1.3-0.20260917035232-d682485b3a12
|
||||
yunion.io/x/structarg v0.0.0-20260917033311-96c7653334ac
|
||||
yunion.io/x/sqlchemy v1.1.3-0.20260807102031-1d7e260d0dcc
|
||||
yunion.io/x/structarg v0.0.0-20231017124457-df4d5009457c
|
||||
)
|
||||
|
||||
require (
|
||||
@@ -138,6 +133,14 @@ require (
|
||||
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
|
||||
github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 // indirect
|
||||
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
|
||||
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
||||
github.com/Azure/go-autorest/autorest v0.11.28 // indirect
|
||||
github.com/Azure/go-autorest/autorest/adal v0.9.18 // indirect
|
||||
github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 // indirect
|
||||
github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 // indirect
|
||||
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
|
||||
github.com/Azure/go-autorest/logger v0.2.1 // indirect
|
||||
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
|
||||
github.com/ClickHouse/clickhouse-go v1.5.4 // indirect
|
||||
github.com/DataDog/datadog-agent/pkg/obfuscate v0.0.0-20211129110424-6491aa3bf583 // indirect
|
||||
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.42.0-rc.1 // indirect
|
||||
@@ -170,7 +173,6 @@ require (
|
||||
github.com/anacrolix/utp v0.1.0 // indirect
|
||||
github.com/aokoli/goutils v1.0.1 // indirect
|
||||
github.com/apparentlymart/go-cidr v1.1.0 // indirect
|
||||
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
|
||||
github.com/aws/aws-sdk-go v1.44.194 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/config v1.31.12 // indirect
|
||||
@@ -188,6 +190,7 @@ require (
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.38.6 // indirect
|
||||
github.com/bahlo/generic-list-go v0.2.0 // indirect
|
||||
github.com/basgys/goxml2json v1.1.1-0.20181031222924-996d9fc8d313 // indirect
|
||||
github.com/beevik/etree v1.1.0 // indirect
|
||||
github.com/benbjohnson/immutable v0.3.0 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bits-and-blooms/bitset v1.2.2 // indirect
|
||||
@@ -212,9 +215,9 @@ require (
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d // indirect
|
||||
github.com/dgraph-io/ristretto v0.1.0 // indirect
|
||||
github.com/dimchansky/utfbom v1.1.1 // indirect
|
||||
github.com/dnstap/golang-dnstap v0.4.0 // indirect
|
||||
github.com/docker/go-events v0.0.0-20250114142523-c867878c5e32 // indirect
|
||||
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/edsrzf/mmap-go v1.1.0 // indirect
|
||||
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
|
||||
@@ -230,25 +233,18 @@ require (
|
||||
github.com/go-logr/logr v1.4.2 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||
github.com/go-openapi/analysis v0.20.1 // indirect
|
||||
github.com/go-openapi/errors v0.20.1 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.19.5 // indirect
|
||||
github.com/go-openapi/jsonreference v0.20.0 // indirect
|
||||
github.com/go-openapi/loads v0.21.0 // indirect
|
||||
github.com/go-openapi/runtime v0.21.0 // indirect
|
||||
github.com/go-openapi/spec v0.20.4 // indirect
|
||||
github.com/go-openapi/strfmt v0.21.0 // indirect
|
||||
github.com/go-openapi/swag v0.19.15 // indirect
|
||||
github.com/go-openapi/validate v0.20.3 // indirect
|
||||
github.com/go-openapi/swag v0.19.14 // indirect
|
||||
github.com/go-playground/locales v0.13.0 // indirect
|
||||
github.com/go-playground/universal-translator v0.17.0 // indirect
|
||||
github.com/go-playground/validator/v10 v10.4.1 // indirect
|
||||
github.com/go-sql-driver/mysql v1.6.0 // indirect
|
||||
github.com/go-stack/stack v1.8.0 // indirect
|
||||
github.com/goccy/go-json v0.9.7 // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||
github.com/gofrs/uuid v4.1.0+incompatible // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang-jwt/jwt/v4 v4.2.0 // indirect
|
||||
github.com/golang/glog v1.2.0 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/snappy v0.0.4 // indirect
|
||||
@@ -291,6 +287,7 @@ require (
|
||||
github.com/lestrrat-go/option v1.0.0 // indirect
|
||||
github.com/lestrrat/go-pdebug v0.0.0-20180220043741-569c97477ae8 // indirect
|
||||
github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c // indirect
|
||||
github.com/ma314smith/signedxml v0.0.0-20210628192057-abc5b481ae1c // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/mattn/go-colorable v0.1.11 // indirect
|
||||
github.com/mattn/go-isatty v0.0.16 // indirect
|
||||
@@ -305,7 +302,6 @@ require (
|
||||
github.com/minio/sha256-simd v1.0.0 // indirect
|
||||
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
github.com/mitchellh/mapstructure v1.4.2 // indirect
|
||||
github.com/moby/locker v1.0.1 // indirect
|
||||
github.com/moby/sys/mountinfo v0.6.2 // indirect
|
||||
github.com/moby/sys/sequential v0.5.0 // indirect
|
||||
@@ -323,7 +319,7 @@ require (
|
||||
github.com/multiformats/go-varint v0.0.6 // indirect
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
|
||||
github.com/oklog/ulid v1.3.1 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b // indirect
|
||||
github.com/opencontainers/runc v1.1.5 // indirect
|
||||
github.com/opencontainers/selinux v1.11.0 // indirect
|
||||
@@ -391,7 +387,6 @@ require (
|
||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||
go.etcd.io/bbolt v1.3.7 // indirect
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.7 // indirect
|
||||
go.mongodb.org/mongo-driver v1.7.5 // indirect
|
||||
go.opencensus.io v0.24.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0 // indirect
|
||||
|
||||
278
go.sum
278
go.sum
@@ -58,6 +58,26 @@ github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0/go.mod
|
||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
|
||||
github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
|
||||
github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
|
||||
github.com/Azure/go-autorest/autorest v0.11.24/go.mod h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc=
|
||||
github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM=
|
||||
github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA=
|
||||
github.com/Azure/go-autorest/autorest/adal v0.9.18 h1:kLnPsRjzZZUF3K5REu/Kc+qMQrvuza2bwSnNdhmzLfQ=
|
||||
github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ=
|
||||
github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 h1:wkAZRgT/pn8HhFyzfe9UnqOjJYqlembgCTi72Bm/xKk=
|
||||
github.com/Azure/go-autorest/autorest/azure/auth v0.5.12/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg=
|
||||
github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 h1:0W/yGmFdTIT77fvdlGZ0LMISoLHFJ7Tx4U0yeB+uFs4=
|
||||
github.com/Azure/go-autorest/autorest/azure/cli v0.4.5/go.mod h1:ADQAXrkgm7acgWVUNamOgh8YNrv4p27l3Wc55oVfpzg=
|
||||
github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw=
|
||||
github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74=
|
||||
github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
|
||||
github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw=
|
||||
github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU=
|
||||
github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg=
|
||||
github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
|
||||
github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo=
|
||||
github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0=
|
||||
@@ -88,10 +108,7 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE
|
||||
github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8=
|
||||
github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
|
||||
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||
github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM=
|
||||
github.com/RoaringBitmap/roaring v0.4.7/go.mod h1:8khRDP4HmeXns4xIj9oGrKSz7XTQiJx2zgh7AcNke4w=
|
||||
github.com/RoaringBitmap/roaring v0.4.17/go.mod h1:D3qVegWTmfCaX4Bl5CrBE9hfrSrrXIr8KVNvRsDi1NI=
|
||||
@@ -105,7 +122,6 @@ github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9
|
||||
github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM=
|
||||
github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA=
|
||||
github.com/a8m/mark v0.1.1-0.20170507133748-44f2db618845/go.mod h1:c8Mh99Cw82nrsAnPgxQSZHkswVOJF7/MqZb1ZdvriLM=
|
||||
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
|
||||
github.com/ajwerner/btree v0.0.0-20211221152037-f427b3e689c0 h1:byYvvbfSo3+9efR4IeReh77gVs4PnNDR3AMOE9NJ7a0=
|
||||
github.com/ajwerner/btree v0.0.0-20211221152037-f427b3e689c0/go.mod h1:q37NoqncT41qKc048STsifIt69LfUJ8SrWWcz/yam5k=
|
||||
github.com/alecthomas/assert/v2 v2.0.0-alpha3 h1:pcHeMvQ3OMstAWgaeaXIAL8uzB9xMm2zlxt+/4ml8lk=
|
||||
@@ -178,22 +194,13 @@ github.com/anacrolix/upnp v0.1.4 h1:+2t2KA6QOhm/49zeNyeVwDu1ZYS9dB9wfxyVvh/wk7U=
|
||||
github.com/anacrolix/upnp v0.1.4/go.mod h1:Qyhbqo69gwNWvEk1xNTXsS5j7hMHef9hdr984+9fIic=
|
||||
github.com/anacrolix/utp v0.1.0 h1:FOpQOmIwYsnENnz7tAGohA+r6iXpRjrq8ssKSre2Cp4=
|
||||
github.com/anacrolix/utp v0.1.0/go.mod h1:MDwc+vsGEq7RMw6lr2GKOEqjWny5hO5OZXRVNaBJ2Dk=
|
||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
||||
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
|
||||
github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg=
|
||||
github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ=
|
||||
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
|
||||
github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU=
|
||||
github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
|
||||
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
||||
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
|
||||
github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
|
||||
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
|
||||
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
|
||||
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
|
||||
github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY=
|
||||
github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
|
||||
github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
|
||||
github.com/aws/aws-sdk-go v1.44.194 h1:1ZDK+QDcc5oRbZGgRZSz561eR8XVizXCeGpoZKo33NU=
|
||||
github.com/aws/aws-sdk-go v1.44.194/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
|
||||
@@ -345,6 +352,8 @@ github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/Lu
|
||||
github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug=
|
||||
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA=
|
||||
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
|
||||
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
|
||||
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
|
||||
github.com/dnstap/golang-dnstap v0.4.0 h1:KRHBoURygdGtBjDI2w4HifJfMAhhOqDuktAokaSa234=
|
||||
github.com/dnstap/golang-dnstap v0.4.0/go.mod h1:FqsSdH58NAmkAvKcpyxht7i4FoBjKu8E4JUPt8ipSUs=
|
||||
github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68=
|
||||
@@ -356,12 +365,9 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh
|
||||
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
|
||||
github.com/docker/go-events v0.0.0-20250114142523-c867878c5e32 h1:EHZfspsnLAz8Hzccd67D5abwLiqoqym2jz/jOS39mCk=
|
||||
github.com/docker/go-events v0.0.0-20250114142523-c867878c5e32/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA=
|
||||
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
|
||||
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4=
|
||||
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE=
|
||||
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg=
|
||||
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
|
||||
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
|
||||
@@ -420,8 +426,6 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-gonic/gin v1.7.7 h1:3DoBmSbJbZAWqXJC3SLjAPfutPJJRN1U5pALB7EeTTs=
|
||||
github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U=
|
||||
github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
||||
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
||||
github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
|
||||
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
|
||||
github.com/glycerine/go-unsnap-stream v0.0.0-20190901134440-81cf024a9e0a/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
|
||||
@@ -459,109 +463,18 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre
|
||||
github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
|
||||
github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
|
||||
github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
|
||||
github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
|
||||
github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
|
||||
github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
|
||||
github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ=
|
||||
github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk=
|
||||
github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og=
|
||||
github.com/go-openapi/analysis v0.20.1 h1:zdVbw8yoD4SWZeq+cWdGgquaB0W4VrsJvDJHJND/Ktc=
|
||||
github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og=
|
||||
github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
||||
github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
||||
github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
|
||||
github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
|
||||
github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
|
||||
github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
|
||||
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
|
||||
github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
|
||||
github.com/go-openapi/errors v0.20.1 h1:j23mMDtRxMwIobkpId7sWh7Ddcx4ivaoqUbfXx5P+a8=
|
||||
github.com/go-openapi/errors v0.20.1/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
|
||||
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
|
||||
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
||||
github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
||||
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
|
||||
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
||||
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
|
||||
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
||||
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
|
||||
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
||||
github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
||||
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
|
||||
github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
|
||||
github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
|
||||
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
|
||||
github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA=
|
||||
github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo=
|
||||
github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
||||
github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
||||
github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
||||
github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
|
||||
github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI=
|
||||
github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY=
|
||||
github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
|
||||
github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
|
||||
github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4=
|
||||
github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o=
|
||||
github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68=
|
||||
github.com/go-openapi/loads v0.21.0/go.mod h1:rHYve9nZrQ4CJhyeIIFJINGCg1tQpx2yJrrNo8sf1ws=
|
||||
github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
|
||||
github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
|
||||
github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
|
||||
github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
|
||||
github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=
|
||||
github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
|
||||
github.com/go-openapi/runtime v0.21.0 h1:giZ8eT26R+/rx6RX2MkYjZPY8vPYVKDhP/mOazrQHzM=
|
||||
github.com/go-openapi/runtime v0.21.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs=
|
||||
github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
|
||||
github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
||||
github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
||||
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
|
||||
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
|
||||
github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
|
||||
github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
|
||||
github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
|
||||
github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
|
||||
github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ=
|
||||
github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg=
|
||||
github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
|
||||
github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
|
||||
github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
|
||||
github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
|
||||
github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
|
||||
github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
|
||||
github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
|
||||
github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
|
||||
github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
|
||||
github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
|
||||
github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
|
||||
github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk=
|
||||
github.com/go-openapi/strfmt v0.21.0 h1:hX2qEZKmYks+t0hKeb4VTJpUm2UYsdL3+DCid5swxIs=
|
||||
github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
|
||||
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
|
||||
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
||||
github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
||||
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||
github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
|
||||
github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
|
||||
github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M=
|
||||
github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
|
||||
github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng=
|
||||
github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
|
||||
github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
|
||||
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
|
||||
github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
|
||||
github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
|
||||
github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo=
|
||||
github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8=
|
||||
github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4=
|
||||
github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI=
|
||||
github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
|
||||
github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw=
|
||||
github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4=
|
||||
github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
|
||||
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||
github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
|
||||
@@ -571,38 +484,12 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+
|
||||
github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE=
|
||||
github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4=
|
||||
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
|
||||
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
|
||||
github.com/go-yaml/yaml v2.1.0+incompatible h1:RYi2hDdss1u4YE7GwixGzWwVo47T8UQwnTLB6vQiq+o=
|
||||
github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0=
|
||||
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
|
||||
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
|
||||
github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
|
||||
github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
|
||||
github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
|
||||
github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
|
||||
github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
|
||||
github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
|
||||
github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
|
||||
github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
|
||||
github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
|
||||
github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
|
||||
github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
|
||||
github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
|
||||
github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
|
||||
github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
|
||||
github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
|
||||
github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
|
||||
github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
|
||||
github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
|
||||
github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
|
||||
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
|
||||
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
|
||||
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
|
||||
github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM=
|
||||
github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
@@ -617,9 +504,10 @@ github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a
|
||||
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/goharbor/go-client v0.26.2 h1:pu79j/vmrsR7HF5YztHJqUU/Ki2VLJo+c4pMUvdjJmg=
|
||||
github.com/goharbor/go-client v0.26.2/go.mod h1:XMWHucuHU9VTRx6U6wYwbRuyCVhE6ffJGRjaeo0nvwo=
|
||||
github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A=
|
||||
github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
|
||||
github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU=
|
||||
github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
|
||||
github.com/golang-plus/errors v1.0.0 h1:9Rh4itnph6OYO7wm9u3FUTLMFMKCoL07+bLiYKELxWw=
|
||||
github.com/golang-plus/errors v1.0.0/go.mod h1:YTFZjOTBcUFieeZe4q+7Umfu/sceSr3XQyBIkTkzpd8=
|
||||
github.com/golang-plus/testing v1.0.0 h1:azmFWFV44LHK/j/jAkNTbzB2G2b6HdmqF358r73m8kg=
|
||||
@@ -681,7 +569,6 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
||||
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
@@ -716,7 +603,6 @@ github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLe
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
|
||||
github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
|
||||
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
@@ -775,7 +661,6 @@ github.com/icholy/digest v1.1.0 h1:HfGg9Irj7i+IX1o1QAmPfIBNu/Q5A5Tu3n/MED9k9H4=
|
||||
github.com/icholy/digest v1.1.0/go.mod h1:QNrsSGQ5v7v9cReDI0+eyjsXGUoRSUZQHeQ5C4XLa0Y=
|
||||
github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
|
||||
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/inetaf/netaddr v0.0.0-20211027220019-c74959edd3b6 h1:E9qjt3p/44HP4XfAABZhSgNZHUufBVKIm/nyPUlVpvY=
|
||||
github.com/inetaf/netaddr v0.0.0-20211027220019-c74959edd3b6/go.mod h1:y3MGhcFMlh0KZPMuXXow8mpjxxAk3yoDNsp4cQz54i8=
|
||||
github.com/influxdata/influxql v1.1.0 h1:sPsaumLFRPMwR5QtD3Up54HXpNND8Eu7G1vQFmi3quQ=
|
||||
@@ -792,7 +677,6 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
|
||||
github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
|
||||
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
|
||||
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
|
||||
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
|
||||
github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA=
|
||||
@@ -814,8 +698,6 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V
|
||||
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
||||
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA=
|
||||
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
|
||||
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
|
||||
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
|
||||
github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwSWoI=
|
||||
github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
|
||||
github.com/kdomanski/iso9660 v0.4.0 h1:BPKKdcINz3m0MdjIMwS0wx1nofsOjxOq8TOr45WGHFg=
|
||||
@@ -823,8 +705,6 @@ github.com/kdomanski/iso9660 v0.4.0/go.mod h1:OxUSupHsO9ceI8lBLPJKWBTphLemjrCQY8
|
||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
|
||||
github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4=
|
||||
github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
|
||||
github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||
@@ -834,7 +714,6 @@ github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8t
|
||||
github.com/koding/websocketproxy v0.0.0-20181220232114-7ed82d81a28c h1:N7A4JCA2G+j5fuFxCsJqjFU/sZe0mj8H0sSoSwbaikw=
|
||||
github.com/koding/websocketproxy v0.0.0-20181220232114-7ed82d81a28c/go.mod h1:Nn5wlyECw3iJrzi0AhIWg+AJUb4PlRQVW4/3XHH1LZA=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
|
||||
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
|
||||
@@ -846,7 +725,6 @@ github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NB
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
@@ -879,18 +757,13 @@ github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c/go.mod h1:JKx41uQ
|
||||
github.com/ma314smith/signedxml v0.0.0-20210628192057-abc5b481ae1c h1:UPJygtyk491bJJ/DnRJFuzcq9Dl9NSeFrJ7VdiRzMxc=
|
||||
github.com/ma314smith/signedxml v0.0.0-20210628192057-abc5b481ae1c/go.mod h1:KEgVcb43+f5KFUH/x6Vd3NROG0AIL2CuKMrIqYsmx6E=
|
||||
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
|
||||
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
||||
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mark3labs/mcp-go v0.48.0 h1:o+MXuGW/HCeR2ny5LcAcZQn2bo6I2xaZMEHnpRG+dtw=
|
||||
github.com/mark3labs/mcp-go v0.48.0/go.mod h1:JKTC7R2LLVagkEWK7Kwu7DbmA6iIvnNAod6yrHiQMag=
|
||||
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
|
||||
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
@@ -951,13 +824,6 @@ github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo=
|
||||
github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
|
||||
github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
|
||||
github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU=
|
||||
@@ -983,7 +849,6 @@ github.com/mogaika/udf v0.0.0-20171019171931-167f0ab01c73 h1:HpHNB68mF30LkUorpr7
|
||||
github.com/mogaika/udf v0.0.0-20171019171931-167f0ab01c73/go.mod h1:OVErfG87tRGCHZpQGO8pL4vDZuY0qr4blPOTR0go6e8=
|
||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
|
||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
|
||||
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
|
||||
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
|
||||
github.com/mozillazg/go-httpheader v0.2.1 h1:geV7TrjbL8KXSyvghnFm+NyTux/hxwueTSrwhe88TQQ=
|
||||
github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60=
|
||||
@@ -1010,8 +875,6 @@ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
|
||||
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
@@ -1058,9 +921,6 @@ github.com/openzipkin/zipkin-go v0.4.1 h1:kNd/ST2yLLWhaWrkgchya40TJabe8Hioj9udfP
|
||||
github.com/openzipkin/zipkin-go v0.4.1/go.mod h1:qY0VqDSN1pOBN94dBc6w2GJlWLiovAyg7Qt6/I9HecM=
|
||||
github.com/oracle/oci-go-sdk v24.3.0+incompatible h1:x4mcfb4agelf1O4/1/auGlZ1lr97jXRSSN5MxTgG/zU=
|
||||
github.com/oracle/oci-go-sdk v24.3.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888=
|
||||
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
|
||||
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
|
||||
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
|
||||
github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490 h1:QTvNkZ5ylY0PGgA+Lih+GdboMLY/G9SEGLMEGVjTVA4=
|
||||
github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4=
|
||||
github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
|
||||
@@ -1171,8 +1031,6 @@ github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0ua
|
||||
github.com/protolambda/ctxlock v0.1.0 h1:rCUY3+vRdcdZXqT07iXgyr744J2DU2LCBIXowYAjBCE=
|
||||
github.com/protolambda/ctxlock v0.1.0/go.mod h1:vefhX6rIZH8rsg5ZpOJfEDYQOppZi19SfPiGOFrNnwM=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/regclient/regclient v0.4.8 h1:h4uZRR4OT4oO+50qWu4bj+rzqRs/JwD3erb6lHIkYK4=
|
||||
github.com/regclient/regclient v0.4.8/go.mod h1:UC6i29I09h9KHyABGLGvsvGi7KYRY8ZKLyt7fzvW4oE=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
@@ -1185,8 +1043,6 @@ github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ
|
||||
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
|
||||
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
|
||||
@@ -1219,7 +1075,6 @@ github.com/shirou/gopsutil/v3 v3.22.10 h1:4KMHdfBRYXGF9skjDWiL4RA2N+E8dRdodU/bOZ
|
||||
github.com/shirou/gopsutil/v3 v3.22.10/go.mod h1:QNza6r4YQoydyCfo6rH0blGfKahgibh4dQmV5xdFkQk=
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
|
||||
@@ -1245,7 +1100,6 @@ github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2
|
||||
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
|
||||
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
|
||||
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
|
||||
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
@@ -1253,7 +1107,6 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
|
||||
github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
|
||||
@@ -1284,9 +1137,6 @@ github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e h1:
|
||||
github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g=
|
||||
github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg=
|
||||
github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY=
|
||||
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
||||
github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
|
||||
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
|
||||
github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
|
||||
github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
|
||||
github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
|
||||
@@ -1307,7 +1157,6 @@ github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLY
|
||||
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
|
||||
github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
|
||||
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
|
||||
github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs=
|
||||
github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
|
||||
@@ -1325,11 +1174,6 @@ github.com/volcengine/volc-sdk-golang v1.0.23 h1:anOslb2Qp6ywnsbyq9jqR0ljuO63kg9
|
||||
github.com/volcengine/volc-sdk-golang v1.0.23/go.mod h1:AfG/PZRUkHJ9inETvbjNifTDgut25Wbkm2QoYBTbvyU=
|
||||
github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
|
||||
github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
|
||||
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
|
||||
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
|
||||
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
|
||||
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
|
||||
github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
|
||||
github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 h1:6932x8ltq1w4utjmfMPVj09jdMlkY0aiA6+Skbtl3/c=
|
||||
github.com/xuri/efp v0.0.0-20220603152613-6918739fd470/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=
|
||||
github.com/xuri/excelize/v2 v2.7.1 h1:gm8q0UCAyaTt3MEF5wWMjVdmthm2EHAWesGSKS9tdVI=
|
||||
@@ -1338,7 +1182,6 @@ github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 h1:OAmKAfT06//esDdpi/DZ8Q
|
||||
github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ=
|
||||
github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4=
|
||||
github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4=
|
||||
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
|
||||
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
@@ -1364,17 +1207,6 @@ go.etcd.io/etcd/client/pkg/v3 v3.5.7 h1:y3kf5Gbp4e4q7egZdn5T7W9TSHUvkClN6u+Rq9mE
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.7/go.mod h1:o0Abi1MK86iad3YrWhgUsbGx1pmTS+hrORWc2CamuhY=
|
||||
go.etcd.io/etcd/client/v3 v3.5.7 h1:u/OhpiuCgYY8awOHlhIhmGIGpxfBU/GZBUP3m/3/Iz4=
|
||||
go.etcd.io/etcd/client/v3 v3.5.7/go.mod h1:sOWmj9DZUMyAngS7QQwCyAXXAL6WhgTOPLNS/NabQgw=
|
||||
go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
|
||||
go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
|
||||
go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
|
||||
go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
|
||||
go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
|
||||
go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
|
||||
go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
|
||||
go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw=
|
||||
go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
|
||||
go.mongodb.org/mongo-driver v1.7.5 h1:ny3p0reEpgsR2cfA5cjgwFZg3Cv/ofFh/8jbhGtz9VI=
|
||||
go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
|
||||
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
|
||||
go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
|
||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
||||
@@ -1413,24 +1245,20 @@ go4.org/unsafe/assume-no-moving-gc v0.0.0-20220617031537-928513b29760/go.mod h1:
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220516162934-403b01795ae8/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
|
||||
golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
|
||||
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
|
||||
@@ -1482,14 +1310,12 @@ golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190419010253-1f3472d942ba/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
@@ -1500,7 +1326,6 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
@@ -1514,7 +1339,6 @@ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/
|
||||
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
@@ -1523,12 +1347,10 @@ golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwY
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201201195509-5d6afe98e0b7/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
|
||||
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
|
||||
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
@@ -1561,7 +1383,6 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -1583,20 +1404,15 @@ golang.org/x/sys v0.0.0-20190116161447-11f53e031339/go.mod h1:STP8DvDyc/dI5b8T5h
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190418153312-f0ce4c0180be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190606122018-79a91cf218c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -1640,7 +1456,6 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
@@ -1655,7 +1470,6 @@ golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220608164250-635b8c9b7f68/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
@@ -1684,8 +1498,6 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
||||
@@ -1705,22 +1517,15 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm
|
||||
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
@@ -1909,7 +1714,6 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
@@ -1973,30 +1777,28 @@ sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260916101519-866f1e3144cf h1:weQS1w9PxBeOgQFhXDkhc9UUsvpY/6AWXkk6d3Pc9fk=
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260916101519-866f1e3144cf/go.mod h1:IwmeqVkld+4XylS80cyVBXyN8fJ5ynAspd/6tcvqJuc=
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260904120449-8aa2a5d6ba7a h1:XlmHEv2UN01+eVQqv+yO3y2yEq7QpkcQbMFu4p7h7FU=
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260904120449-8aa2a5d6ba7a/go.mod h1:FLNUcF+R7ep5AmH7cVHRw1xFfxEKahDzyDRWcV3naOc=
|
||||
yunion.io/x/executor v0.0.0-20260312022053-f538abd2b005 h1:3sWwcjGXGjG9mLBWa7AyLq+QSi0udTAx21pfVQRFMBE=
|
||||
yunion.io/x/executor v0.0.0-20260312022053-f538abd2b005/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws=
|
||||
yunion.io/x/jsonutils v0.0.0-20220106020632-953b71a4c3a8/go.mod h1:p0nyMqGA/apTxxyLIU/o1k4V7Vujl2O6ey30L594sYE=
|
||||
yunion.io/x/jsonutils v1.0.1-0.20260917025845-3108cd9a32ea h1:lB7Kwanf7REFaA19YmDc7p0HVkssVRoNQejMlqtpecw=
|
||||
yunion.io/x/jsonutils v1.0.1-0.20260917025845-3108cd9a32ea/go.mod h1:8ctyIiHT+Af1Ldr0xhvZZvuf+kyghlBUuvTy6pOKwbo=
|
||||
yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634=
|
||||
yunion.io/x/jsonutils v1.0.1-0.20260715075349-615cfb44ff7c h1:FthZM1upg4/yF4vmYheo/J7a738sGPjWPKk5kY88sH0=
|
||||
yunion.io/x/jsonutils v1.0.1-0.20260715075349-615cfb44ff7c/go.mod h1:VK4Z93dgiKgAijcSqbMKmGaBMJuHulR16Hz4K015ZPo=
|
||||
yunion.io/x/log v0.0.0-20190514041436-04ce53b17c6b/go.mod h1:+gauLs73omeJAPlsXcevLsJLKixV+sR/E7WSYTSx1fE=
|
||||
yunion.io/x/log v0.0.0-20190629062853-9f6483a7103d/go.mod h1:LC6f/4FozL0iaAbnFt2eDX9jlsyo3WiOUPm03d7+U4U=
|
||||
yunion.io/x/log v1.0.0/go.mod h1:LC6f/4FozL0iaAbnFt2eDX9jlsyo3WiOUPm03d7+U4U=
|
||||
yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91 h1:inY5o3LDa/zgsIZuPN0HmpzKIsu/lLgsBmMttuDPGj4=
|
||||
yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91/go.mod h1:LC6f/4FozL0iaAbnFt2eDX9jlsyo3WiOUPm03d7+U4U=
|
||||
yunion.io/x/ovsdb v0.0.0-20230306173834-f164f413a900 h1:Hu/4ERvoWaN6aiFs4h4/yvVBMeVzb3eDaYTxkVx9Kdo=
|
||||
yunion.io/x/ovsdb v0.0.0-20230306173834-f164f413a900/go.mod h1:0vLkNEhlmA64HViPBAnSTUMrx5QP1CLsxXmxDKQ80tc=
|
||||
yunion.io/x/pkg v0.0.0-20190620104149-945c25821dbf/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
|
||||
yunion.io/x/pkg v0.0.0-20190628082551-f4033ba2ea30/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
|
||||
yunion.io/x/pkg v0.0.0-20200814072949-4f1b541857d6/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
|
||||
yunion.io/x/pkg v1.10.4-0.20260916163305-b7743fa5e758/go.mod h1:Crp6aUYB+Yq16DFjZPHhHq7ha5HL2DfyPvzCo2LJ+LU=
|
||||
yunion.io/x/pkg v1.10.4-0.20260918012554-27cd9d2e093b h1:XUJLpD48685DE8hwxEC+ms1F4T6/g2KKAfGuVn8rZeo=
|
||||
yunion.io/x/pkg v1.10.4-0.20260918012554-27cd9d2e093b/go.mod h1:S8ITTpENaL3qSXi8Y4L6wVbVlP8XZ5BvABO10DFqF7M=
|
||||
yunion.io/x/pkg v1.10.4-0.20260722094907-0da70a14584f h1:eRWHOwgnEK4dMoq7TQ61qZxly3LF0s7tH6nlcahvZiA=
|
||||
yunion.io/x/pkg v1.10.4-0.20260722094907-0da70a14584f/go.mod h1:0Bwxqd9MA3ACi119/l02FprY/o9gHahmYC2bsSbnVpM=
|
||||
yunion.io/x/s3cli v0.0.0-20241221171442-1c11599d28e1 h1:1KJ3YYinydPHpDEQRXdr/T8SYcKZ5Er+m489H+PnaQ4=
|
||||
yunion.io/x/s3cli v0.0.0-20241221171442-1c11599d28e1/go.mod h1:0iFKpOs1y4lbCxeOmq3Xx/0AcQoewVPwj62eRluioEo=
|
||||
yunion.io/x/sqlchemy v1.1.3-0.20260917035232-d682485b3a12 h1:xU8Z/Zg+zc199Y58eB3fA8mvOHsA28UCDfd7OuK3QKA=
|
||||
yunion.io/x/sqlchemy v1.1.3-0.20260917035232-d682485b3a12/go.mod h1:RNiIM7ZFF7VFrk18DbwAa8PYR00YP7Y23XjqKIlfr3I=
|
||||
yunion.io/x/structarg v0.0.0-20260917033311-96c7653334ac h1:hJAthswj6YfWd3GCOBl9eM7mv0+4EUmjnD0b9jdBYi0=
|
||||
yunion.io/x/structarg v0.0.0-20260917033311-96c7653334ac/go.mod h1:DyMCdRyfV5PdEe/BDz2vBbemnmALUF3Rj1JmUUlu3KY=
|
||||
yunion.io/x/sqlchemy v1.1.3-0.20260807102031-1d7e260d0dcc h1:di0CJ1Fu/aeY0Lfvr52sQx8VTOm0JyZXJz0aC+7p6No=
|
||||
yunion.io/x/sqlchemy v1.1.3-0.20260807102031-1d7e260d0dcc/go.mod h1:vCIZpqhZ5Jzaq3tFyrti/vv8BijQKtkzSgNT/uH4H5A=
|
||||
yunion.io/x/structarg v0.0.0-20231017124457-df4d5009457c h1:QuLab2kSRECZRxo4Lo2KcYn6XjQFDGaZ1+x0pYDVVwQ=
|
||||
yunion.io/x/structarg v0.0.0-20231017124457-df4d5009457c/go.mod h1:EP6NSv2C0zzqBDTKumv8hPWLb3XvgMZDHQRfyuOrQng=
|
||||
zombiezen.com/go/sqlite v0.13.1 h1:qDzxyWWmMtSSEH5qxamqBFmqA2BLSSbtODi3ojaE02o=
|
||||
zombiezen.com/go/sqlite v0.13.1/go.mod h1:Ht/5Rg3Ae2hoyh1I7gbWtWAl89CNocfqeb/aAMTkJr4=
|
||||
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
"yunion.io/x/jsonutils"
|
||||
"yunion.io/x/log"
|
||||
"yunion.io/x/pkg/errors"
|
||||
"yunion.io/x/pkg/tristate"
|
||||
"yunion.io/x/sqlchemy"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/ansibleserver/options"
|
||||
@@ -44,7 +43,6 @@ import (
|
||||
|
||||
type SAnsiblePlaybook struct {
|
||||
db.SVirtualResourceBase
|
||||
db.SEnabledResourceBase `enabled->default:"" enabled->nullable:"true"`
|
||||
|
||||
Playbook *ansible.Playbook `length:"text" nullable:"false" create:"required" get:"user" update:"user"`
|
||||
Output string `length:"medium" get:"user"`
|
||||
@@ -54,7 +52,6 @@ type SAnsiblePlaybook struct {
|
||||
|
||||
type SAnsiblePlaybookManager struct {
|
||||
db.SVirtualResourceBaseManager
|
||||
db.SEnabledResourceBaseManager
|
||||
|
||||
sessions ansible.SessionManager
|
||||
sessionsMux *sync.Mutex
|
||||
@@ -76,41 +73,6 @@ func init() {
|
||||
AnsiblePlaybookManager.SetVirtualObject(AnsiblePlaybookManager)
|
||||
}
|
||||
|
||||
// requireSystemAdmin is required to enable a playbook.
|
||||
func requireSystemAdmin(userCred mcclient.TokenCredential) error {
|
||||
if userCred == nil || !userCred.HasSystemAdminPrivilege() {
|
||||
return httperrors.NewForbiddenError("enabling ansible playbook requires system admin privilege")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// applyPlaybookEnabledByCred sets enabled on create/update: system admin
|
||||
// defaults to enabled, others are always disabled.
|
||||
func applyPlaybookEnabledByCred(userCred mcclient.TokenCredential, data *jsonutils.JSONDict) {
|
||||
if userCred != nil && userCred.HasSystemAdminPrivilege() {
|
||||
if !data.Contains("enabled") {
|
||||
data.Set("enabled", jsonutils.JSONTrue)
|
||||
}
|
||||
return
|
||||
}
|
||||
data.Set("enabled", jsonutils.JSONFalse)
|
||||
}
|
||||
|
||||
func ensurePlaybookEnabled(enabled bool) error {
|
||||
if !enabled {
|
||||
return httperrors.NewForbiddenError("playbook is not enabled")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (man *SAnsiblePlaybookManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, query api.AnsiblePlaybookListInput) (*sqlchemy.SQuery, error) {
|
||||
q, err := man.SVirtualResourceBaseManager.ListItemFilter(ctx, q, userCred, query.VirtualResourceListInput)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return man.SEnabledResourceBaseManager.ListItemFilter(ctx, q, userCred, query.EnabledResourceBaseListInput)
|
||||
}
|
||||
|
||||
func (man *SAnsiblePlaybookManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
|
||||
pbV := NewAnsiblePlaybookValidator("playbook", userCred)
|
||||
if err := pbV.Validate(ctx, data); err != nil {
|
||||
@@ -128,15 +90,11 @@ func (man *SAnsiblePlaybookManager) ValidateCreateData(ctx context.Context, user
|
||||
return nil, err
|
||||
}
|
||||
data.Update(jsonutils.Marshal(input))
|
||||
applyPlaybookEnabledByCred(userCred, data)
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybook) PostCreate(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data jsonutils.JSONObject) {
|
||||
apb.SVirtualResourceBase.PostCreate(ctx, userCred, ownerId, query, data)
|
||||
if !apb.GetEnabled() {
|
||||
return
|
||||
}
|
||||
err := apb.runPlaybook(ctx, userCred)
|
||||
if err != nil {
|
||||
log.Errorf("postCreate: runPlaybook: %v", err)
|
||||
@@ -160,28 +118,6 @@ func (man *SAnsiblePlaybookManager) InitializeData() error {
|
||||
log.Errorf("set playbook %s(%s) to unknown state: %v", pb.Name, pb.Id, err)
|
||||
}
|
||||
}
|
||||
if err := man.eanbleExistingPlaybooks(); err != nil {
|
||||
return errors.Wrap(err, "enable existing playbooks")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (man *SAnsiblePlaybookManager) eanbleExistingPlaybooks() error {
|
||||
pbs := []SAnsiblePlaybookV2{}
|
||||
q := AnsiblePlaybookV2Manager.Query().IsNull("enabled")
|
||||
if err := db.FetchModelObjects(AnsiblePlaybookV2Manager, q, &pbs); err != nil {
|
||||
return errors.Wrap(err, "fetch running playbooks")
|
||||
}
|
||||
for i := 0; i < len(pbs); i++ {
|
||||
pb := &pbs[i]
|
||||
_, err := db.Update(pb, func() error {
|
||||
pb.Enabled = tristate.True
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("enable playbook %s(%s): %v", pb.Name, pb.Id, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -206,44 +142,17 @@ func (apb *SAnsiblePlaybook) ValidateUpdateData(ctx context.Context, userCred mc
|
||||
}
|
||||
apb.Playbook = pbV.Playbook // Update as a whole
|
||||
data.Set("status", jsonutils.NewString(api.AnsiblePlaybookStatusInit))
|
||||
applyPlaybookEnabledByCred(userCred, data)
|
||||
if enabled, err := data.Bool("enabled"); err == nil {
|
||||
apb.SetEnabled(enabled)
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybook) PostUpdate(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) {
|
||||
apb.SVirtualResourceBase.PostUpdate(ctx, userCred, query, data)
|
||||
if !apb.GetEnabled() {
|
||||
return
|
||||
}
|
||||
err := apb.runPlaybook(ctx, userCred)
|
||||
if err != nil {
|
||||
log.Errorf("postUpdate: runPlaybook: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybook) PerformEnable(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input apis.PerformEnableInput) (jsonutils.JSONObject, error) {
|
||||
if err := requireSystemAdmin(userCred); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := ansible.ValidatePlaybook(apb.Playbook); err != nil {
|
||||
return nil, httperrors.NewInputParameterError("%s", err.Error())
|
||||
}
|
||||
if err := db.EnabledPerformEnable(apb, ctx, userCred, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybook) PerformDisable(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input apis.PerformDisableInput) (jsonutils.JSONObject, error) {
|
||||
if err := db.EnabledPerformEnable(apb, ctx, userCred, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybook) PerformRun(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) (jsonutils.JSONObject, error) {
|
||||
err := apb.runPlaybook(ctx, userCred)
|
||||
if err != nil {
|
||||
@@ -267,15 +176,9 @@ func (apb *SAnsiblePlaybook) runPlaybook(ctx context.Context, userCred mcclient.
|
||||
if man.sessions.Has(apb.Id) {
|
||||
return fmt.Errorf("playbook is already running")
|
||||
}
|
||||
if err := ensurePlaybookEnabled(apb.GetEnabled()); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// init private key
|
||||
pb := apb.Playbook.Copy()
|
||||
if err := ansible.ValidatePlaybook(pb); err != nil {
|
||||
return err
|
||||
}
|
||||
if len(pb.PrivateKey) == 0 {
|
||||
if k, err := compute.Sshkeypairs.FetchPrivateKey(ctx, userCred); err != nil {
|
||||
return err
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
// Copyright 2019 Yunion
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or authorized to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package models
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"yunion.io/x/jsonutils"
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
)
|
||||
|
||||
func TestRequireSystemAdmin(t *testing.T) {
|
||||
systemAdmin := &mcclient.SSimpleToken{User: "admin", Project: "system", Roles: "admin"}
|
||||
if err := requireSystemAdmin(systemAdmin); err != nil {
|
||||
t.Fatalf("system admin should pass: %v", err)
|
||||
}
|
||||
|
||||
tenant := &mcclient.SSimpleToken{User: "user1", Project: "proj1", Roles: "user"}
|
||||
if err := requireSystemAdmin(tenant); err == nil {
|
||||
t.Fatal("tenant should be forbidden")
|
||||
}
|
||||
|
||||
projectAdmin := &mcclient.SSimpleToken{User: "owner", Project: "proj1", Roles: "admin"}
|
||||
if err := requireSystemAdmin(projectAdmin); err == nil {
|
||||
t.Fatal("project admin (non-system project) should be forbidden")
|
||||
}
|
||||
|
||||
if err := requireSystemAdmin(nil); err == nil {
|
||||
t.Fatal("nil credential should be forbidden")
|
||||
}
|
||||
}
|
||||
|
||||
func TestApplyPlaybookEnabledByCred(t *testing.T) {
|
||||
admin := &mcclient.SSimpleToken{User: "admin", Project: "system", Roles: "admin"}
|
||||
tenant := &mcclient.SSimpleToken{User: "user1", Project: "proj1", Roles: "user"}
|
||||
|
||||
data := jsonutils.NewDict()
|
||||
applyPlaybookEnabledByCred(admin, data)
|
||||
enabled, _ := data.Bool("enabled")
|
||||
if !enabled {
|
||||
t.Fatal("admin create should default enabled")
|
||||
}
|
||||
|
||||
data = jsonutils.NewDict()
|
||||
data.Set("enabled", jsonutils.JSONFalse)
|
||||
applyPlaybookEnabledByCred(admin, data)
|
||||
enabled, _ = data.Bool("enabled")
|
||||
if enabled {
|
||||
t.Fatal("admin should be able to create disabled")
|
||||
}
|
||||
|
||||
data = jsonutils.NewDict()
|
||||
data.Set("enabled", jsonutils.JSONTrue)
|
||||
applyPlaybookEnabledByCred(tenant, data)
|
||||
enabled, _ = data.Bool("enabled")
|
||||
if enabled {
|
||||
t.Fatal("non-admin create must be disabled")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnsurePlaybookEnabled(t *testing.T) {
|
||||
if err := ensurePlaybookEnabled(true); err != nil {
|
||||
t.Fatalf("enabled: %v", err)
|
||||
}
|
||||
if err := ensurePlaybookEnabled(false); err == nil {
|
||||
t.Fatal("disabled playbook should not run")
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,6 @@ import (
|
||||
"yunion.io/x/jsonutils"
|
||||
"yunion.io/x/log"
|
||||
"yunion.io/x/pkg/errors"
|
||||
"yunion.io/x/pkg/tristate"
|
||||
"yunion.io/x/sqlchemy"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/ansibleserver/options"
|
||||
@@ -41,7 +40,6 @@ import (
|
||||
// This is at the moment for internal use only. Update is not allowed
|
||||
type SAnsiblePlaybookV2 struct {
|
||||
db.SVirtualResourceBase
|
||||
db.SEnabledResourceBase `enabled->default:"" enabled->nullable:"true"`
|
||||
|
||||
Playbook string `length:"text" nullable:"false" create:"required" get:"user"`
|
||||
Inventory string `length:"text" nullable:"false" create:"required" get:"user"`
|
||||
@@ -56,7 +54,6 @@ type SAnsiblePlaybookV2 struct {
|
||||
|
||||
type SAnsiblePlaybookV2Manager struct {
|
||||
db.SVirtualResourceBaseManager
|
||||
db.SEnabledResourceBaseManager
|
||||
|
||||
sessions ansible.SessionManager
|
||||
sessionsMux *sync.Mutex
|
||||
@@ -78,14 +75,6 @@ func init() {
|
||||
AnsiblePlaybookV2Manager.SetVirtualObject(AnsiblePlaybookV2Manager)
|
||||
}
|
||||
|
||||
func (man *SAnsiblePlaybookV2Manager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, query api.AnsiblePlaybookListInput) (*sqlchemy.SQuery, error) {
|
||||
q, err := man.SVirtualResourceBaseManager.ListItemFilter(ctx, q, userCred, query.VirtualResourceListInput)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return man.SEnabledResourceBaseManager.ListItemFilter(ctx, q, userCred, query.EnabledResourceBaseListInput)
|
||||
}
|
||||
|
||||
func (man *SAnsiblePlaybookV2Manager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
|
||||
data.Set("status", jsonutils.NewString(api.AnsiblePlaybookStatusInit))
|
||||
input := apis.VirtualResourceCreateInput{}
|
||||
@@ -98,42 +87,11 @@ func (man *SAnsiblePlaybookV2Manager) ValidateCreateData(ctx context.Context, us
|
||||
return nil, err
|
||||
}
|
||||
data.Update(jsonutils.Marshal(input))
|
||||
if err := validateAnsiblePlaybookV2Input(userCred, data); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
applyPlaybookEnabledByCred(userCred, data)
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func validateAnsiblePlaybookV2Input(userCred mcclient.TokenCredential, data *jsonutils.JSONDict) error {
|
||||
playbook, _ := data.GetString("playbook")
|
||||
inventory, _ := data.GetString("inventory")
|
||||
files, _ := data.GetString("files")
|
||||
requirements, _ := data.GetString("requirements")
|
||||
return validateAnsiblePlaybookV2Fields(userCred, playbook, inventory, files, requirements)
|
||||
}
|
||||
|
||||
func validateAnsiblePlaybookV2Fields(userCred mcclient.TokenCredential, playbook, inventory, files, requirements string) error {
|
||||
if err := ansible.ValidatePlaybookYAML(playbook); err != nil {
|
||||
return httperrors.NewInputParameterError("%s", err.Error())
|
||||
}
|
||||
if err := ansible.ValidateInventoryYAML(inventory); err != nil {
|
||||
return httperrors.NewInputParameterError("%s", err.Error())
|
||||
}
|
||||
if err := ansible.ValidateFilesJSON(files); err != nil {
|
||||
return httperrors.NewInputParameterError("%s", err.Error())
|
||||
}
|
||||
if strings.TrimSpace(requirements) != "" && (userCred == nil || !userCred.HasSystemAdminPrivilege()) {
|
||||
return httperrors.NewForbiddenError("requirements is not allowed")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybookV2) PostCreate(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data jsonutils.JSONObject) {
|
||||
apb.SVirtualResourceBase.PostCreate(ctx, userCred, ownerId, query, data)
|
||||
if !apb.GetEnabled() {
|
||||
return
|
||||
}
|
||||
err := apb.runPlaybook(ctx, userCred)
|
||||
if err != nil {
|
||||
log.Errorf("postCreate: runPlaybook: %v", err)
|
||||
@@ -157,28 +115,6 @@ func (man *SAnsiblePlaybookV2Manager) InitializeData() error {
|
||||
log.Errorf("set playbook %s(%s) to unknown state: %v", pb.Name, pb.Id, err)
|
||||
}
|
||||
}
|
||||
if err := man.eanbleExistingPlaybooks(); err != nil {
|
||||
return errors.Wrap(err, "enable existing playbooks")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (man *SAnsiblePlaybookV2Manager) eanbleExistingPlaybooks() error {
|
||||
pbs := []SAnsiblePlaybookV2{}
|
||||
q := AnsiblePlaybookV2Manager.Query().IsNull("enabled")
|
||||
if err := db.FetchModelObjects(AnsiblePlaybookV2Manager, q, &pbs); err != nil {
|
||||
return errors.Wrap(err, "fetch running playbooks")
|
||||
}
|
||||
for i := 0; i < len(pbs); i++ {
|
||||
pb := &pbs[i]
|
||||
_, err := db.Update(pb, func() error {
|
||||
pb.Enabled = tristate.True
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("enable playbook %s(%s): %v", pb.Name, pb.Id, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -189,26 +125,6 @@ func (apb *SAnsiblePlaybookV2) ValidateDeleteCondition(ctx context.Context, info
|
||||
return nil
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybookV2) PerformEnable(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input apis.PerformEnableInput) (jsonutils.JSONObject, error) {
|
||||
if err := requireSystemAdmin(userCred); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := validateAnsiblePlaybookV2Fields(userCred, apb.Playbook, apb.Inventory, apb.Files, apb.Requirements); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := db.EnabledPerformEnable(apb, ctx, userCred, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybookV2) PerformDisable(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input apis.PerformDisableInput) (jsonutils.JSONObject, error) {
|
||||
if err := db.EnabledPerformEnable(apb, ctx, userCred, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (apb *SAnsiblePlaybookV2) PerformRun(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) (jsonutils.JSONObject, error) {
|
||||
err := apb.runPlaybook(ctx, userCred)
|
||||
if err != nil {
|
||||
@@ -232,21 +148,6 @@ func (apb *SAnsiblePlaybookV2) runPlaybook(ctx context.Context, userCred mcclien
|
||||
if man.sessions.Has(apb.Id) {
|
||||
return fmt.Errorf("playbook is already running")
|
||||
}
|
||||
if err := ensurePlaybookEnabled(apb.GetEnabled()); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := ansible.ValidatePlaybookYAML(apb.Playbook); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := ansible.ValidateInventoryYAML(apb.Inventory); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := ansible.ValidateFilesJSON(apb.Files); err != nil {
|
||||
return err
|
||||
}
|
||||
if strings.TrimSpace(apb.Requirements) != "" && !userCred.HasSystemAdminPrivilege() {
|
||||
return httperrors.NewForbiddenError("requirements is not allowed")
|
||||
}
|
||||
|
||||
// hack: force Sleep 50s to wait some host ssh service started
|
||||
// time.Sleep(50 * time.Second)
|
||||
|
||||
@@ -87,9 +87,6 @@ func (v *ValidatorAnsiblePlaybook) Validate(ctx context.Context, data *jsonutils
|
||||
}
|
||||
}
|
||||
}
|
||||
if err := ansible.ValidatePlaybook(pb); err != nil {
|
||||
return httperrors.NewInputParameterError("%s", err.Error())
|
||||
}
|
||||
// add LF for privateKey
|
||||
if len(pb.PrivateKey) > 0 && pb.PrivateKey[len(pb.PrivateKey)-1] != 10 {
|
||||
pb.PrivateKey = append(pb.PrivateKey, 10)
|
||||
|
||||
@@ -24,13 +24,8 @@ import (
|
||||
type AnsiblePlaybookCreateInput struct {
|
||||
apis.Meta
|
||||
|
||||
Name string `json:"name"`
|
||||
Playbook ansible.Playbook `json:"playbook"`
|
||||
}
|
||||
|
||||
type AnsiblePlaybookListInput struct {
|
||||
apis.VirtualResourceListInput
|
||||
apis.EnabledResourceBaseListInput
|
||||
Name string
|
||||
Playbook ansible.Playbook
|
||||
}
|
||||
|
||||
type AnsiblePlaybookUpdateInput AnsiblePlaybookCreateInput
|
||||
@@ -55,19 +50,19 @@ type AnsiblePlaybookReferenceUpdateInput struct {
|
||||
}
|
||||
|
||||
type AnsiblePlaybookReferenceRunInput struct {
|
||||
Host AnsibleHost `json:"host"`
|
||||
Args jsonutils.JSONObject `json:"args"`
|
||||
Host AnsibleHost
|
||||
Args jsonutils.JSONObject
|
||||
}
|
||||
|
||||
type AnsiblePlaybookReferenceRunOutput struct {
|
||||
AnsiblePlaybookInstanceId string `json:"ansible_playbook_instance_id"`
|
||||
AnsiblePlaybookInstanceId string
|
||||
}
|
||||
|
||||
type AnsiblePlaybookReferenceStopInput struct {
|
||||
AnsiblePlaybookInstanceId string `json:"ansible_playbook_instance_id"`
|
||||
AnsiblePlaybookInstanceId string
|
||||
}
|
||||
|
||||
type AnsiblePlaybookInstanceListInput struct {
|
||||
apis.StatusStandaloneResourceListInput
|
||||
AnsiblePlayboookReferenceId string `json:"ansible_playboook_reference_id"`
|
||||
AnsiblePlayboookReferenceId string
|
||||
}
|
||||
|
||||
@@ -61,6 +61,6 @@ type ProxySettingResourceInput struct {
|
||||
}
|
||||
|
||||
type ProxySettingTestInput struct {
|
||||
HttpProxy string `json:"http_proxy"`
|
||||
HttpsProxy string `json:"https_proxy"`
|
||||
HttpProxy string
|
||||
HttpsProxy string
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@ import (
|
||||
)
|
||||
|
||||
type ProxySetting struct {
|
||||
HttpProxy string `json:"http_proxy"`
|
||||
HttpsProxy string `json:"https_proxy"`
|
||||
NoProxy string `json:"no_proxy"`
|
||||
HttpProxy string
|
||||
HttpsProxy string
|
||||
NoProxy string
|
||||
}
|
||||
|
||||
func (v *ProxySetting) Sanitize() error {
|
||||
|
||||
@@ -16,12 +16,12 @@ package cloudid
|
||||
|
||||
type CloudaccountResourceListInput struct {
|
||||
// 根据云账号名称过滤资源
|
||||
// swagger:ignore
|
||||
Cloudaccount string `json:"cloudaccount" yunion-deprecated-by:"cloudaccount_id"`
|
||||
|
||||
// 根据平台过滤
|
||||
Provider []string `json:"provider"`
|
||||
|
||||
// swagger:ignore
|
||||
CloudaccountId string `json:"cloudaccount_id"`
|
||||
}
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ type CloudgroupCreateInput struct {
|
||||
|
||||
// 子账号Id
|
||||
ManagerId string `json:"manager_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
CloudaccountId string `json:"cloudaccount_id"`
|
||||
|
||||
// 权限Id列表, 权限provider必须和权限组provider一致
|
||||
@@ -166,19 +166,19 @@ type CloudgroupResourceDetails struct {
|
||||
}
|
||||
|
||||
type SPolicy struct {
|
||||
Name string `json:"name"`
|
||||
ExternalId string `json:"external_id"`
|
||||
PolicyType string `json:"policy_type"`
|
||||
Name string
|
||||
ExternalId string
|
||||
PolicyType string
|
||||
}
|
||||
|
||||
type GroupUser struct {
|
||||
Name string `json:"name"`
|
||||
ExternalId string `json:"external_id"`
|
||||
Name string
|
||||
ExternalId string
|
||||
}
|
||||
|
||||
type SGroup struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Id string
|
||||
Name string
|
||||
}
|
||||
|
||||
type GetCloudaccountSamlOutput struct {
|
||||
|
||||
@@ -55,8 +55,8 @@ type CloudpolicyListInput struct {
|
||||
}
|
||||
|
||||
type PolicyUsage struct {
|
||||
CloudgroupCount int `json:"cloudgroup_count"`
|
||||
ClouduserCount int `json:"clouduser_count"`
|
||||
CloudgroupCount int
|
||||
ClouduserCount int
|
||||
}
|
||||
|
||||
type CloudpolicyDetails struct {
|
||||
|
||||
@@ -39,9 +39,9 @@ type SamluserDetails struct {
|
||||
CloudgroupResourceDetails
|
||||
CloudaccountResourceDetails
|
||||
|
||||
CloudaccountId string `json:"cloudaccount_id"`
|
||||
ManagerId string `json:"manager_id"`
|
||||
Manager string `json:"manager"`
|
||||
CloudaccountId string
|
||||
ManagerId string
|
||||
Manager string
|
||||
|
||||
SSamluser
|
||||
}
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
// Copyright 2019 Yunion
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:build !ignore_autogenerated
|
||||
// +build !ignore_autogenerated
|
||||
|
||||
|
||||
@@ -23,58 +23,58 @@ import (
|
||||
type ForwardCreateInput struct {
|
||||
apis.VirtualResourceCreateInput
|
||||
|
||||
ProxyEndpointId string `json:"proxy_endpoint_id"`
|
||||
ProxyAgentId string `json:"proxy_agent_id"`
|
||||
Type string `json:"type"`
|
||||
BindPortReq int `json:"bind_port_req,omitzero"`
|
||||
RemoteAddr string `json:"remote_addr"`
|
||||
RemotePort string `json:"remote_port"`
|
||||
ProxyEndpointId string
|
||||
ProxyAgentId string
|
||||
Type string
|
||||
BindPortReq int `json:",omitzero"`
|
||||
RemoteAddr string
|
||||
RemotePort string
|
||||
|
||||
LastSeenTimeout int `json:"last_seen_timeout,omitzero"`
|
||||
LastSeenTimeout int `json:",omitzero"`
|
||||
|
||||
Opaque string `json:"opaque"`
|
||||
Opaque string
|
||||
}
|
||||
|
||||
type ForwardCreateFromServerInput struct {
|
||||
ServerId string `json:"server_id"`
|
||||
ServerId string
|
||||
|
||||
Type string `json:"type"`
|
||||
BindPortReq int `json:"bind_port_req,omitzero"`
|
||||
RemotePort int `json:"remote_port,omitzero"`
|
||||
Type string
|
||||
BindPortReq int `json:",omitzero"`
|
||||
RemotePort int `json:",omitzero"`
|
||||
|
||||
LastSeenTimeout int `json:"last_seen_timeout,omitzero"`
|
||||
LastSeenTimeout int `json:",omitzero"`
|
||||
}
|
||||
|
||||
type ForwardHeartbeatInput struct{}
|
||||
|
||||
type ForwardListInput struct {
|
||||
ProxyAgentId string `json:"proxy_agent_id"`
|
||||
ProxyEndpointId string `json:"proxy_endpoint_id"`
|
||||
ProxyAgentId string
|
||||
ProxyEndpointId string
|
||||
|
||||
Type string `json:"type"`
|
||||
RemoteAddr string `json:"remote_addr"`
|
||||
RemotePort *int `json:"remote_port"`
|
||||
BindPortReq *int `json:"bind_port_req"`
|
||||
Type string
|
||||
RemoteAddr string
|
||||
RemotePort *int
|
||||
BindPortReq *int
|
||||
|
||||
Opaque string `json:"opaque"`
|
||||
Opaque string
|
||||
}
|
||||
|
||||
type ForwardDetails struct {
|
||||
ProxyEndpoint string `json:"proxy_endpoint"`
|
||||
ProxyEndpointId string `json:"proxy_endpoint_id"`
|
||||
ProxyAgent string `json:"proxy_agent"`
|
||||
ProxyAgentId string `json:"proxy_agent_id"`
|
||||
ProxyEndpoint string
|
||||
ProxyEndpointId string
|
||||
ProxyAgent string
|
||||
ProxyAgentId string
|
||||
|
||||
Type string `json:"type"`
|
||||
BindPortReq int `json:"bind_port_req"`
|
||||
BindPort int `json:"bind_port"`
|
||||
RemoteAddr string `json:"remote_addr"`
|
||||
RemotePort int `json:"remote_port"`
|
||||
Type string
|
||||
BindPortReq int
|
||||
BindPort int
|
||||
RemoteAddr string
|
||||
RemotePort int
|
||||
|
||||
LastSeen time.Time `json:"last_seen"`
|
||||
LastSeenTimeout int `json:"last_seen_timeout"`
|
||||
LastSeen time.Time
|
||||
LastSeenTimeout int
|
||||
|
||||
Opaque string `json:"opaque"`
|
||||
Opaque string
|
||||
|
||||
BindAddr string `json:"bind_addr"`
|
||||
BindAddr string
|
||||
}
|
||||
|
||||
@@ -21,19 +21,19 @@ import (
|
||||
type ProxyEndpointCreateInput struct {
|
||||
apis.VirtualResourceCreateInput
|
||||
|
||||
User string `json:"user"`
|
||||
Host string `json:"host"`
|
||||
Port int `json:"port,omitzero"`
|
||||
PrivateKey string `json:"private_key"`
|
||||
User string
|
||||
Host string
|
||||
Port int `json:",omitzero"`
|
||||
PrivateKey string
|
||||
|
||||
IntranetIpAddr string `json:"intranet_ip_addr"`
|
||||
IntranetIpAddr string
|
||||
}
|
||||
|
||||
type ProxyEndpointCreateFromServerInput struct {
|
||||
Name string `json:"name"`
|
||||
GenerateName string `json:"generate_name"`
|
||||
Name string
|
||||
GenerateName string
|
||||
|
||||
ServerId string `json:"server_id"`
|
||||
ServerId string
|
||||
}
|
||||
|
||||
type ProxyEndpointUpdateInput struct {
|
||||
@@ -48,6 +48,6 @@ type ProxyEndpointUpdateInput struct {
|
||||
type ProxyEndpointListInput struct {
|
||||
apis.VirtualResourceListInput
|
||||
|
||||
VpcId string `json:"vpc_id"`
|
||||
NetworkId string `json:"network_id"`
|
||||
VpcId string
|
||||
NetworkId string
|
||||
}
|
||||
|
||||
@@ -31,18 +31,18 @@ type AccessGroupRuleDetails struct {
|
||||
type AccessGroupRuleCreateInput struct {
|
||||
apis.ResourceBaseCreateInput
|
||||
|
||||
Priority int `json:"priority"`
|
||||
Source string `json:"source"`
|
||||
RWAccessType string `json:"rw_access_type"`
|
||||
UserAccessType string `json:"user_access_type"`
|
||||
Description string `json:"description"`
|
||||
AccessGroupId string `json:"access_group_id"`
|
||||
Priority int
|
||||
Source string
|
||||
RWAccessType string
|
||||
UserAccessType string
|
||||
Description string
|
||||
AccessGroupId string
|
||||
}
|
||||
|
||||
type AccessGroupRuleUpdateInput struct {
|
||||
Priority *int `json:"priority"`
|
||||
Source string `json:"source"`
|
||||
RWAccessType string `json:"rw_access_type"`
|
||||
UserAccessType string `json:"user_access_type"`
|
||||
Description string `json:"description"`
|
||||
Priority *int
|
||||
Source string
|
||||
RWAccessType string
|
||||
UserAccessType string
|
||||
Description string
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import (
|
||||
type SchedtagConfig struct {
|
||||
apis.Meta
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Id string `json:"id"`
|
||||
// 调度策略
|
||||
// required: 必须使用
|
||||
@@ -35,7 +35,7 @@ type SchedtagConfig struct {
|
||||
// exclude: 禁止使用
|
||||
// enmu: required, prefer, avoid, exclude
|
||||
Strategy string `json:"strategy"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Weight int `json:"weight"`
|
||||
// 资源类型
|
||||
// hosts: 宿主机
|
||||
@@ -413,7 +413,7 @@ type ServerConfigs struct {
|
||||
// default: kvm
|
||||
Hypervisor string `json:"hypervisor"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Provider string `json:"provider"`
|
||||
|
||||
// 包年包月资源池
|
||||
@@ -522,7 +522,7 @@ type KickstartConfig struct {
|
||||
ConfigURL string `json:"config_url,omitempty"`
|
||||
|
||||
// 操作系统类型 (用于确定内核参数和文件路径)
|
||||
// enum: ["centos", "rhel", "fedora", "openeuler", "ubuntu"]
|
||||
// enum: centos,rhel,fedora,openeuler,ubuntu
|
||||
// required: true
|
||||
OSType string `json:"os_type" validate:"required,oneof=centos rhel fedora openeuler ubuntu"`
|
||||
|
||||
@@ -574,7 +574,7 @@ type ServerCreateInput struct {
|
||||
// required: false
|
||||
UserData string `json:"user_data"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
// 创建测试数据,不实际创建资源
|
||||
FakeCreate bool `json:"fake_create"`
|
||||
|
||||
@@ -784,7 +784,7 @@ func (c *KickstartConfig) IsEnabled() bool {
|
||||
// ServerUpdateKickstartStatusInput 更新虚拟机 kickstart 状态的输入
|
||||
type ServerUpdateKickstartStatusInput struct {
|
||||
// kickstart 状态
|
||||
// enum: ["kickstart_pending", "kickstart_installing", "kickstart_completed", "kickstart_failed"]
|
||||
// enum: kickstart_pending,kickstart_installing,kickstart_completed,kickstart_failed
|
||||
// required: true
|
||||
Status string `json:"status" validate:"required,oneof=kickstart_pending kickstart_installing kickstart_completed kickstart_failed"`
|
||||
|
||||
@@ -829,15 +829,15 @@ type GuestBatchMigrateRequest struct {
|
||||
}
|
||||
|
||||
type GuestBatchMigrateParams struct {
|
||||
Id string `json:"id"`
|
||||
LiveMigrate bool `json:"live_migrate"`
|
||||
SkipCpuCheck bool `json:"skip_cpu_check"`
|
||||
SkipKernelCheck bool `json:"skip_kernel_check"`
|
||||
EnableTLS *bool `json:"enable_tls"`
|
||||
RescueMode bool `json:"rescue_mode"`
|
||||
OldStatus string `json:"old_status"`
|
||||
MaxBandwidthMb *int64 `json:"max_bandwidth_mb"`
|
||||
QuciklyFinish *bool `json:"quickly_finish"`
|
||||
Id string
|
||||
LiveMigrate bool
|
||||
SkipCpuCheck bool
|
||||
SkipKernelCheck bool
|
||||
EnableTLS *bool
|
||||
RescueMode bool
|
||||
OldStatus string
|
||||
MaxBandwidthMb *int64
|
||||
QuciklyFinish *bool
|
||||
}
|
||||
|
||||
type HostLoginInfo struct {
|
||||
|
||||
@@ -42,17 +42,17 @@ type AppDetails struct {
|
||||
apis.VirtualResourceDetails
|
||||
ManagedResourceInfo
|
||||
CloudregionResourceInfo
|
||||
Network string `json:"network"`
|
||||
VpcId string `json:"vpc_id"`
|
||||
Vpc string `json:"vpc"`
|
||||
Network string
|
||||
VpcId string
|
||||
Vpc string
|
||||
}
|
||||
|
||||
type AppEnvironmentListInput struct {
|
||||
apis.VirtualResourceListInput
|
||||
apis.ExternalizedResourceBaseListInput
|
||||
|
||||
AppId string `json:"app_id"`
|
||||
InstanceType string `json:"instance_type"`
|
||||
AppId string
|
||||
InstanceType string
|
||||
}
|
||||
|
||||
type AppEnvironmentDetails struct {
|
||||
@@ -60,54 +60,54 @@ type AppEnvironmentDetails struct {
|
||||
}
|
||||
|
||||
type AppHybirdConnection struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Hostname string `json:"hostname"`
|
||||
Namespace string `json:"namespace"`
|
||||
Port int `json:"port"`
|
||||
Id string
|
||||
Name string
|
||||
Hostname string
|
||||
Namespace string
|
||||
Port int
|
||||
}
|
||||
|
||||
type AppHybirdConnectionOutput struct {
|
||||
Data []AppHybirdConnection `json:"data"`
|
||||
Data []AppHybirdConnection
|
||||
}
|
||||
|
||||
type AppBackup struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
Id string
|
||||
Name string
|
||||
Type string
|
||||
}
|
||||
|
||||
type AppBackupOutput struct {
|
||||
Data []AppBackup `json:"data"`
|
||||
Data []AppBackup
|
||||
BackupConfig struct {
|
||||
Enabled bool `json:"enabled"`
|
||||
FrequencyInterval int `json:"frequency_interval"`
|
||||
FrequencyUnit string `json:"frequency_unit"`
|
||||
RetentionPeriodInDays int `json:"retention_period_in_days"`
|
||||
} `json:"backup_config"`
|
||||
Enabled bool
|
||||
FrequencyInterval int
|
||||
FrequencyUnit string
|
||||
RetentionPeriodInDays int
|
||||
}
|
||||
}
|
||||
|
||||
type AppCertificate struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
SubjectName string `json:"subject_name"`
|
||||
Issuer string `json:"issuer"`
|
||||
IssueDate time.Time `json:"issue_date"`
|
||||
Thumbprint string `json:"thumbprint"`
|
||||
ExpireTime time.Time `json:"expire_time"`
|
||||
Id string
|
||||
Name string
|
||||
SubjectName string
|
||||
Issuer string
|
||||
IssueDate time.Time
|
||||
Thumbprint string
|
||||
ExpireTime time.Time
|
||||
}
|
||||
|
||||
type AppCertificateOutput struct {
|
||||
Data []AppCertificate `json:"data"`
|
||||
Data []AppCertificate
|
||||
}
|
||||
|
||||
type AppDomain struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Status string `json:"status"`
|
||||
SslState string `json:"ssl_state"`
|
||||
Id string
|
||||
Name string
|
||||
Status string
|
||||
SslState string
|
||||
}
|
||||
|
||||
type AppDomainOutput struct {
|
||||
Data []AppDomain `json:"data"`
|
||||
Data []AppDomain
|
||||
}
|
||||
|
||||
@@ -138,17 +138,13 @@ type DiskBackupCreateInput struct {
|
||||
apis.VirtualResourceCreateInput
|
||||
apis.EncryptedResourceCreateInput
|
||||
|
||||
// swagger:ignore
|
||||
SizeMb int `json:"size_mb"`
|
||||
// path to find backup file, in case of create backup from a backup file
|
||||
BackupFilePath string `json:"backup_file_path"`
|
||||
// description: disk id
|
||||
DiskId string `json:"disk_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
BackStorageId string `json:"back_storage_id" yunion-deprecated-by:"backup_storage_id"`
|
||||
// description: backup storage id
|
||||
BackupStorageId string `json:"backup_storage_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
CloudregionId string `json:"cloudregion_id"`
|
||||
// swagger:ignore
|
||||
ManagerId string `json:"manager_id"`
|
||||
@@ -157,23 +153,20 @@ type DiskBackupCreateInput struct {
|
||||
|
||||
type DiskBackupRecoveryInput struct {
|
||||
// description: name of disk
|
||||
Name string `json:"name"`
|
||||
Name string
|
||||
}
|
||||
|
||||
type DiskBackupSyncstatusInput struct {
|
||||
}
|
||||
|
||||
type DiskBackupPackMetadata struct {
|
||||
OsArch string `json:"os_arch"`
|
||||
SizeMb int `json:"size_mb"`
|
||||
DiskSizeMb int `json:"disk_size_mb"`
|
||||
DiskType string `json:"disk_type"`
|
||||
OsArch string
|
||||
SizeMb int
|
||||
DiskSizeMb int
|
||||
DiskType string
|
||||
// 操作系统类型
|
||||
OsType string `json:"os_type"`
|
||||
DiskConfig *SBackupDiskConfig `json:"disk_config"`
|
||||
|
||||
// 备份文件路径
|
||||
BackupFilePath string `json:"backup_file_path"`
|
||||
OsType string
|
||||
DiskConfig *SBackupDiskConfig
|
||||
}
|
||||
|
||||
type DiskBackupExportInfo struct {
|
||||
@@ -183,22 +176,22 @@ type DiskBackupExportInfo struct {
|
||||
}
|
||||
|
||||
type DiskBackupImportTaskInput struct {
|
||||
AccessUrl string `json:"access_url"`
|
||||
AccessUrl string
|
||||
}
|
||||
|
||||
type InstanceBackupPackMetadata struct {
|
||||
OsArch string `json:"os_arch"`
|
||||
ServerConfig jsonutils.JSONObject `json:"server_config"`
|
||||
ServerMetadata jsonutils.JSONObject `json:"server_metadata"`
|
||||
SecGroups jsonutils.JSONObject `json:"sec_groups"`
|
||||
KeypairId string `json:"keypair_id"`
|
||||
OsType string `json:"os_type"`
|
||||
InstanceType string `json:"instance_type"`
|
||||
SizeMb int `json:"size_mb"`
|
||||
DiskMetadatas []DiskBackupPackMetadata `json:"disk_metadatas"`
|
||||
OsArch string
|
||||
ServerConfig jsonutils.JSONObject
|
||||
ServerMetadata jsonutils.JSONObject
|
||||
SecGroups jsonutils.JSONObject
|
||||
KeypairId string
|
||||
OsType string
|
||||
InstanceType string
|
||||
SizeMb int
|
||||
DiskMetadatas []DiskBackupPackMetadata
|
||||
|
||||
// 加密密钥ID
|
||||
EncryptKeyId string `json:"encrypt_key_id"`
|
||||
EncryptKeyId string
|
||||
// Instance Backup metadata
|
||||
Metadata map[string]string `json:"metadata"`
|
||||
}
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
package compute
|
||||
|
||||
type SGMapItem struct {
|
||||
SGDeviceName string `json:"sg_device_name"`
|
||||
HostNumber int `json:"host_number"`
|
||||
Bus int `json:"bus"`
|
||||
SCSIId int `json:"scsi_id"`
|
||||
Lun int `json:"lun"`
|
||||
Type int `json:"type"`
|
||||
LinuxDeviceName string `json:"linux_device_name"`
|
||||
SGDeviceName string
|
||||
HostNumber int
|
||||
Bus int
|
||||
SCSIId int
|
||||
Lun int
|
||||
Type int
|
||||
LinuxDeviceName string
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -30,10 +30,10 @@ const (
|
||||
)
|
||||
|
||||
type IPMIUser struct {
|
||||
Id int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Callin bool `json:"callin"`
|
||||
LinkAuth bool `json:"link_auth"`
|
||||
IPMIMsg bool `json:"ipmi_msg"`
|
||||
Priv string `json:"priv"`
|
||||
Id int
|
||||
Name string
|
||||
Callin bool
|
||||
LinkAuth bool
|
||||
IPMIMsg bool
|
||||
Priv string
|
||||
}
|
||||
|
||||
@@ -44,21 +44,21 @@ func (input *BaremetalProfileListInput) Normalize() {
|
||||
type BaremetalProfileCreateInput struct {
|
||||
apis.StandaloneAnonResourceCreateInput
|
||||
|
||||
OemName string `json:"oem_name"`
|
||||
Model string `json:"model"`
|
||||
LanChannel uint8 `json:"lan_channel"`
|
||||
RootId int `json:"root_id"`
|
||||
RootName string `json:"root_name"`
|
||||
StrongPass bool `json:"strong_pass"`
|
||||
OemName string
|
||||
Model string
|
||||
LanChannel uint8
|
||||
RootId int
|
||||
RootName string
|
||||
StrongPass bool
|
||||
}
|
||||
|
||||
type BaremetalProfileUpdateInput struct {
|
||||
apis.StandaloneAnonResourceBaseUpdateInput
|
||||
|
||||
LanChannel uint8 `json:"lan_channel"`
|
||||
RootId *int `json:"root_id"`
|
||||
RootName string `json:"root_name"`
|
||||
StrongPass *bool `json:"strong_pass"`
|
||||
LanChannel uint8
|
||||
RootId *int
|
||||
RootName string
|
||||
StrongPass *bool
|
||||
}
|
||||
|
||||
type BaremetalProfileDetails struct {
|
||||
@@ -87,12 +87,12 @@ func (detail BaremetalProfileDetails) ToSpec() BaremetalProfileSpec {
|
||||
}
|
||||
|
||||
type BaremetalProfileSpec struct {
|
||||
OemName string `json:"oem_name"`
|
||||
Model string `json:"model"`
|
||||
LanChannels []uint8 `json:"lan_channels"`
|
||||
RootName string `json:"root_name"`
|
||||
RootId int `json:"root_id"`
|
||||
StrongPass bool `json:"strong_pass"`
|
||||
OemName string
|
||||
Model string
|
||||
LanChannels []uint8
|
||||
RootName string
|
||||
RootId int
|
||||
StrongPass bool
|
||||
}
|
||||
|
||||
type BaremetalProfileSpecs []BaremetalProfileSpec
|
||||
|
||||
@@ -96,7 +96,7 @@ func (bucket BucketDetails) GetMetricPairs() map[string]string {
|
||||
}
|
||||
|
||||
type BucketObjectsActionInput struct {
|
||||
Key []string `json:"key"`
|
||||
Key []string
|
||||
}
|
||||
|
||||
type BucketAclInput struct {
|
||||
@@ -220,25 +220,25 @@ type BucketGetObjectsOutput struct {
|
||||
}
|
||||
|
||||
type BucketWebsiteRoutingRule struct {
|
||||
ConditionErrorCode string `json:"condition_error_code"`
|
||||
ConditionPrefix string `json:"condition_prefix"`
|
||||
ConditionErrorCode string
|
||||
ConditionPrefix string
|
||||
|
||||
RedirectProtocol string `json:"redirect_protocol"`
|
||||
RedirectReplaceKey string `json:"redirect_replace_key"`
|
||||
RedirectReplaceKeyPrefix string `json:"redirect_replace_key_prefix"`
|
||||
RedirectProtocol string
|
||||
RedirectReplaceKey string
|
||||
RedirectReplaceKeyPrefix string
|
||||
}
|
||||
|
||||
type BucketWebsiteConf struct {
|
||||
// 主页
|
||||
Index string `json:"index"`
|
||||
Index string
|
||||
// 错误时返回的文档
|
||||
ErrorDocument string `json:"error_document"`
|
||||
ErrorDocument string
|
||||
// http或https
|
||||
Protocol string `json:"protocol"`
|
||||
Protocol string
|
||||
|
||||
Rules []BucketWebsiteRoutingRule `json:"rules"`
|
||||
Rules []BucketWebsiteRoutingRule
|
||||
// 访问网站url
|
||||
Url string `json:"url"`
|
||||
Url string
|
||||
}
|
||||
|
||||
func (input *BucketWebsiteConf) Validate() error {
|
||||
@@ -255,14 +255,14 @@ func (input *BucketWebsiteConf) Validate() error {
|
||||
}
|
||||
|
||||
type BucketCORSRule struct {
|
||||
AllowedMethods []string `json:"allowed_methods"`
|
||||
AllowedMethods []string
|
||||
// 允许的源站,可以是*
|
||||
AllowedOrigins []string `json:"allowed_origins"`
|
||||
AllowedHeaders []string `json:"allowed_headers"`
|
||||
MaxAgeSeconds int `json:"max_age_seconds"`
|
||||
ExposeHeaders []string `json:"expose_headers"`
|
||||
AllowedOrigins []string
|
||||
AllowedHeaders []string
|
||||
MaxAgeSeconds int
|
||||
ExposeHeaders []string
|
||||
// 规则区别标识
|
||||
Id string `json:"id"`
|
||||
Id string
|
||||
}
|
||||
|
||||
type BucketCORSRules struct {
|
||||
@@ -270,11 +270,11 @@ type BucketCORSRules struct {
|
||||
}
|
||||
|
||||
type BucketCORSRuleDeleteInput struct {
|
||||
Id []string `json:"id"`
|
||||
Id []string
|
||||
}
|
||||
|
||||
type BucketPolicy struct {
|
||||
Data []BucketPolicyStatement `json:"data"`
|
||||
Data []BucketPolicyStatement
|
||||
}
|
||||
|
||||
type BucketPolicyStatement struct {
|
||||
@@ -290,30 +290,30 @@ type BucketPolicyStatement struct {
|
||||
Condition map[string]map[string]interface{} `json:"Condition,omitempty"`
|
||||
|
||||
// 解析字段,主账号id:子账号id
|
||||
PrincipalId []string `json:"principal_id"`
|
||||
PrincipalId []string
|
||||
// map[主账号id:子账号id]子账号name
|
||||
PrincipalNames map[string]string `json:"principal_names"`
|
||||
PrincipalNames map[string]string
|
||||
|
||||
// Read|ReadWrite|FullControl
|
||||
CannedAction string `json:"canned_action"`
|
||||
CannedAction string
|
||||
// 资源路径
|
||||
ResourcePath []string `json:"resource_path"`
|
||||
ResourcePath []string
|
||||
// 根据index 生成
|
||||
Id string `json:"id"`
|
||||
Id string
|
||||
}
|
||||
|
||||
type BucketPolicyStatementInput struct {
|
||||
// 主账号id:子账号id
|
||||
PrincipalId []string `json:"principal_id"`
|
||||
PrincipalId []string
|
||||
// Read|ReadWrite|FullControl
|
||||
CannedAction string `json:"canned_action"`
|
||||
CannedAction string
|
||||
// Allow|Deny
|
||||
Effect string `json:"effect"`
|
||||
Effect string
|
||||
// 被授权的资源地址,/*
|
||||
ResourcePath []string `json:"resource_path"`
|
||||
ResourcePath []string
|
||||
// ip 条件
|
||||
IpEquals []string `json:"ip_equals"`
|
||||
IpNotEquals []string `json:"ip_not_equals"`
|
||||
IpEquals []string
|
||||
IpNotEquals []string
|
||||
}
|
||||
|
||||
func (input *BucketPolicyStatementInput) Validate() error {
|
||||
@@ -338,7 +338,7 @@ func (input *BucketPolicyStatementInput) Validate() error {
|
||||
}
|
||||
|
||||
type BucketPolicyDeleteInput struct {
|
||||
Id []string `json:"id"`
|
||||
Id []string
|
||||
}
|
||||
|
||||
func (input *BucketCORSRules) Validate() error {
|
||||
@@ -356,11 +356,11 @@ func (input *BucketCORSRules) Validate() error {
|
||||
type BucketRefererConf struct {
|
||||
// Referer Type
|
||||
// enmu: Black-List, White-List
|
||||
RefererType string `json:"referer_type"`
|
||||
RefererType string
|
||||
// 域名列表
|
||||
DomainList []string `json:"domain_list"`
|
||||
DomainList []string
|
||||
// 是否允许空referer 访问
|
||||
AllowEmptyRefer bool `json:"allow_empty_refer"`
|
||||
AllowEmptyRefer bool
|
||||
|
||||
// 是否开启
|
||||
Enabled bool `json:"enabled"`
|
||||
@@ -377,9 +377,9 @@ func init() {
|
||||
}
|
||||
|
||||
type BucketProbeResult struct {
|
||||
UploadTime time.Duration `json:"upload_time"`
|
||||
DownloadTime time.Duration `json:"download_time"`
|
||||
DeleteTime time.Duration `json:"delete_time"`
|
||||
UploadTime time.Duration
|
||||
DownloadTime time.Duration
|
||||
DeleteTime time.Duration
|
||||
}
|
||||
|
||||
func (result BucketProbeResult) UploadDelayMs() float64 {
|
||||
|
||||
@@ -46,17 +46,17 @@ const (
|
||||
|
||||
type CdnDomain struct {
|
||||
// cdn加速域名
|
||||
Domain string `json:"domain"`
|
||||
Domain string
|
||||
// 状态 rejected(域名未审核)|processing(部署中)|online|offline
|
||||
Status string `json:"status"`
|
||||
Status string
|
||||
// 区域 mainland|overseas|global
|
||||
Area string `json:"area"`
|
||||
Area string
|
||||
// cdn Cname
|
||||
Cname string `json:"cname"`
|
||||
Cname string
|
||||
// 源站
|
||||
Origin string `json:"origin"`
|
||||
Origin string
|
||||
// 源站类型 domain|ip|bucket
|
||||
OriginType string `json:"origin_type"`
|
||||
OriginType string
|
||||
}
|
||||
|
||||
type CdnDomains struct {
|
||||
@@ -97,9 +97,9 @@ type CDNDomainListInput struct {
|
||||
}
|
||||
|
||||
type CDNCustomHostnameOutput struct {
|
||||
Data []cloudprovider.CustomHostname `json:"data"`
|
||||
Data []cloudprovider.CustomHostname
|
||||
}
|
||||
|
||||
type CDNDeleteCustomHostnameInput struct {
|
||||
Id string `json:"id"`
|
||||
Id string
|
||||
}
|
||||
|
||||
@@ -143,10 +143,10 @@ type CloudaccountCreateInput struct {
|
||||
// enum: ["VMware", "Aliyun", "Qcloud", "Azure", "Aws", "Huawei", "OpenStack", "Ucloud", "ZStack", "Google", "Ctyun", "JDcloud"]
|
||||
Provider string `json:"provider"`
|
||||
// swagger:ignore
|
||||
AccountId string `json:"account_id"`
|
||||
AccountId string
|
||||
|
||||
// 跳过重复账号注册检查
|
||||
SkipDuplicateAccountCheck bool `json:"skip_duplicate_account_check"`
|
||||
SkipDuplicateAccountCheck bool
|
||||
|
||||
// 指定云平台品牌, 此参数默认和provider相同
|
||||
// requried: false
|
||||
@@ -169,9 +169,9 @@ type CloudaccountCreateInput struct {
|
||||
Brand string `json:"brand"`
|
||||
|
||||
// swagger:ignore
|
||||
IsPublicCloud bool `json:"is_public_cloud"`
|
||||
IsPublicCloud bool
|
||||
// swagger:ignore
|
||||
IsOnPremise bool `json:"is_on_premise"`
|
||||
IsOnPremise bool
|
||||
|
||||
// 指定云账号所属的项目
|
||||
// Tenant string `json:"tenant"`
|
||||
@@ -231,7 +231,7 @@ type SProjectMappingResourceInput struct {
|
||||
type CloudaccountShareModeInput struct {
|
||||
apis.Meta
|
||||
|
||||
ShareMode string `json:"share_mode"`
|
||||
ShareMode string
|
||||
}
|
||||
|
||||
func (i CloudaccountShareModeInput) Validate() error {
|
||||
@@ -356,7 +356,7 @@ type CloudaccountDetail struct {
|
||||
ProjectMappingResourceInfo
|
||||
|
||||
// 上次同步耗时
|
||||
LastSyncCost string `json:"last_sync_cost"`
|
||||
LastSyncCost string
|
||||
}
|
||||
|
||||
func (self CloudaccountDetail) GetMetricTags() map[string]string {
|
||||
@@ -459,8 +459,8 @@ type VSwitch struct {
|
||||
}
|
||||
|
||||
type SimpleHost struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Id string
|
||||
Name string
|
||||
}
|
||||
|
||||
type CAWireNet struct {
|
||||
@@ -536,8 +536,8 @@ type EnrollmentAccountQuery struct {
|
||||
}
|
||||
|
||||
type CloudaccountSyncSkusInput struct {
|
||||
Resource string `json:"resource"`
|
||||
Force bool `json:"force"`
|
||||
Resource string
|
||||
Force bool
|
||||
|
||||
CloudregionResourceInput
|
||||
CloudproviderResourceInput
|
||||
@@ -568,7 +568,7 @@ type SyncRangeInput struct {
|
||||
Zone []string `json:"zone"`
|
||||
Host []string `json:"host"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
SkipSyncResources []string `json:"skip_sync_resources"`
|
||||
|
||||
// 按资源类型同步,可输入多个
|
||||
@@ -585,7 +585,7 @@ func (self *SyncRangeInput) IsNotSkipSyncResource(res iRes) bool {
|
||||
}
|
||||
|
||||
type SAccountPermission struct {
|
||||
Permissions []string `json:"permissions"`
|
||||
Permissions []string
|
||||
}
|
||||
|
||||
type SkipSyncResources []string
|
||||
|
||||
@@ -143,7 +143,7 @@ type CloudproviderDetails struct {
|
||||
ProjectMappingResourceInfo
|
||||
|
||||
// 上次同步耗时
|
||||
LastSyncCost string `json:"last_sync_cost"`
|
||||
LastSyncCost string
|
||||
}
|
||||
|
||||
// 云订阅输入参数
|
||||
|
||||
@@ -46,9 +46,6 @@ const (
|
||||
CONTAINER_DEV_VASTAITECH_GPU = "VASTAITECH_GPU"
|
||||
CONTAINER_DEV_HYGON_DCU = "HYGON_DCU"
|
||||
CONTAINER_DEV_HYGON_DCU_HAMI = "HYGON_DCU_HAMI"
|
||||
CONTAINER_DEV_ILUVATAR_GPU = "ILUVATAR_GPU"
|
||||
CONTAINER_DEV_THEAD_PPU = "THEAD_PPU"
|
||||
CONTAINER_DEV_KUNLUNXIN_XPU = "KUNLUNXIN_XPU"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -61,9 +58,6 @@ var (
|
||||
CONTAINER_DEV_VASTAITECH_GPU,
|
||||
CONTAINER_DEV_HYGON_DCU,
|
||||
CONTAINER_DEV_HYGON_DCU_HAMI,
|
||||
CONTAINER_DEV_ILUVATAR_GPU,
|
||||
CONTAINER_DEV_THEAD_PPU,
|
||||
CONTAINER_DEV_KUNLUNXIN_XPU,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -272,7 +266,7 @@ type ContainerCommitExternalRegistry struct {
|
||||
}
|
||||
|
||||
type ContainerCommitInput struct {
|
||||
// Container registry id from glance (or kubeserver during migration)
|
||||
// Container registry id from kubeserver
|
||||
RegistryId string `json:"registry_id"`
|
||||
ExternalRegistry *ContainerCommitExternalRegistry `json:"external_registry"`
|
||||
// image name
|
||||
|
||||
@@ -41,7 +41,7 @@ type DBInstanceCreateInput struct {
|
||||
// 创建只读实例时此参数必传
|
||||
MasterInstance string `json:"master_instance"`
|
||||
// swagger:ignore
|
||||
MasterInstanceId string `json:"master_instance_id"`
|
||||
MasterInstanceId string
|
||||
|
||||
// 安全组Id列表
|
||||
//
|
||||
@@ -65,16 +65,16 @@ type DBInstanceCreateInput struct {
|
||||
Zone3 string `json:"zone3"`
|
||||
|
||||
// swagger:ignore
|
||||
ZoneId string `json:"zone_id"`
|
||||
ZoneId string
|
||||
|
||||
// swagger:ignore
|
||||
CloudregionId string `json:"cloudregion_id"`
|
||||
CloudregionId string
|
||||
|
||||
// swagger:ignore
|
||||
VpcId string `json:"vpc_id"`
|
||||
VpcId string
|
||||
|
||||
// swagger:ignore
|
||||
ManagerId string `json:"manager_id"`
|
||||
ManagerId string
|
||||
|
||||
// 包年包月时间周期
|
||||
Duration string `json:"duration"`
|
||||
@@ -90,7 +90,7 @@ type DBInstanceCreateInput struct {
|
||||
// enum: ["postpaid", "prepaid"]
|
||||
BillingType billing_api.TBillingType `json:"billing_type"`
|
||||
// swagger:ignore
|
||||
BillingCycle string `json:"billing_cycle"`
|
||||
BillingCycle string
|
||||
|
||||
// 套餐名称, 若此参数不填, 则必须有vmem_size_mb及vcpu_count参数
|
||||
// 套餐列表可以通过 dbinstancesku 获取
|
||||
@@ -170,8 +170,8 @@ type DBInstanceCreateInput struct {
|
||||
type SDBInstanceChangeConfigInput struct {
|
||||
apis.Meta
|
||||
|
||||
InstanceType string `json:"instance_type"`
|
||||
DiskSizeGB int `json:"disk_size_gb"`
|
||||
InstanceType string
|
||||
DiskSizeGB int
|
||||
}
|
||||
|
||||
type SDBInstanceRecoveryConfigInput struct {
|
||||
|
||||
@@ -21,7 +21,7 @@ type SDBInstanceAccountPrivilege struct {
|
||||
// required: true
|
||||
Database string `json:"database"`
|
||||
// swagger:ignore
|
||||
DBInstancedatabaseId string `json:"db_instancedatabase_id"`
|
||||
DBInstancedatabaseId string
|
||||
|
||||
// 权限类型
|
||||
//
|
||||
|
||||
@@ -29,18 +29,18 @@ type DBInstanceBackupCreateInput struct {
|
||||
// required: false
|
||||
Databases []string `json:"databases"`
|
||||
// swagger:ignore
|
||||
DBNames string `json:"db_names"`
|
||||
DBNames string
|
||||
|
||||
// swagger:ignore
|
||||
Engine string `json:"engine"`
|
||||
Engine string
|
||||
// swagger:ignore
|
||||
EngineVersion string `json:"engine_version"`
|
||||
EngineVersion string
|
||||
// swagger:ignore
|
||||
CloudregionId string `json:"cloudregion_id"`
|
||||
CloudregionId string
|
||||
// swagger:ignore
|
||||
BackupMode string `json:"backup_mode"`
|
||||
BackupMode string
|
||||
// swagger:ignore
|
||||
ManagerId string `json:"manager_id"`
|
||||
ManagerId string
|
||||
}
|
||||
|
||||
type DBInstanceBackupDetails struct {
|
||||
|
||||
@@ -21,7 +21,7 @@ type SDBInstanceDatabasePrivilege struct {
|
||||
// required: true
|
||||
Account string `json:"account"`
|
||||
// swagger:ignore
|
||||
DBInstanceaccountId string `json:"db_instanceaccount_id"`
|
||||
DBInstanceaccountId string
|
||||
// 权限
|
||||
//
|
||||
//
|
||||
|
||||
@@ -307,11 +307,11 @@ type DiskUpdateInput struct {
|
||||
}
|
||||
|
||||
type DiskSaveInput struct {
|
||||
Name string `json:"name"`
|
||||
Format string `json:"format"`
|
||||
Name string
|
||||
Format string
|
||||
|
||||
// swagger:ignore
|
||||
ImageId string `json:"image_id"`
|
||||
// swagger: ignore
|
||||
ImageId string
|
||||
}
|
||||
|
||||
type DiskResizeInput struct {
|
||||
@@ -328,48 +328,48 @@ func (self DiskResizeInput) SizeMb() (int, error) {
|
||||
}
|
||||
|
||||
type DiskAllocateInput struct {
|
||||
Format string `json:"format"`
|
||||
DiskSizeMb int `json:"disk_size_mb"`
|
||||
ImageId string `json:"image_id"`
|
||||
ImageFormat string `json:"image_format"`
|
||||
FsFormat string `json:"fs_format"`
|
||||
FsFeatures *DiskFsFeatures `json:"fs_features"`
|
||||
Rebuild bool `json:"rebuild"`
|
||||
BackingDiskId string `json:"backing_disk_id"`
|
||||
SnapshotId string `json:"snapshot_id"`
|
||||
Format string
|
||||
DiskSizeMb int
|
||||
ImageId string
|
||||
ImageFormat string
|
||||
FsFormat string
|
||||
FsFeatures *DiskFsFeatures
|
||||
Rebuild bool
|
||||
BackingDiskId string
|
||||
SnapshotId string
|
||||
|
||||
BackupId string `json:"backup_id"`
|
||||
Backup *DiskAllocateFromBackupInput `json:"backup"`
|
||||
BackupId string
|
||||
Backup *DiskAllocateFromBackupInput
|
||||
|
||||
SnapshotUrl string `json:"snapshot_url"`
|
||||
Protocol string `json:"protocol"`
|
||||
SrcDiskId string `json:"src_disk_id"`
|
||||
SrcPool string `json:"src_pool"`
|
||||
ExistingPath string `json:"existing_path"`
|
||||
SnapshotUrl string
|
||||
Protocol string
|
||||
SrcDiskId string
|
||||
SrcPool string
|
||||
ExistingPath string
|
||||
|
||||
// vmware
|
||||
HostIp string `json:"host_ip"`
|
||||
Datastore vcenter.SVCenterAccessInfo `json:"datastore"`
|
||||
HostIp string
|
||||
Datastore vcenter.SVCenterAccessInfo
|
||||
|
||||
// encryption
|
||||
Encryption bool `json:"encryption"`
|
||||
EncryptInfo apis.SEncryptInfo `json:"encrypt_info"`
|
||||
Encryption bool
|
||||
EncryptInfo apis.SEncryptInfo
|
||||
}
|
||||
|
||||
type DiskAllocateFromBackupInput struct {
|
||||
BackupId string `json:"backup_id"`
|
||||
BackupStorageId string `json:"backup_storage_id"`
|
||||
BackupStorageAccessInfo *SBackupStorageAccessInfo `json:"backup_storage_access_info"`
|
||||
DiskConfig *DiskConfig `json:"disk_config"`
|
||||
BackupAsTar *DiskBackupAsTarInput `json:"backup_as_tar"`
|
||||
BackupFilePath string `json:"backup_file_path"`
|
||||
BackupId string
|
||||
BackupStorageId string
|
||||
BackupStorageAccessInfo *jsonutils.JSONDict
|
||||
DiskConfig *DiskConfig `json:"disk_config"`
|
||||
BackupAsTar *DiskBackupAsTarInput `json:"backup_as_tar"`
|
||||
}
|
||||
|
||||
type DiskDeleteInput struct {
|
||||
SkipRecycle *bool `json:"skip_recycle"`
|
||||
EsxiFlatFilePath string `json:"esxi_flat_file_path"`
|
||||
CleanSnapshots bool `json:"clean_snapshots"`
|
||||
SnapshotIds []string `json:"snapshot_ids"`
|
||||
SkipRecycle *bool
|
||||
EsxiFlatFilePath string
|
||||
CleanSnapshots bool
|
||||
|
||||
SnapshotIds []string
|
||||
}
|
||||
|
||||
type DiskResetInput struct {
|
||||
|
||||
@@ -184,7 +184,7 @@ type ElasticcacheCreateInput struct {
|
||||
// 主可用区名称或Id
|
||||
ZoneId string `json:"zone_id"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Zone string `json:"zone" yunion-deprecated-by:"zone_id"`
|
||||
|
||||
// 备可用区名称或Id列表, split by: ,
|
||||
@@ -197,7 +197,7 @@ type ElasticcacheCreateInput struct {
|
||||
// required: true
|
||||
NetworkId string `json:"network_id"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Network string `json:"network" yunion-deprecated-by:"network_id"`
|
||||
|
||||
// 网络类型
|
||||
@@ -220,7 +220,7 @@ type ElasticcacheCreateInput struct {
|
||||
|
||||
NodeType string `json:"node_type"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
MemorySizeMb int `json:"memory_size_mb" yunion-deprecated-by:"capacity_mb"`
|
||||
|
||||
// 初始密码
|
||||
@@ -239,10 +239,10 @@ type ElasticcacheCreateInput struct {
|
||||
PrivateIp string `json:"private_ip"`
|
||||
|
||||
// swagger:ignore
|
||||
VpcId string `json:"vpc_id"`
|
||||
VpcId string
|
||||
|
||||
// swagger:ignore
|
||||
ManagerId string `json:"manager_id"`
|
||||
ManagerId string
|
||||
|
||||
// 包年包月时间周期
|
||||
Duration string `json:"duration"`
|
||||
@@ -258,7 +258,7 @@ type ElasticcacheCreateInput struct {
|
||||
// enum: ["postpaid", "prepaid"]
|
||||
BillingType billing_api.TBillingType `json:"billing_type"`
|
||||
// swagger:ignore
|
||||
BillingCycle string `json:"billing_cycle"`
|
||||
BillingCycle string
|
||||
|
||||
// 弹性缓存维护时间段
|
||||
// 华为云此参数可选,其它云该参数无效
|
||||
|
||||
@@ -106,9 +106,9 @@ type FileSystemDetails struct {
|
||||
ManagedResourceInfo
|
||||
CloudregionResourceInfo
|
||||
|
||||
Vpc string `json:"vpc"`
|
||||
Network string `json:"network"`
|
||||
Zone string `json:"zone"`
|
||||
Vpc string
|
||||
Network string
|
||||
Zone string
|
||||
}
|
||||
|
||||
type FileSystemRemoteUpdateInput struct {
|
||||
|
||||
@@ -159,11 +159,11 @@ type ZoneListInput struct {
|
||||
Location []string `json:"location"`
|
||||
Contacts []string `json:"contacts"`
|
||||
|
||||
OrderByWires string `json:"order_by_wires"`
|
||||
OrderByHosts string `json:"order_by_hosts"`
|
||||
OrderByHostsEnabled string `json:"order_by_hosts_enabled"`
|
||||
OrderByBaremetals string `json:"order_by_baremetals"`
|
||||
OrderByBaremetalsEnabled string `json:"order_by_baremetals_enabled"`
|
||||
OrderByWires string
|
||||
OrderByHosts string
|
||||
OrderByHostsEnabled string
|
||||
OrderByBaremetals string
|
||||
OrderByBaremetalsEnabled string
|
||||
}
|
||||
|
||||
type ZoneResourceInput struct {
|
||||
|
||||
@@ -33,8 +33,8 @@ type GroupJointsListInput struct {
|
||||
type GroupguestDetails struct {
|
||||
GroupJointResourceDetails
|
||||
|
||||
Server string `json:"server"`
|
||||
Guest string `json:"guest"`
|
||||
Server string
|
||||
Guest string
|
||||
|
||||
SGroupguest
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ type GuestDiskDetails struct {
|
||||
SGuestdisk
|
||||
|
||||
// 磁盘名称
|
||||
Disk string `json:"disk"`
|
||||
Disk string
|
||||
|
||||
// 存储类型
|
||||
// example: local
|
||||
|
||||
@@ -15,38 +15,38 @@
|
||||
package compute
|
||||
|
||||
type SSubImage struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
MinDiskMB int32 `json:"min_disk_mb"`
|
||||
DiskFormat string `json:"disk_format"`
|
||||
Id string
|
||||
Name string
|
||||
MinDiskMB int32
|
||||
DiskFormat string
|
||||
}
|
||||
|
||||
type SImagesInGuest struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
RootImage SSubImage `json:"root_image"`
|
||||
DataImages []SSubImage `json:"data_images"`
|
||||
Id string
|
||||
Name string
|
||||
RootImage SSubImage
|
||||
DataImages []SSubImage
|
||||
}
|
||||
|
||||
type SGuestScreenDumpInfo struct {
|
||||
S3AccessKey string `json:"s3_access_key"`
|
||||
S3SecretKey string `json:"s3_secret_key"`
|
||||
S3Endpoint string `json:"s3_endpoint"`
|
||||
S3BucketName string `json:"s3_bucket_name"`
|
||||
S3ObjectName string `json:"s3_object_name"`
|
||||
S3UseSSL bool `json:"s3_use_ssl"`
|
||||
S3AccessKey string
|
||||
S3SecretKey string
|
||||
S3Endpoint string
|
||||
S3BucketName string
|
||||
S3ObjectName string
|
||||
S3UseSSL bool
|
||||
}
|
||||
|
||||
type GuestScreenDumpListInput struct {
|
||||
Server string `json:"server"`
|
||||
Server string
|
||||
}
|
||||
|
||||
type GetDetailsGuestScreenDumpInput struct {
|
||||
ObjectName string `json:"object_name"`
|
||||
ObjectName string
|
||||
}
|
||||
|
||||
type GetDetailsGuestScreenDumpOutput struct {
|
||||
GuestId string `json:"guest_id"`
|
||||
Name string `json:"name"`
|
||||
ScreenDump string `json:"screen_dump"`
|
||||
GuestId string
|
||||
Name string
|
||||
ScreenDump string
|
||||
}
|
||||
|
||||
@@ -22,54 +22,54 @@ const (
|
||||
)
|
||||
|
||||
type GuestSshableMethodData struct {
|
||||
Method string `json:"method"`
|
||||
Host string `json:"host"`
|
||||
Port int `json:"port"`
|
||||
Method string
|
||||
Host string
|
||||
Port int
|
||||
|
||||
Sshable bool `json:"sshable"`
|
||||
Reason string `json:"reason"`
|
||||
Sshable bool
|
||||
Reason string
|
||||
|
||||
ForwardDetails ForwardDetails `json:"forward_details"`
|
||||
ForwardDetails ForwardDetails
|
||||
}
|
||||
|
||||
type ForwardDetails struct {
|
||||
ProxyAgentId string `json:"proxy_agent_id"`
|
||||
ProxyEndpointId string `json:"proxy_endpoint_id"`
|
||||
ProxyAgentId string
|
||||
ProxyEndpointId string
|
||||
}
|
||||
|
||||
type GuestSshableOutput struct {
|
||||
User string `json:"user"`
|
||||
PublicKey string `json:"public_key"`
|
||||
User string
|
||||
PublicKey string
|
||||
|
||||
MethodTried []GuestSshableMethodData `json:"method_tried"`
|
||||
MethodTried []GuestSshableMethodData
|
||||
}
|
||||
|
||||
type GuestHaveAgentInput struct {
|
||||
}
|
||||
|
||||
type GuestHaveAgentOutput struct {
|
||||
Have bool `json:"have"`
|
||||
Have bool
|
||||
}
|
||||
|
||||
type GuestMakeSshableInput struct {
|
||||
User string `json:"user"`
|
||||
PrivateKey string `json:"private_key"`
|
||||
Password string `json:"password"`
|
||||
Port int `json:"port"`
|
||||
User string
|
||||
PrivateKey string
|
||||
Password string
|
||||
Port int
|
||||
}
|
||||
|
||||
type GuestMakeSshableOutput struct {
|
||||
AnsiblePlaybookId string `json:"ansible_playbook_id"`
|
||||
AnsiblePlaybookId string
|
||||
}
|
||||
|
||||
type GuestMakeSshableCmdOutput struct {
|
||||
ShellCmd string `json:"shell_cmd"`
|
||||
ShellCmd string
|
||||
}
|
||||
|
||||
type GuestSetSshportInput struct {
|
||||
Port int `json:"port"`
|
||||
Port int
|
||||
}
|
||||
|
||||
type GuestSshportOutput struct {
|
||||
Port int `json:"port"`
|
||||
Port int
|
||||
}
|
||||
|
||||
@@ -216,10 +216,10 @@ type GuestnetworkSecgroupDesc struct {
|
||||
}
|
||||
|
||||
type SNicTrafficRecord struct {
|
||||
RxTraffic int64 `json:"rx_traffic"`
|
||||
TxTraffic int64 `json:"tx_traffic"`
|
||||
RxTraffic int64
|
||||
TxTraffic int64
|
||||
|
||||
HasBeenSetDown bool `json:"has_been_set_down"`
|
||||
HasBeenSetDown bool
|
||||
}
|
||||
|
||||
type GuestNicTrafficSyncInput struct {
|
||||
|
||||
@@ -84,7 +84,6 @@ type ServerListInput struct {
|
||||
|
||||
OrderByIp string `json:"order_by_ip"`
|
||||
// 根据ip查找机器
|
||||
// swagger:ignore
|
||||
IpAddr string `json:"ip_addr" yunion-deprecated-by:"ip_addrs"`
|
||||
// 根据多个ip查找机器
|
||||
IpAddrs []string `json:"ip_addrs"`
|
||||
@@ -96,7 +95,6 @@ type ServerListInput struct {
|
||||
AttachableServersForDisk string `json:"attachable_servers_for_disk"`
|
||||
// Deprecated
|
||||
// 列出可以挂载磁盘的主机
|
||||
// swagger:ignore
|
||||
Disk string `json:"disk" yunion-deprecated-by:"attachable_servers_for_disk"`
|
||||
|
||||
// 按主机资源类型进行排序
|
||||
@@ -159,13 +157,13 @@ func (input *ServerListInput) AfterUnmarshal() {
|
||||
type ServerRebuildRootInput struct {
|
||||
apis.Meta
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Image string `json:"image" yunion-deprecated-by:"image_id"`
|
||||
// 关机且停机不收费情况下不允许重装系统
|
||||
// 镜像 id
|
||||
// required: true
|
||||
ImageId string `json:"image_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
// Keypair string `json:"keypair" yunion-deprecated-by:"keypair_id"`
|
||||
// 秘钥Id
|
||||
// KeypairId string `json:"keypair_id"`
|
||||
@@ -560,7 +558,7 @@ type GuestSyncFixNicsInput struct {
|
||||
}
|
||||
|
||||
type GuestMigrateInput struct {
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
PreferHost string `json:"prefer_host" yunion-deprecated-by:"prefer_host_id"`
|
||||
PreferHostId string `json:"prefer_host_id"`
|
||||
AutoStart bool `json:"auto_start"`
|
||||
@@ -568,7 +566,7 @@ type GuestMigrateInput struct {
|
||||
}
|
||||
|
||||
type GuestLiveMigrateInput struct {
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
PreferHost string `json:"prefer_host" yunion-deprecated-by:"prefer_host_id"`
|
||||
// 指定期望的迁移目标宿主机
|
||||
PreferHostId string `json:"prefer_host_id"`
|
||||
@@ -731,28 +729,28 @@ type ServerRestartInput struct {
|
||||
|
||||
type ServerSaveImageInput struct {
|
||||
// 镜像名称
|
||||
Name string `json:"name"`
|
||||
GenerateName string `json:"generate_name"`
|
||||
Notes string `json:"notes"`
|
||||
IsPublic *bool `json:"is_public"`
|
||||
Name string
|
||||
GenerateName string
|
||||
Notes string
|
||||
IsPublic *bool
|
||||
// 镜像格式
|
||||
Format string `json:"format"`
|
||||
Format string
|
||||
|
||||
// 保存镜像后是否自动启动,若实例状态为运行中,则会先关闭实例
|
||||
// 公有云若支持开机保存镜像,此参数则不生效
|
||||
// default: false
|
||||
AutoStart bool `json:"auto_start"`
|
||||
// swagger:ignore
|
||||
Restart bool `json:"restart"`
|
||||
AutoStart bool
|
||||
// swagger: ignore
|
||||
Restart bool
|
||||
|
||||
// swagger:ignore
|
||||
OsType string `json:"os_type"`
|
||||
// swagger: ignore
|
||||
OsType string
|
||||
|
||||
// swagger:ignore
|
||||
OsArch string `json:"os_arch"`
|
||||
// swagger: ignore
|
||||
OsArch string
|
||||
|
||||
// swagger:ignore
|
||||
ImageId string `json:"image_id"`
|
||||
// swagger: ignore
|
||||
ImageId string
|
||||
}
|
||||
|
||||
type ServerSaveGuestImageInput struct {
|
||||
@@ -765,23 +763,23 @@ type ServerSaveGuestImageInput struct {
|
||||
type ServerDeleteInput struct {
|
||||
// 是否越过回收站直接删除
|
||||
// default: false
|
||||
OverridePendingDelete bool `json:"override_pending_delete"`
|
||||
OverridePendingDelete bool
|
||||
|
||||
// 是否仅删除本地资源
|
||||
// default: false
|
||||
Purge bool `json:"purge"`
|
||||
Purge bool
|
||||
|
||||
// 是否删除快照
|
||||
// default: false
|
||||
DeleteSnapshots bool `json:"delete_snapshots"`
|
||||
DeleteSnapshots bool
|
||||
|
||||
// 是否删除关联的EIP
|
||||
// default: false
|
||||
DeleteEip bool `json:"delete_eip"`
|
||||
DeleteEip bool
|
||||
|
||||
// 是否删除关联的数据盘
|
||||
// default: false
|
||||
DeleteDisks bool `json:"delete_disks"`
|
||||
DeleteDisks bool
|
||||
}
|
||||
|
||||
type ServerDetachnetworkInput struct {
|
||||
@@ -815,7 +813,6 @@ type ServerSetNetworkNumQueuesInput struct {
|
||||
type ServerMigrateForecastInput struct {
|
||||
PreferHostId string `json:"prefer_host_id"`
|
||||
// Deprecated
|
||||
// swagger:ignore
|
||||
PreferHost string `json:"prefer_host" yunion-deprecated-by:"prefer_host_id"`
|
||||
LiveMigrate bool `json:"live_migrate"`
|
||||
SkipCpuCheck bool `json:"skip_cpu_check"`
|
||||
@@ -826,7 +823,7 @@ type ServerMigrateForecastInput struct {
|
||||
}
|
||||
|
||||
type ServerResizeDiskInput struct {
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Disk string `json:"disk" yunion-deprecated-by:"disk_id"`
|
||||
// 磁盘Id
|
||||
DiskId string `json:"disk_id"`
|
||||
@@ -853,7 +850,7 @@ type ServerDeployInput struct {
|
||||
}
|
||||
|
||||
type ServerDeployInputBase struct {
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Keypair string `json:"keypair" yunion-deprecated-by:"keypair_id"`
|
||||
// 秘钥Id
|
||||
KeypairId string `json:"keypair_id"`
|
||||
@@ -872,15 +869,15 @@ type ServerDeployInputBase struct {
|
||||
// 支持特殊user data平台: Aliyun, Qcloud, Azure, Apsara, Ucloud
|
||||
// required: false
|
||||
UserData string `json:"user_data"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
LoginAccount string `json:"login_account"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Restart bool `json:"restart"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
DeployConfigs []*DeployConfig `json:"deploy_configs"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
DeployTelegraf bool `json:"deploy_telegraf"`
|
||||
}
|
||||
|
||||
@@ -906,9 +903,9 @@ type ServerChangeConfigInput struct {
|
||||
// 关机且停机不收费情况下不允许调整配置
|
||||
// 实例类型, 优先级高于vcpu_count和vmem_size
|
||||
InstanceType string `json:"instance_type"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Sku string `json:"sku" yunion-deprecated-by:"instance_type"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Flavor string `json:"flavor" yunion-deprecated-by:"instance_type"`
|
||||
|
||||
// cpu卡槽数
|
||||
@@ -934,8 +931,8 @@ type ServerChangeConfigInput struct {
|
||||
// disks start from index 1, i.e. cannot change size of system disk(1st disk)
|
||||
Disks []DiskConfig `json:"disks"`
|
||||
|
||||
SetTrafficLimits []ServerNicTrafficLimit `json:"set_traffic_limits"`
|
||||
ResetTrafficLimits []ServerNicTrafficLimit `json:"reset_traffic_limits"`
|
||||
SetTrafficLimits []ServerNicTrafficLimit
|
||||
ResetTrafficLimits []ServerNicTrafficLimit
|
||||
}
|
||||
|
||||
type ServerUpdateInput struct {
|
||||
@@ -959,7 +956,7 @@ type ServerUpdateInput struct {
|
||||
|
||||
SshPort int `json:"ssh_port"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
ProgressMbps float32 `json:"progress_mbps"`
|
||||
}
|
||||
|
||||
@@ -1054,8 +1051,8 @@ type GuestJsonDesc struct {
|
||||
}
|
||||
|
||||
type SVCpuPin struct {
|
||||
Vcpu int `json:"vcpu"`
|
||||
Pcpu int `json:"pcpu"`
|
||||
Vcpu int
|
||||
Pcpu int
|
||||
}
|
||||
|
||||
type SCpuNumaPin struct {
|
||||
@@ -1210,8 +1207,8 @@ type ServerGetCPUSetCoresResp struct {
|
||||
type ServerGetNumaInfoInput struct{}
|
||||
|
||||
type ServerGetNumaInfoResp struct {
|
||||
CpuNumaPin jsonutils.JSONObject `json:"cpu_numa_pin"`
|
||||
IsolatedDevicesNumaNode []int8 `json:"isolated_devices_numa_node"`
|
||||
CpuNumaPin jsonutils.JSONObject
|
||||
IsolatedDevicesNumaNode []int8
|
||||
}
|
||||
|
||||
type ServerGetHardwareInfoInput struct{}
|
||||
@@ -1267,8 +1264,8 @@ type ServerGetHardwareInfoResp struct {
|
||||
}
|
||||
|
||||
type ServerMonitorInput struct {
|
||||
COMMAND string `json:"command"`
|
||||
QMP bool `json:"qmp"`
|
||||
COMMAND string
|
||||
QMP bool
|
||||
}
|
||||
|
||||
type ServerQemuInfo struct {
|
||||
@@ -1299,8 +1296,8 @@ type IfnameDetail struct {
|
||||
}
|
||||
|
||||
type ServerQgaSetPasswordInput struct {
|
||||
Username string `json:"username"`
|
||||
Password string `json:"password"`
|
||||
Username string
|
||||
Password string
|
||||
}
|
||||
|
||||
type ServerQgaGuestInfoTaskInput struct {
|
||||
@@ -1308,11 +1305,11 @@ type ServerQgaGuestInfoTaskInput struct {
|
||||
|
||||
type ServerQgaSetNetworkInput struct {
|
||||
ServerQgaTimeoutInput
|
||||
Device string `json:"device"`
|
||||
Ipmask string `json:"ipmask"`
|
||||
Gateway string `json:"gateway"`
|
||||
Ip6mask string `json:"ip6mask"`
|
||||
Gateway6 string `json:"gateway6"`
|
||||
Device string
|
||||
Ipmask string
|
||||
Gateway string
|
||||
Ip6mask string
|
||||
Gateway6 string
|
||||
}
|
||||
|
||||
type ServerQgaGetNetworkInput struct {
|
||||
@@ -1320,21 +1317,21 @@ type ServerQgaGetNetworkInput struct {
|
||||
|
||||
type ServerQgaTimeoutInput struct {
|
||||
// qga execute timeout second
|
||||
Timeout int `json:"timeout"`
|
||||
Timeout int
|
||||
}
|
||||
|
||||
type ServerQgaCommandInput struct {
|
||||
ServerQgaTimeoutInput
|
||||
Command string `json:"command"`
|
||||
Command string
|
||||
}
|
||||
|
||||
type ServerSetPasswordInput struct {
|
||||
Username string `json:"username"`
|
||||
Password string `json:"password"`
|
||||
Username string
|
||||
Password string
|
||||
|
||||
// deploy params
|
||||
ResetPassword bool `json:"reset_password"`
|
||||
AutoStart bool `json:"auto_start"`
|
||||
ResetPassword bool
|
||||
AutoStart bool
|
||||
}
|
||||
|
||||
type ServerInsertVfdInput struct {
|
||||
@@ -1528,9 +1525,9 @@ type ServerChangeConfigSpecs struct {
|
||||
}
|
||||
|
||||
type DiskResizeSpec struct {
|
||||
DiskId string `json:"disk_id"`
|
||||
SizeMb int `json:"size_mb"`
|
||||
OldSizeMb int `json:"old_size_mb"`
|
||||
DiskId string
|
||||
SizeMb int
|
||||
OldSizeMb int
|
||||
}
|
||||
|
||||
type ServerChangeConfigSettings struct {
|
||||
|
||||
@@ -19,6 +19,7 @@ import (
|
||||
|
||||
cloudmux "yunion.io/x/cloudmux/pkg/apis/compute"
|
||||
"yunion.io/x/jsonutils"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/apis"
|
||||
billing_api "yunion.io/x/onecloud/pkg/apis/billing"
|
||||
"yunion.io/x/onecloud/pkg/cloudcommon/types"
|
||||
@@ -268,9 +269,9 @@ type HostDetails struct {
|
||||
// reserved resource for isolated device
|
||||
ReservedResourceForGpu *IsolatedDeviceReservedResourceInput `json:"reserved_resource_for_gpu"`
|
||||
// isolated device count
|
||||
IsolatedDeviceCount int `json:"isolated_device_count"`
|
||||
IsolatedDeviceTypeCount map[string]int `json:"isolated_device_type_count"`
|
||||
GuestPinnedCpus []int `json:"guest_pinned_cpus"`
|
||||
IsolatedDeviceCount int
|
||||
IsolatedDeviceTypeCount map[string]int
|
||||
GuestPinnedCpus []int
|
||||
|
||||
// host init warnning
|
||||
SysWarn string `json:"sys_warn"`
|
||||
@@ -607,8 +608,8 @@ type HostUpdateInput struct {
|
||||
}
|
||||
|
||||
type HostOfflineInput struct {
|
||||
UpdateHealthStatus *bool `json:"update_health_status"`
|
||||
Reason string `json:"reason"`
|
||||
UpdateHealthStatus *bool `json:"update_health_status"`
|
||||
Reason string
|
||||
}
|
||||
|
||||
type SHostStorageStat struct {
|
||||
@@ -643,8 +644,8 @@ type SHostReportDmesgInput struct {
|
||||
}
|
||||
|
||||
type HostReserveCpusInput struct {
|
||||
Cpus string `json:"cpus"`
|
||||
Mems string `json:"mems"`
|
||||
Cpus string
|
||||
Mems string
|
||||
DisableSchedLoadBalance *bool `json:"disable_sched_load_balance"`
|
||||
ProcessesPrefix []string `json:"processes_prefix"`
|
||||
}
|
||||
@@ -701,7 +702,6 @@ type HostEnableNetifInput struct {
|
||||
HostNetifInput
|
||||
|
||||
// Deprecated
|
||||
// swagger:ignore
|
||||
Network string `json:"network" yunion-deprecated-by:"network_id"`
|
||||
NetworkId string `json:"network_id"`
|
||||
|
||||
@@ -735,15 +735,15 @@ type HostRemoveNetifInput struct {
|
||||
}
|
||||
|
||||
type HostError struct {
|
||||
Type string `json:"type"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Content string `json:"content"`
|
||||
Time time.Time `json:"time"`
|
||||
Type string
|
||||
Id string
|
||||
Name string
|
||||
Content string
|
||||
Time time.Time
|
||||
}
|
||||
|
||||
type HostSyncErrorsInput struct {
|
||||
HostErrors []HostError `json:"host_errors"`
|
||||
HostErrors []HostError
|
||||
}
|
||||
|
||||
type HostLoginInfoInput struct {
|
||||
|
||||
@@ -63,7 +63,7 @@ type STapServiceConfig struct {
|
||||
|
||||
Ifname string `json:"ifname"`
|
||||
|
||||
Mirrors []SMirrorConfig `json:"mirrors"`
|
||||
Mirrors []SMirrorConfig
|
||||
}
|
||||
|
||||
type SHostTapConfig struct {
|
||||
|
||||
@@ -149,7 +149,6 @@ type SnapshotPolicyListInput struct {
|
||||
OrderByBindDiskCount string `json:"order_by_bind_disk_count"`
|
||||
OrderBySnapshotCount string `json:"order_by_snapshot_count"`
|
||||
// 按类型过滤
|
||||
// example: disk, server
|
||||
Type string `json:"type"`
|
||||
|
||||
ResourceId []string `json:"resource_id"`
|
||||
|
||||
@@ -95,31 +95,20 @@ type SSimpleBackup struct {
|
||||
EncryptKeyId string `json:"encrypt_key_id"`
|
||||
// 创建时间
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
// 备份文件路径
|
||||
BackupFilePath string `json:"backup_file_path"`
|
||||
}
|
||||
|
||||
type InstanceBackupRecoveryInput struct {
|
||||
// description: name of guest
|
||||
Name string `json:"name"`
|
||||
Name string
|
||||
}
|
||||
|
||||
type InstanceBackupPackInput struct {
|
||||
PackageName string `json:"package_name"`
|
||||
PackageName string
|
||||
}
|
||||
|
||||
type InstanceBackupManagerCreateFromPackageInput struct {
|
||||
apis.VirtualResourceCreateInput
|
||||
|
||||
BackupStorageId string `json:"backup_storage_id"`
|
||||
PackageName string `json:"package_name"`
|
||||
}
|
||||
|
||||
type SStoragePackInstanceBackup struct {
|
||||
PackageName string `json:"package_name"`
|
||||
BackupStorageId string `json:"backup_storage_id"`
|
||||
BackupStorageAccessInfo *SBackupStorageAccessInfo `json:"backup_storage_access_info"`
|
||||
BackupIds []string `json:"backup_ids"`
|
||||
Metadata *InstanceBackupPackMetadata `json:"metadata"`
|
||||
DiskBackups []SSimpleBackup `json:"disk_backups"`
|
||||
BackupStorageId string
|
||||
PackageName string
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ type InterVpcNetworkAddVpcInput struct {
|
||||
}
|
||||
|
||||
type InterVpcNetworkRemoveVpcInput struct {
|
||||
VpcId string `json:"vpc_id"`
|
||||
VpcId string
|
||||
}
|
||||
|
||||
type InterVpcNetworkFilterListBase struct {
|
||||
|
||||
@@ -38,6 +38,6 @@ type InterVpcNetworkRouteSetListInput struct {
|
||||
apis.EnabledStatusStandaloneResourceListInput
|
||||
apis.ExternalizedResourceBaseListInput
|
||||
VpcFilterListInput
|
||||
InterVpcNetworkId string `json:"inter_vpc_network_id"`
|
||||
InterVpcNetworkId string
|
||||
Cidr string `json:"cidr"`
|
||||
}
|
||||
|
||||
@@ -312,8 +312,8 @@ const (
|
||||
)
|
||||
|
||||
type PCIEVersionThroughput struct {
|
||||
Version string `json:"version"`
|
||||
Throughput float64 `json:"throughput"`
|
||||
Version string
|
||||
Throughput float64
|
||||
}
|
||||
|
||||
func NewPCIEVersionThroughput(version string) PCIEVersionThroughput {
|
||||
@@ -395,12 +395,12 @@ type HostIsolatedDeviceModelDetails struct {
|
||||
// 存储Id
|
||||
IsolatedDeviceModelId string `json:"isolated_device_model_id"`
|
||||
|
||||
Model string `json:"model"`
|
||||
VendorId string `json:"vendor_id"`
|
||||
DeviceId string `json:"device_id"`
|
||||
DevType string `json:"dev_type"`
|
||||
HotPluggable bool `json:"hot_pluggable"`
|
||||
DisableAutoDetect bool `json:"disable_auto_detect"`
|
||||
Model string
|
||||
VendorId string
|
||||
DeviceId string
|
||||
DevType string
|
||||
HotPluggable bool
|
||||
DisableAutoDetect bool
|
||||
}
|
||||
|
||||
type IsolatedDeviceFilterListInput struct {
|
||||
|
||||
@@ -50,9 +50,6 @@ const (
|
||||
VASTAITECH_VENDOR_ID = "1ec6"
|
||||
HYGON_VENDOR_ID = "1d94"
|
||||
ASCEND_VENDOR_ID = "19e5"
|
||||
ILUVATAR_VENDOR_ID = "1e3e"
|
||||
THEAD_VENDOR_ID = "1ded"
|
||||
KUNLUNXIN_VENDOR_ID = "1d22"
|
||||
)
|
||||
|
||||
var ID_VENDOR_MAP = map[string]string{
|
||||
@@ -61,9 +58,6 @@ var ID_VENDOR_MAP = map[string]string{
|
||||
VASTAITECH_VENDOR_ID: "VASTAITECH",
|
||||
ASCEND_VENDOR_ID: "ASCEND",
|
||||
HYGON_VENDOR_ID: "HYGON",
|
||||
ILUVATAR_VENDOR_ID: "ILUVATAR",
|
||||
THEAD_VENDOR_ID: "THEAD",
|
||||
KUNLUNXIN_VENDOR_ID: "KUNLUNXIN",
|
||||
}
|
||||
|
||||
var VENDOR_ID_MAP = map[string]string{
|
||||
@@ -72,9 +66,6 @@ var VENDOR_ID_MAP = map[string]string{
|
||||
"VASTAITECH": VASTAITECH_VENDOR_ID,
|
||||
"ASCEND": ASCEND_VENDOR_ID,
|
||||
"HYGON": HYGON_VENDOR_ID,
|
||||
"ILUVATAR": ILUVATAR_VENDOR_ID,
|
||||
"THEAD": THEAD_VENDOR_ID,
|
||||
"KUNLUNXIN": KUNLUNXIN_VENDOR_ID,
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -100,9 +91,6 @@ var GPU_TYPES = []string{
|
||||
CONTAINER_DEV_CPH_AMD_GPU, CONTAINER_DEV_NVIDIA_GPU, CONTAINER_DEV_NVIDIA_MPS, CONTAINER_DEV_NVIDIA_GPU_SHARE,
|
||||
CONTAINER_DEV_NVIDIA_HAMI, CONTAINER_DEV_VASTAITECH_GPU,
|
||||
CONTAINER_DEV_HYGON_DCU, CONTAINER_DEV_HYGON_DCU_HAMI,
|
||||
CONTAINER_DEV_ILUVATAR_GPU,
|
||||
CONTAINER_DEV_THEAD_PPU,
|
||||
CONTAINER_DEV_KUNLUNXIN_XPU,
|
||||
}
|
||||
|
||||
var NETINT_TYPES = []string{
|
||||
@@ -114,9 +102,6 @@ var VALID_CONTAINER_DEVICE_TYPES = []string{
|
||||
CONTAINER_DEV_NETINT_CA_ASIC, CONTAINER_DEV_NVIDIA_GPU, CONTAINER_DEV_NVIDIA_MPS, CONTAINER_DEV_NVIDIA_GPU_SHARE, CONTAINER_DEV_NVIDIA_HAMI,
|
||||
CONTAINER_DEV_ASCEND_NPU, CONTAINER_DEV_VASTAITECH_GPU,
|
||||
CONTAINER_DEV_HYGON_DCU, CONTAINER_DEV_HYGON_DCU_HAMI,
|
||||
CONTAINER_DEV_ILUVATAR_GPU,
|
||||
CONTAINER_DEV_THEAD_PPU,
|
||||
CONTAINER_DEV_KUNLUNXIN_XPU,
|
||||
}
|
||||
|
||||
var VALID_PASSTHROUGH_TYPES = []string{
|
||||
@@ -137,9 +122,6 @@ var VITRUAL_DEVICE_TYPES = []string{
|
||||
CONTAINER_DEV_VASTAITECH_GPU,
|
||||
CONTAINER_DEV_HYGON_DCU,
|
||||
CONTAINER_DEV_HYGON_DCU_HAMI,
|
||||
CONTAINER_DEV_ILUVATAR_GPU,
|
||||
CONTAINER_DEV_THEAD_PPU,
|
||||
CONTAINER_DEV_KUNLUNXIN_XPU,
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
||||
@@ -31,10 +31,10 @@ type KeypairCreateInput struct {
|
||||
PublicKey string `json:"public_key"`
|
||||
|
||||
// swagger:ignore
|
||||
PrivateKey string `json:"private_key"`
|
||||
PrivateKey string
|
||||
|
||||
// swagger:ignore
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
Fingerprint string
|
||||
|
||||
// 秘钥类型
|
||||
// enum: ["RSA"]
|
||||
|
||||
@@ -30,7 +30,7 @@ type KubeNodeCreateInput struct {
|
||||
type KubeNodeDetails struct {
|
||||
apis.StatusStandaloneResourceDetails
|
||||
apis.InfrasResourceBaseDetails
|
||||
DomainId string `json:"domain_id"`
|
||||
DomainId string
|
||||
}
|
||||
|
||||
type KubeNodeUpdateInput struct {
|
||||
|
||||
@@ -47,14 +47,14 @@ type KubeNodePoolCreateInput struct {
|
||||
// 秘钥id,若不传,则使用系统级秘钥
|
||||
KeypairId string `json:"keypair_id"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
PublicKey string `json:"public_key"`
|
||||
}
|
||||
|
||||
type KubeNodePoolDetails struct {
|
||||
apis.StatusStandaloneResourceDetails
|
||||
apis.InfrasResourceBaseDetails
|
||||
DomainId string `json:"domain_id"`
|
||||
DomainId string
|
||||
}
|
||||
|
||||
type KubeNodePoolUpdateInput struct {
|
||||
|
||||
@@ -26,8 +26,8 @@ import (
|
||||
type LoadbalancerAgentDeployInput struct {
|
||||
apis.Meta
|
||||
|
||||
Host ansible.Host `json:"host"`
|
||||
DeployMethod string `json:"deploy_method"`
|
||||
Host ansible.Host
|
||||
DeployMethod string
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -186,7 +186,7 @@ type LoadbalancerCreateInput struct {
|
||||
// 是否跟随主机删除而自动释放
|
||||
EipAutoDellocate bool `json:"eip_auto_dellocate,omitempty"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Eip string `json:"eip" yunion-deprecated-by:"eip_id"`
|
||||
// EIP Id
|
||||
EipId string `json:"eip_id"`
|
||||
@@ -213,8 +213,8 @@ type LoadbalancerCreateInput struct {
|
||||
// Cloudregion string `json:"cloudregion"`
|
||||
NetworkResourceInput
|
||||
// 多子网
|
||||
// swagger:ignore
|
||||
Networks []string `json:"networks"`
|
||||
// swagger: ignore
|
||||
Networks []string
|
||||
// Network string `json:"network"`
|
||||
CloudproviderResourceInput
|
||||
// Manager string `json:"manager"`
|
||||
|
||||
@@ -39,21 +39,21 @@ type SLoadbalancerHealthCheckCreateInput struct {
|
||||
CloudregionResourceInput
|
||||
CloudproviderResourceInput
|
||||
|
||||
HealthCheckType string `json:"health_check_type"`
|
||||
HealthCheckType string
|
||||
|
||||
HealthCheckDomain string `json:"health_check_domain"`
|
||||
HealthCheckURI string `json:"health_check_uri"`
|
||||
HealthCheckHttpCode string `json:"health_check_http_code"`
|
||||
HealthCheckMethod string `json:"health_check_method"`
|
||||
HealthCheckPort int `json:"health_check_port"`
|
||||
HealthCheckDomain string
|
||||
HealthCheckURI string
|
||||
HealthCheckHttpCode string
|
||||
HealthCheckMethod string
|
||||
HealthCheckPort int
|
||||
|
||||
HealthCheckRise int `json:"health_check_rise"`
|
||||
HealthCheckFall int `json:"health_check_fall"`
|
||||
HealthCheckTimeout int `json:"health_check_timeout"`
|
||||
HealthCheckInterval int `json:"health_check_interval"`
|
||||
HealthCheckRise int
|
||||
HealthCheckFall int
|
||||
HealthCheckTimeout int
|
||||
HealthCheckInterval int
|
||||
|
||||
HealthCheckReq string `json:"health_check_req"`
|
||||
HealthCheckExp string `json:"health_check_exp"`
|
||||
HealthCheckReq string
|
||||
HealthCheckExp string
|
||||
}
|
||||
|
||||
type SLoadbalancerHealthCheckUpdateInput struct {
|
||||
|
||||
@@ -71,8 +71,8 @@ type LoadbalancerAclFilterListInput struct {
|
||||
}
|
||||
|
||||
type SAclEntry struct {
|
||||
Cidr string `json:"cidr"`
|
||||
Comment string `json:"comment"`
|
||||
Cidr string
|
||||
Comment string
|
||||
}
|
||||
|
||||
type SAclEntries []SAclEntry
|
||||
|
||||
@@ -53,11 +53,11 @@ type LoadbalancerBackendListInput struct {
|
||||
type LoadbalancerBackendCreateInput struct {
|
||||
apis.StatusStandaloneResourceCreateInput
|
||||
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
BackendGroup string `json:"backend_group" yunion-deprecated-by:"backend_group_id"`
|
||||
BackendGroupId string `json:"backend_group_id"`
|
||||
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
Backend string `json:"backend" yunion-deprecated-by:"backend_id"`
|
||||
BackendId string `json:"backend_id"`
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ type LoadbalancerBackendGroupFilterListInput struct {
|
||||
type LoadbalancerBackendGroupCreateInput struct {
|
||||
apis.StatusStandaloneResourceCreateInput
|
||||
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
Loadbalancer string `json:"loadbalancer" yunion-deprecated-by:"loadbalancer_id"`
|
||||
// 负载均衡ID
|
||||
LoadbalancerId string `json:"loadbalancer_id"`
|
||||
@@ -78,17 +78,17 @@ type LoadbalancerBackendGroupCreateInput struct {
|
||||
Type string `json:"type"`
|
||||
|
||||
Backends []struct {
|
||||
Index int `json:"index"`
|
||||
Weight int `json:"weight"`
|
||||
Port int `json:"port"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
ExternalId string `json:"external_id"`
|
||||
BackendType string `json:"backend_type"`
|
||||
BackendRole string `json:"backend_role"`
|
||||
Address string `json:"address"`
|
||||
ZoneId string `json:"zone_id"`
|
||||
HostName string `json:"host_name"`
|
||||
Index int
|
||||
Weight int
|
||||
Port int
|
||||
Id string
|
||||
Name string
|
||||
ExternalId string
|
||||
BackendType string
|
||||
BackendRole string
|
||||
Address string
|
||||
ZoneId string
|
||||
HostName string
|
||||
} `json:"backends"`
|
||||
}
|
||||
|
||||
@@ -106,11 +106,11 @@ type LoadbalancerBackendGroupListInput struct {
|
||||
|
||||
type ListenerRuleBackendGroup struct {
|
||||
// 后端服务器组组ID
|
||||
Id string `json:"id"`
|
||||
Id string
|
||||
// swagger:ignore
|
||||
Name string `json:"name"`
|
||||
Name string
|
||||
// swagger:ignore
|
||||
ExternalId string `json:"external_id"`
|
||||
ExternalId string
|
||||
}
|
||||
|
||||
type ListenerRuleBackendGroups []ListenerRuleBackendGroup
|
||||
@@ -124,8 +124,8 @@ func (groups ListenerRuleBackendGroups) IsZero() bool {
|
||||
}
|
||||
|
||||
type ListenerRuleRedirectPool struct {
|
||||
RegionPools map[string]ListenerRuleBackendGroups `json:"region_pools"`
|
||||
CountryPools map[string]ListenerRuleBackendGroups `json:"country_pools"`
|
||||
RegionPools map[string]ListenerRuleBackendGroups
|
||||
CountryPools map[string]ListenerRuleBackendGroups
|
||||
}
|
||||
|
||||
func (pool ListenerRuleRedirectPool) String() string {
|
||||
|
||||
@@ -78,20 +78,20 @@ type LoadbalancerCertificateCreateInput struct {
|
||||
|
||||
Certificate string `json:"certificate"`
|
||||
PrivateKey string `json:"private_key"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
PublicKeyAlgorithm string `json:"public_key_algorithm"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
PublicKeyBitLen int `json:"public_key_bit_len"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
SignatureAlgorithm string `json:"signature_algorithm"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
NotBefore time.Time `json:"not_before"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
NotAfter time.Time `json:"not_after"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
CommonName string `json:"common_name"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
SubjectAlternativeNames string `json:"subject_alternative_names"`
|
||||
}
|
||||
|
||||
@@ -93,12 +93,12 @@ type LoadbalancerListenerListInput struct {
|
||||
type LoadbalancerListenerCreateInput struct {
|
||||
apis.StatusStandaloneResourceCreateInput
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Loadbalancer string `json:"loadbalancer" yunion-deprecated-by:"loadbalancer_id"`
|
||||
// 负载均衡ID
|
||||
LoadbalancerId string `json:"loadbalancer_id"`
|
||||
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
BackendGroup string `json:"backend_group" yunion-deprecated-by:"backend_group_id"`
|
||||
BackendGroupId string `json:"backend_group_id"`
|
||||
|
||||
@@ -131,7 +131,7 @@ type LoadbalancerListenerCreateInput struct {
|
||||
|
||||
EgressMbps int `json:"egress_mbps"`
|
||||
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
Certificate string `json:"certificate" yunion-deprecated-by:"certificate_id"`
|
||||
CertificateId string `json:"certificate_id"`
|
||||
|
||||
@@ -173,7 +173,7 @@ type LoadbalancerListenerCreateInput struct {
|
||||
RedirectHost string `json:"redirect_host"`
|
||||
RedirectPath string `json:"redirect_path"`
|
||||
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
Acl string `json:"acl" yunion-deprecated-by:"acl_id"`
|
||||
|
||||
AclId string `json:"acl_id"`
|
||||
@@ -294,7 +294,7 @@ type LoadbalancerListenerUpdateInput struct {
|
||||
|
||||
AclStatus *string `json:"acl_status"`
|
||||
AclType *string `json:"acl_type"`
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
Acl *string `json:"acl" yunion-deprecated-by:"acl_id"`
|
||||
AclId *string `json:"acl_id"`
|
||||
|
||||
@@ -321,7 +321,7 @@ type LoadbalancerListenerUpdateInput struct {
|
||||
XForwardedFor *bool `json:"x_forwarded_for"`
|
||||
Gzip *bool `json:"gzip"`
|
||||
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
Certificate *string `json:"certificate" yunion-deprecated-by:"certificate_id"`
|
||||
CertificateId *string `json:"certificate_id"`
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ type LoadbalancerListenerRuleListInput struct {
|
||||
type LoadbalancerListenerRuleCreateInput struct {
|
||||
apis.StatusStandaloneResourceCreateInput
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Listener string `json:"listener" yunion-deprecated-by:"listener_id"`
|
||||
ListenerId string `json:"listener_id"`
|
||||
|
||||
@@ -76,11 +76,11 @@ type LoadbalancerListenerRuleCreateInput struct {
|
||||
HttpRequstRate int `json:"http_request_rate"`
|
||||
HttpRequstRatePerSec int `json:"http_request_rate_per_sec"`
|
||||
|
||||
Redirect string `json:"redirect"`
|
||||
RedirectCode int64 `json:"redirect_code"`
|
||||
RedirectScheme string `json:"redirect_scheme"`
|
||||
RedirectHost string `json:"redirect_host"`
|
||||
RedirectPath string `json:"redirect_path"`
|
||||
Redirect string
|
||||
RedirectCode int64
|
||||
RedirectScheme string
|
||||
RedirectHost string
|
||||
RedirectPath string
|
||||
|
||||
Condition string `json:"conditon"`
|
||||
}
|
||||
@@ -133,7 +133,7 @@ func (self *LoadbalancerListenerRuleCreateInput) Validate() error {
|
||||
type LoadbalancerListenerRuleUpdateInput struct {
|
||||
apis.StatusStandaloneResourceBaseUpdateInput
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Listener string `json:"listener" yunion-deprecated-by:"listener_id"`
|
||||
ListenerId string `json:"listener_id"`
|
||||
|
||||
@@ -145,11 +145,11 @@ type LoadbalancerListenerRuleUpdateInput struct {
|
||||
HttpRequstRate int `json:"http_request_rate"`
|
||||
HttpRequstRatePerSec int `json:"http_request_rate_per_sec"`
|
||||
|
||||
Redirect string `json:"redirect"`
|
||||
RedirectCode int64 `json:"redirect_code"`
|
||||
RedirectScheme string `json:"redirect_scheme"`
|
||||
RedirectHost string `json:"redirect_host"`
|
||||
RedirectPath string `json:"redirect_path"`
|
||||
Redirect string
|
||||
RedirectCode int64
|
||||
RedirectScheme string
|
||||
RedirectHost string
|
||||
RedirectPath string
|
||||
|
||||
Condition string `json:"conditon"`
|
||||
}
|
||||
|
||||
@@ -89,5 +89,5 @@ type ModelartsPoolSyncstatusInput struct {
|
||||
}
|
||||
|
||||
type ModelartsPoolChangeConfigInput struct {
|
||||
NodeCount int `json:"node_count"`
|
||||
NodeCount int
|
||||
}
|
||||
|
||||
@@ -36,6 +36,6 @@ type ModelartsPoolSkuListInput struct {
|
||||
apis.ExternalizedResourceBaseListInput
|
||||
|
||||
RegionalFilterListInput
|
||||
ProcessorType string `json:"processor_type"`
|
||||
CpuArch string `json:"cpu_arch"`
|
||||
ProcessorType string
|
||||
CpuArch string
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@ type MongoDBCreateInput struct {
|
||||
type SMongoDBChangeConfigInput struct {
|
||||
apis.Meta
|
||||
|
||||
InstanceType string `json:"instance_type"`
|
||||
DiskSizeGB int `json:"disk_size_gb"`
|
||||
InstanceType string
|
||||
DiskSizeGB int
|
||||
}
|
||||
|
||||
type MongoDBListInput struct {
|
||||
|
||||
@@ -48,7 +48,7 @@ type MountTargetDetails struct {
|
||||
VpcResourceInfo
|
||||
NetworkResourceInfo
|
||||
|
||||
FileSystem string `json:"file_system"`
|
||||
FileSystem string
|
||||
}
|
||||
|
||||
type MountTargetCreateInput struct {
|
||||
|
||||
@@ -19,31 +19,30 @@ import "yunion.io/x/onecloud/pkg/apis"
|
||||
type SNatSCreateInput struct {
|
||||
apis.Meta
|
||||
|
||||
Name string `json:"name"`
|
||||
NatgatewayId string `json:"natgateway_id"`
|
||||
NetworkId string `json:"network_id"`
|
||||
// swagger:ignore
|
||||
Ip string `json:"ip"`
|
||||
Name string
|
||||
NatgatewayId string
|
||||
NetworkId string
|
||||
// swagger: ignore
|
||||
Ip string
|
||||
|
||||
// swagger:ignore
|
||||
ExternalIpId string `json:"external_ip_id" yunion-deprecated-by:"eip"`
|
||||
Eip string `json:"eip"`
|
||||
SourceCidr string `json:"source_cidr"`
|
||||
SourceCidr string
|
||||
}
|
||||
|
||||
type SNatDCreateInput struct {
|
||||
apis.Meta
|
||||
|
||||
Name string `json:"name"`
|
||||
NatgatewayId string `json:"natgateway_id"`
|
||||
InternalIp string `json:"internal_ip"`
|
||||
InternalPort int `json:"internal_port"`
|
||||
ExternalIp string `json:"external_ip"`
|
||||
Name string
|
||||
NatgatewayId string
|
||||
InternalIp string
|
||||
InternalPort int
|
||||
ExternalIp string
|
||||
Eip string `json:"eip"`
|
||||
// swagger:ignore
|
||||
ExternalIpId string `json:"external_ip_id" yunion-deprecated-by:"eip"`
|
||||
ExternalPort int `json:"external_port"`
|
||||
IpProtocol string `json:"ip_protocol"`
|
||||
ExternalPort int
|
||||
IpProtocol string
|
||||
}
|
||||
|
||||
type NatDEntryDetails struct {
|
||||
|
||||
@@ -266,7 +266,6 @@ type NetworkCreateInput struct {
|
||||
VlanId *int `json:"vlan_id"`
|
||||
|
||||
// deprecated
|
||||
// swagger:ignore
|
||||
Vlan *int `json:"vlan" yunion-deprecated-by:"vlan_id"`
|
||||
|
||||
// 线路类型
|
||||
|
||||
@@ -107,14 +107,14 @@ const (
|
||||
)
|
||||
|
||||
type SNetworkUsedAddress struct {
|
||||
IpAddr string `json:"ip_addr"`
|
||||
Ip6Addr string `json:"ip6_addr"`
|
||||
MacAddr string `json:"mac_addr"`
|
||||
Owner string `json:"owner"`
|
||||
OwnerId string `json:"owner_id"`
|
||||
OwnerStatus string `json:"owner_status"`
|
||||
OwnerType string `json:"owner_type"`
|
||||
AssociateId string `json:"associate_id"`
|
||||
AssociateType string `json:"associate_type"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
IpAddr string
|
||||
Ip6Addr string
|
||||
MacAddr string
|
||||
Owner string
|
||||
OwnerId string
|
||||
OwnerStatus string
|
||||
OwnerType string
|
||||
AssociateId string
|
||||
AssociateType string
|
||||
CreatedAt time.Time
|
||||
}
|
||||
|
||||
@@ -40,13 +40,13 @@ var NetworkAddressParentTypes = choices.NewChoices(
|
||||
type NetworkAddressCreateInput struct {
|
||||
apis.StandaloneAnonResourceCreateInput
|
||||
|
||||
ParentType TNetworkAddressParentType `json:"parent_type"`
|
||||
ParentId int64 `json:"parent_id"`
|
||||
GuestId string `json:"guest_id"`
|
||||
GuestnetworkIndex int8 `json:"guestnetwork_index"`
|
||||
ParentType TNetworkAddressParentType
|
||||
ParentId int64
|
||||
GuestId string
|
||||
GuestnetworkIndex int8
|
||||
|
||||
Type string `json:"type"`
|
||||
NetworkId string `json:"network_id"`
|
||||
Type string
|
||||
NetworkId string
|
||||
IPAddr string `json:"ip_addr"`
|
||||
IPAddrs []string `json:"ip_addrs"`
|
||||
}
|
||||
@@ -55,7 +55,7 @@ type NetworkAddressListInput struct {
|
||||
apis.StandaloneAnonResourceListInput
|
||||
NetworkFilterListInput
|
||||
|
||||
GuestId []string `json:"guest_id"`
|
||||
GuestId []string
|
||||
|
||||
ManagedResourceListInput
|
||||
}
|
||||
@@ -64,13 +64,13 @@ type NetworkAddressDetails struct {
|
||||
apis.StandaloneAnonResourceDetails
|
||||
NetworkResourceInfo
|
||||
|
||||
Type string `json:"type"`
|
||||
ParentType string `json:"parent_type"`
|
||||
ParentId string `json:"parent_id"`
|
||||
NetworkId string `json:"network_id"`
|
||||
IpAddr string `json:"ip_addr"`
|
||||
Type string
|
||||
ParentType string
|
||||
ParentId string
|
||||
NetworkId string
|
||||
IpAddr string
|
||||
|
||||
SubCtrVid int `json:"sub_ctr_vid"`
|
||||
SubCtrVid int
|
||||
|
||||
Guestnetwork GuestnetworkDetails `json:"guestnetwork"`
|
||||
Guestnetwork GuestnetworkDetails
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ package compute
|
||||
import "yunion.io/x/onecloud/pkg/apis"
|
||||
|
||||
type PolicyDefinitionResourceListInput struct {
|
||||
Policydefinition string `json:"policydefinition"`
|
||||
Policydefinition string
|
||||
}
|
||||
|
||||
type PolicyAssignmentListInput struct {
|
||||
|
||||
@@ -46,16 +46,16 @@ type PolicyDefinitionDetails struct {
|
||||
}
|
||||
|
||||
type PolicyDefinitionResourceInfo struct {
|
||||
Policydefinition string `json:"policydefinition"`
|
||||
Policydefinition string
|
||||
}
|
||||
|
||||
type SCloudregionPolicyDefinition struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Id string
|
||||
Name string
|
||||
}
|
||||
|
||||
type SCloudregionPolicyDefinitions struct {
|
||||
Cloudregions []SCloudregionPolicyDefinition `json:"cloudregions"`
|
||||
Cloudregions []SCloudregionPolicyDefinition
|
||||
}
|
||||
|
||||
type PolicyDefinitionSyncstatusInput struct {
|
||||
|
||||
@@ -158,10 +158,10 @@ func (rules MappingRules) Validate() error {
|
||||
|
||||
type ProjectMappingRuleInfoDetails struct {
|
||||
ProjectMappingRuleInfo
|
||||
Project string `json:"project"`
|
||||
TenantId string `json:"tenant_id"`
|
||||
Tenant string `json:"tenant"`
|
||||
Domain string `json:"domain"`
|
||||
Project string
|
||||
TenantId string
|
||||
Tenant string
|
||||
Domain string
|
||||
}
|
||||
|
||||
type SProjectMappingAccount struct {
|
||||
@@ -174,7 +174,7 @@ type ProjectMappingDetails struct {
|
||||
|
||||
apis.EnabledStatusInfrasResourceBaseDetails
|
||||
|
||||
Rules []ProjectMappingRuleInfoDetails `json:"rules"`
|
||||
Rules []ProjectMappingRuleInfoDetails
|
||||
|
||||
// 所绑定的云账号列表
|
||||
Accounts []SProjectMappingAccount `json:"accounts"`
|
||||
@@ -195,7 +195,7 @@ type ProjectMappingListInput struct {
|
||||
}
|
||||
|
||||
type ProjectMappingResourceInfo struct {
|
||||
ProjectMapping string `json:"project_mapping"`
|
||||
ProjectMapping string
|
||||
}
|
||||
|
||||
type ProjectMappingUpdateInput struct {
|
||||
@@ -207,7 +207,7 @@ type ProjectMappingUpdateInput struct {
|
||||
|
||||
type ProjectMappingFilterListInput struct {
|
||||
ProjectMappingId string `json:"project_mapping_id"`
|
||||
OrderByProjectMapping string `json:"order_by_project_mapping"`
|
||||
OrderByProjectMapping string
|
||||
}
|
||||
|
||||
func (self MappingRules) String() string {
|
||||
|
||||
@@ -41,8 +41,8 @@ type RouteTableDetails struct {
|
||||
|
||||
SRouteTable
|
||||
|
||||
RouteSetCount int `json:"route_set_count"`
|
||||
AccociationCount int `json:"accociation_count"`
|
||||
RouteSetCount int
|
||||
AccociationCount int
|
||||
}
|
||||
|
||||
type SRoute struct {
|
||||
|
||||
@@ -29,7 +29,7 @@ const (
|
||||
|
||||
type RouteTableRouteSetCreateInput struct {
|
||||
apis.StatusStandaloneResourceCreateInput
|
||||
RouteTableId string `json:"route_table_id"`
|
||||
RouteTableId string
|
||||
Cidr string `json:"cidr"`
|
||||
NextHopType string `json:"next_hop_type"`
|
||||
NextHopId string `json:"next_hop_id"`
|
||||
|
||||
@@ -26,7 +26,7 @@ type ScalingGroupCreateInput struct {
|
||||
// example: cr-test-one
|
||||
Cloudregion string `json:"cloudregion"`
|
||||
|
||||
//swagger:ignore
|
||||
//swagger: ignore
|
||||
CloudregionId string `json:"cloudregion_id"`
|
||||
|
||||
// description: hypervisor
|
||||
@@ -53,7 +53,7 @@ type ScalingGroupCreateInput struct {
|
||||
// example: gt-test-one
|
||||
GuestTemplate string `json:"guest_template"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
GuestTemplateId string `json:"guest_template_id"`
|
||||
|
||||
// description: 扩容策略
|
||||
@@ -84,7 +84,7 @@ type ScalingGroupCreateInput struct {
|
||||
// example: lbg-nihao
|
||||
LbBackendGroup string `json:"lb_backend_group"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
BackendGroupId string `json:"backend_group_id"`
|
||||
|
||||
// description: 负载均衡后端服务器统一端口
|
||||
|
||||
@@ -36,7 +36,7 @@ type ScalingPolicyCreateInput struct {
|
||||
// example: sg-test-one
|
||||
ScalingGroup string `json:"scaling_group"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
ScalingGroupId string `json:"scaling_group_id"`
|
||||
|
||||
// description: trigger type
|
||||
|
||||
@@ -19,7 +19,7 @@ import "time"
|
||||
type TimerCreateInput struct {
|
||||
|
||||
// description: 执行时间
|
||||
ExecTime time.Time `json:"exec_time"`
|
||||
ExecTime time.Time
|
||||
}
|
||||
|
||||
type CycleTimerCreateInput struct {
|
||||
|
||||
@@ -57,9 +57,9 @@ type SSecgroupRuleResource struct {
|
||||
Ports string `json:"ports"`
|
||||
|
||||
// swagger:ignore
|
||||
PortStart int `json:"port_start"`
|
||||
PortStart int
|
||||
// swagger:ignore
|
||||
PortEnd int `json:"port_end"`
|
||||
PortEnd int
|
||||
|
||||
// 方向
|
||||
// enum: ["in", "out"]
|
||||
@@ -97,7 +97,7 @@ type SSecgroupRuleCreateInput struct {
|
||||
// swagger:ignore
|
||||
Secgroup string `json:"secgroup" yunion-deprecated-by:"secgroup_id"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Status string `json:"status"`
|
||||
|
||||
// 安全组ID
|
||||
@@ -220,12 +220,12 @@ type SSecgroupCreateInput struct {
|
||||
// vpc id
|
||||
// defualt: default
|
||||
VpcResourceInput
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
CloudproviderResourceInput
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
CloudregionResourceInput
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
GlobalvpcId string `json:"globalvpc_id"`
|
||||
|
||||
// 规则列表
|
||||
@@ -426,8 +426,8 @@ type ElasticcachesecgroupDetails struct {
|
||||
}
|
||||
|
||||
type SecurityGroupCloneInput struct {
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Name string
|
||||
Description string
|
||||
}
|
||||
|
||||
type SecgroupImportRulesInput struct {
|
||||
|
||||
@@ -36,7 +36,7 @@ type ServerSkuCreateInput struct {
|
||||
ZoneId string `json:"zone_id"`
|
||||
|
||||
// swagger:ignore
|
||||
InstanceTypeFamily string `json:"instance_type_family"`
|
||||
InstanceTypeFamily string
|
||||
|
||||
// 套餐类型
|
||||
//
|
||||
@@ -56,7 +56,7 @@ type ServerSkuCreateInput struct {
|
||||
InstanceTypeCategory string `json:"instance_type_category"`
|
||||
|
||||
// swagger:ignore
|
||||
LocalCategory string `json:"local_category"`
|
||||
LocalCategory string
|
||||
|
||||
// 预付费状态
|
||||
// default: available
|
||||
@@ -78,55 +78,55 @@ type ServerSkuCreateInput struct {
|
||||
MemorySizeMB int64 `json:"memory_size_mb"`
|
||||
|
||||
// swagger:ignore
|
||||
OsName string `json:"os_name"`
|
||||
OsName string
|
||||
|
||||
// swagger:ignore
|
||||
SysDiskResizable *bool `json:"sys_disk_resizable"`
|
||||
SysDiskResizable *bool
|
||||
|
||||
// swagger:ignore
|
||||
SysDiskType string `json:"sys_disk_type"`
|
||||
SysDiskType string
|
||||
|
||||
// swagger:ignore
|
||||
SysDiskMinSizeGB int `json:"sys_disk_min_size_gb"`
|
||||
SysDiskMinSizeGB int
|
||||
|
||||
// swagger:ignore
|
||||
SysDiskMaxSizeGB int `json:"sys_disk_max_size_gb"`
|
||||
SysDiskMaxSizeGB int
|
||||
|
||||
// swagger:ignore
|
||||
AttachedDiskType string `json:"attached_disk_type"`
|
||||
AttachedDiskType string
|
||||
|
||||
// swagger:ignore
|
||||
AttachedDiskSizeGB int `json:"attached_disk_size_gb"`
|
||||
AttachedDiskSizeGB int
|
||||
|
||||
// swagger:ignore
|
||||
AttachedDiskCount int `json:"attached_disk_count"`
|
||||
AttachedDiskCount int
|
||||
|
||||
// swagger:ignore
|
||||
DataDiskTypes string `json:"data_disk_types"`
|
||||
DataDiskTypes string
|
||||
|
||||
// swagger:ignore
|
||||
DataDiskMaxCount int `json:"data_disk_max_count"`
|
||||
DataDiskMaxCount int
|
||||
|
||||
// swagger:ignore
|
||||
NicType string `json:"nic_type"`
|
||||
NicType string
|
||||
|
||||
// swagger:ignore
|
||||
NicMaxCount int `json:"nic_max_count"`
|
||||
NicMaxCount int
|
||||
|
||||
// swagger:ignore
|
||||
GpuAttachable *bool `json:"gpu_attachable"`
|
||||
GpuAttachable *bool
|
||||
|
||||
// swagger:ignore
|
||||
GpuSpec string `json:"gpu_spec"`
|
||||
GpuSpec string
|
||||
|
||||
// swagger:ignore
|
||||
GpuCount int `json:"gpu_count"`
|
||||
GpuCount int
|
||||
|
||||
// swagger:ignore
|
||||
GpuMaxCount int `json:"gpu_max_count"`
|
||||
GpuMaxCount int
|
||||
|
||||
// swagger:ignore
|
||||
Provider string `json:"provider"`
|
||||
Provider string
|
||||
}
|
||||
|
||||
type ServerSkuDetails struct {
|
||||
|
||||
@@ -36,7 +36,7 @@ type SnapshotCreateInput struct {
|
||||
Location string `json:"location"`
|
||||
// swagger:ignore
|
||||
Size int `json:"size"`
|
||||
// swagger:ignore
|
||||
// swagger:ingore
|
||||
VirtualSize int `json:"virtual_size"`
|
||||
// swagger:ignore
|
||||
DiskType string `json:"disk_type"`
|
||||
@@ -115,8 +115,3 @@ type SnapshotDetails struct {
|
||||
|
||||
type SnapshotSyncstatusInput struct {
|
||||
}
|
||||
|
||||
type SnapshotDeleteDiskSnapshotsInput struct {
|
||||
// 磁盘ID
|
||||
DiskId string `json:"disk_id"`
|
||||
}
|
||||
|
||||
@@ -42,9 +42,9 @@ type SnapshotPolicyDetails struct {
|
||||
|
||||
SSnapshotPolicy
|
||||
|
||||
// 绑定磁盘数量
|
||||
BindingDiskCount int `json:"binding_disk_count"`
|
||||
// 绑定主机数量
|
||||
RetentionDays int `json:"retention_days"`
|
||||
|
||||
BindingDiskCount int `json:"binding_disk_count"`
|
||||
BindingResourceCount int `json:"binding_resource_count"`
|
||||
// 快照数量
|
||||
SnapshotCount int `json:"snapshot_count"`
|
||||
@@ -55,22 +55,13 @@ type SSnapshotPolicyCreateInput struct {
|
||||
CloudproviderResourceInput
|
||||
CloudregionResourceInput
|
||||
|
||||
// 自动快照保留时长 -1: 表示永久保留
|
||||
RetentionDays int `json:"retention_days"`
|
||||
// 自动快照保留数量
|
||||
// 此配置优先级高于 RetentionDays
|
||||
RetentionDays int `json:"retention_days"`
|
||||
RetentionCount int `json:"retention_count"`
|
||||
// 快照类型, 目前支持 disk, server
|
||||
// disk: 自动磁盘快照策略, 只能关联磁盘
|
||||
// server: 自动主机快照策略, 只能关联主机
|
||||
Type string `json:"type"`
|
||||
// 创建自动快照策略的执行周期
|
||||
// 1. 周一到周日
|
||||
// 2. 1~7, 1: Monday, 7: Sunday
|
||||
|
||||
RepeatWeekdays []int `json:"repeat_weekdays"`
|
||||
// 创建自动快照策略的执行时间
|
||||
// 0:00~23:59 每天, 0~23 每小时
|
||||
// 创建自动快照策略的时间必须与 RepeatWeekdays 对应的创建周期相一致
|
||||
|
||||
TimePoints []int `json:"time_points"`
|
||||
}
|
||||
|
||||
@@ -110,20 +101,11 @@ func (self *SSnapshotPolicyCreateInput) Validate() error {
|
||||
type SSnapshotPolicyUpdateInput struct {
|
||||
apis.VirtualResourceBaseUpdateInput
|
||||
|
||||
// 自动快照保留时长, -1: 表示永久保留
|
||||
RetentionDays *int
|
||||
// 自动快照保留数量
|
||||
// 此配置优先级高于 RetentionDays
|
||||
RetentionDays *int
|
||||
RetentionCount *int
|
||||
|
||||
// 自动快照执行周期
|
||||
// 1. 周一到周日
|
||||
// 2. 1~7, 1: Monday, 7: Sunday
|
||||
RepeatWeekdays *[]int `json:"repeat_weekdays"`
|
||||
// 自动快照执行时间
|
||||
// 0:00~23:59 每天, 0~23 每小时
|
||||
// 创建自动快照策略的时间必须与 RepeatWeekdays 对应的创建周期相一致
|
||||
TimePoints *[]int `json:"time_points"`
|
||||
TimePoints *[]int `json:"time_points"`
|
||||
}
|
||||
|
||||
func (self *SSnapshotPolicyUpdateInput) Validate() error {
|
||||
@@ -156,18 +138,12 @@ func (self *SSnapshotPolicyUpdateInput) Validate() error {
|
||||
}
|
||||
|
||||
type SnapshotPolicyDisksInput struct {
|
||||
// 磁盘ID列表
|
||||
// 快照策略类型需要时disk
|
||||
Disks []string `json:"disk"`
|
||||
}
|
||||
|
||||
type SnapshotPolicyResourcesInput struct {
|
||||
// 绑定的资源列表
|
||||
// 目前仅支持绑定主机
|
||||
Resources []struct {
|
||||
// 绑定资源ID
|
||||
Id string `json:"id"`
|
||||
// server: 主机, disk: 磁盘
|
||||
Id string `json:"id"`
|
||||
Type string `json:"type"`
|
||||
} `json:"resources"`
|
||||
}
|
||||
|
||||
@@ -32,13 +32,13 @@ type SSLCertificateCreateInput struct {
|
||||
DnsZoneId string `json:"dns_zone_id"`
|
||||
Sans string `json:"sans"`
|
||||
|
||||
Province string `json:"province"`
|
||||
Common string `json:"common"`
|
||||
Country string `json:"country"`
|
||||
City string `json:"city"`
|
||||
OrgName string `json:"org_name"`
|
||||
Certificate string `json:"certificate"`
|
||||
PrivateKey string `json:"private_key"`
|
||||
Province string
|
||||
Common string
|
||||
Country string
|
||||
City string
|
||||
OrgName string
|
||||
Certificate string
|
||||
PrivateKey string
|
||||
}
|
||||
|
||||
type SSLCertificateDetails struct {
|
||||
|
||||
@@ -23,11 +23,11 @@ import (
|
||||
)
|
||||
|
||||
type StorageUsage struct {
|
||||
HostCount int `json:"host_count"`
|
||||
DiskCount int `json:"disk_count"`
|
||||
SnapshotCount int `json:"snapshot_count"`
|
||||
Used int64 `json:"used"`
|
||||
Wasted int64 `json:"wasted"`
|
||||
HostCount int
|
||||
DiskCount int
|
||||
SnapshotCount int
|
||||
Used int64
|
||||
Wasted int64
|
||||
}
|
||||
|
||||
func (self StorageUsage) IsZero() bool {
|
||||
@@ -84,14 +84,14 @@ type StorageCreateInput struct {
|
||||
AutoCacheImages *bool `json:"auto_cache_images"`
|
||||
|
||||
// swagger:ignore
|
||||
MonHost string `json:"mon_host"`
|
||||
MonHost string
|
||||
|
||||
// ceph使用的pool, storage_type为 rbd 时,此参数为必传项
|
||||
// example: rbd
|
||||
RbdPool string `json:"rbd_pool"`
|
||||
|
||||
// swagger:ignore
|
||||
Pool string `json:"pool"`
|
||||
Pool string
|
||||
|
||||
// ceph集群密码,若ceph集群开启cephx认证,此参数必传
|
||||
// 可在ceph集群主机的/etc/ceph/ceph.client.admin.keyring文件中找到
|
||||
@@ -99,12 +99,12 @@ type StorageCreateInput struct {
|
||||
RbdKey string `json:"rbd_key"`
|
||||
|
||||
// swagger:ignore
|
||||
Key string `json:"key"`
|
||||
Key string
|
||||
|
||||
RbdTimeoutInput
|
||||
|
||||
// swagger:ignore
|
||||
ClientMountTimeout int `json:"client_mount_timeout"`
|
||||
ClientMountTimeout int
|
||||
|
||||
// swagger:ignore
|
||||
StorageConf *jsonutils.JSONDict
|
||||
@@ -120,10 +120,10 @@ type StorageCreateInput struct {
|
||||
// swagger:ignore
|
||||
HardwareInfo *StorageHardwareInfo `json:"hardware_info"`
|
||||
// CLVM VG Name
|
||||
CLVMVgName string `json:"clvm_vg_name"`
|
||||
CLVMVgName string
|
||||
// SLVM VG Name
|
||||
SLVMVgName string `json:"slvm_vg_name"`
|
||||
Lvmlockd bool `json:"lvmlockd"`
|
||||
SLVMVgName string
|
||||
Lvmlockd bool
|
||||
}
|
||||
|
||||
type RbdTimeoutInput struct {
|
||||
@@ -132,14 +132,14 @@ type RbdTimeoutInput struct {
|
||||
RbdRadosMonOpTimeout int `json:"rbd_rados_mon_op_timeout"`
|
||||
|
||||
// swagger:ignore
|
||||
RadosMonOpTimeout int `json:"rados_mon_op_timeout"`
|
||||
RadosMonOpTimeout int
|
||||
|
||||
// ceph osd 操作超时时间, 单位秒
|
||||
// default: 1200
|
||||
RbdRadosOsdOpTimeout int `json:"rbd_rados_osd_op_timeout"`
|
||||
|
||||
// swagger:ignore
|
||||
RadosOsdOpTimeout int `json:"rados_osd_op_timeout"`
|
||||
RadosOsdOpTimeout int
|
||||
|
||||
// ceph CephFS挂载超时时间, 单位秒
|
||||
// default: 120
|
||||
@@ -160,10 +160,10 @@ type SStorageCapacityInfo struct {
|
||||
}
|
||||
|
||||
type StorageHost struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Status string `json:"status"`
|
||||
HostStatus string `json:"host_status"`
|
||||
Id string
|
||||
Name string
|
||||
Status string
|
||||
HostStatus string
|
||||
}
|
||||
|
||||
type StorageDetails struct {
|
||||
@@ -255,13 +255,13 @@ type StorageUpdateInput struct {
|
||||
RbdTimeoutInput
|
||||
|
||||
// swagger:ignore
|
||||
StorageConf *jsonutils.JSONDict `json:"storage_conf"`
|
||||
StorageConf *jsonutils.JSONDict
|
||||
|
||||
UpdateStorageConf bool `json:"update_storage_conf"`
|
||||
UpdateStorageConf bool
|
||||
|
||||
// swagger:ignore
|
||||
HardwareInfo *StorageHardwareInfo `json:"hardware_info"`
|
||||
MasterHost string `json:"master_host"`
|
||||
MasterHost string
|
||||
}
|
||||
|
||||
type RbdStorageConf struct {
|
||||
|
||||
@@ -49,50 +49,49 @@ type StoragecacheListInput struct {
|
||||
type UncacheImageInput struct {
|
||||
// 镜像ID
|
||||
ImageId string `json:"image_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
StoragecacheId string `json:"storagecache_id"`
|
||||
|
||||
DeactivateImage *bool `json:"deactivate_image"`
|
||||
}
|
||||
|
||||
type CacheImageInput struct {
|
||||
// swagger:ignore
|
||||
Image string `json:"image" yunion-deprecated-by:"image_id"`
|
||||
ImageId string `json:"image_id"`
|
||||
IsForce bool `json:"is_force"`
|
||||
Format string `json:"format"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Zone string `json:"zone"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
OsType string `json:"os_type"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
OsArch string `json:"os_arch"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
OsDistribution string `json:"os_distribution"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
OsFullVersion string `json:"os_full_version"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
OsVersion string `json:"os_version"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
ImageName string `json:"image_name"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
ServerId string `json:"server_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
ParentTaskId string `json:"parent_task_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
SourceHostId string `json:"source_host_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
SrcUrl string `json:"src_url"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
StoragecacheId string `json:"storagecache_id"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
Checksum string `json:"checksum"`
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
SkipChecksumIfExists bool `json:"skip_checksum_if_exists"`
|
||||
|
||||
// swagger:ignore
|
||||
// swagger: ignore
|
||||
PreCache bool `json:"pre_cache"`
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user