1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660
|
# variables in header
image_location:
description: |
The image location URL of the image or backup created, HTTP header
"Location: <image location URL>" will be returned.
.. note:: The URL returned may not be accessible to users and should not
be relied upon. Use microversion 2.45 or simply parse the image ID out
of the URL in the Location response header.
in: header
required: true
type: string
max_version: 2.44
server_location:
description: |
The location URL of the server, HTTP header
"Location: <server location URL>" will be returned.
in: header
required: true
type: string
tag_location:
description: |
The location of the tag. It's individual tag URL which can be used for
checking the existence of the tag on the server or deleting the tag from the server.
in: header
required: true
type: string
x-compute-request-id_resp:
description: |
The local request ID, which is a unique ID generated automatically
for tracking each request to nova.
It is associated with the request and appears in the log lines
for that request.
By default, the middleware configuration
ensures that the local request ID appears in the log files.
.. note::
This header exists for backward compatibility.
in: header
required: true
type: string
x-openstack-request-id_req:
description: |
The global request ID, which is a unique common ID
for tracking each request in OpenStack components.
The format of the global request ID must be ``req-`` + UUID (UUID4).
If not in accordance with the format, it is ignored.
It is associated with the request and appears in the log lines
for that request.
By default, the middleware configuration ensures that
the global request ID appears in the log files.
in: header
required: false
type: string
min_version: 2.46
x-openstack-request-id_resp:
description: |
The local request ID, which is a unique ID generated automatically
for tracking each request to nova.
It is associated with the request and appears in the log lines
for that request.
By default, the middleware configuration
ensures that the local request ID appears in the log files.
in: header
required: true
type: string
min_version: 2.46
# variables in path
agent_build_id:
description: |
The id of the agent build.
in: path
required: true
type: string
aggregate_id:
description: |
The aggregate ID.
in: path
required: true
type: integer
api_version:
in: path
required: true
type: string
description: >
The API version as returned in the links from the ``GET /`` call.
before_timestamp:
description: |
Filters the response by the date and time before which to list usage
audits.
The date and time stamp format is as follows:
::
CCYY-MM-DD hh:mm:ss.NNNNNN
For example, ``2015-08-27 09:49:58`` or ``2015-08-27 09:49:58.123456``.
in: path
required: true
type: string
cell_id:
description: |
The UUID of the cell.
in: path
required: true
type: string
console_id:
description: |
The UUID of the console.
in: path
required: true
type: string
console_token:
description: |
Console authentication token.
in: path
required: true
type: string
# Used in the request path for PUT /os-services/disable-log-reason before
# microversion 2.53.
disabled_reason:
description: |
The reason for disabling a service.
in: path
required: false
type: string
domain:
description: |
The registered DNS domain that the DNS drivers publish.
in: path
required: true
type: string
fixed_ip_path:
description: |
The fixed IP of interest to you.
in: path
required: true
type: string
flavor_extra_spec_key:
description: |
The extra spec key for the flavor.
in: path
required: true
type: string
flavor_id:
description: |
The ID of the flavor.
in: path
required: true
type: string
floating_ip_id:
description: |
The ID of the floating IP address.
in: path
required: true
type: string
host_name:
description: |
The name of the host.
in: path
required: true
type: string
hypervisor_hostname_pattern:
description: |
The hypervisor host name or a portion of it.
The hypervisor hosts are selected with the host name matching this pattern.
in: path
required: true
type: string
hypervisor_id:
description: |
The ID of the hypervisor.
in: path
required: true
type: integer
max_version: 2.52
hypervisor_id_uuid:
description: |
The ID of the hypervisor as a UUID.
in: path
required: true
type: string
min_version: 2.53
image_id:
description: |
The UUID of the image.
in: path
required: true
type: string
instance_id:
description: |
The UUID of the instance.
in: path
required: true
type: string
ip:
description: |
The IP address.
in: path
required: true
type: string
key:
description: |
The metadata item key, as a string. Maximum length is 255 characters.
in: path
required: true
type: string
keypair_name_path:
description: |
The keypair name.
in: path
required: true
type: string
migration_id_path:
description: |
The ID of the server migration.
in: path
required: true
type: integer
network_id:
description: |
The UUID of the network.
in: path
required: true
type: string
network_label:
description: |
The network label, such as ``public`` or ``private``.
in: path
required: true
type: string
node_id:
description: |
The node ID.
in: path
required: true
type: string
port_id_path:
description: |
The UUID of the port.
in: path
required: true
type: string
quota_class_id: "a_class_id
description: |
The ID of the quota class.
Nova supports the ``default`` Quota Class only.
in: path
required: true
type: string
request_id:
description: |
The ID of the request.
in: path
required: true
type: string
security_group_default_rule_id:
description: |
The UUID of the security group rule.
in: path
required: true
type: string
security_group_id:
description: |
The ID of the security group.
in: path
required: true
type: string
security_group_rule_id:
description: |
The ID of the security group rule.
in: path
required: true
type: string
server_group_id:
description: |
The UUID of the server group.
in: path
required: true
type: string
server_id_path:
description: |
The UUID of the server.
in: path
required: true
type: string
service_id_path_2_52:
description: |
The id of the service.
.. note:: This may not uniquely identify a service in a multi-cell
deployment.
in: path
required: true
type: integer
max_version: 2.52
service_id_path_2_53:
description: |
The id of the service as a uuid. This uniquely identifies the service in a
multi-cell deployment.
in: path
required: true
type: string
min_version: 2.53
service_id_path_2_53_no_version:
description: |
The id of the service as a uuid. This uniquely identifies the service in a
multi-cell deployment.
in: path
required: true
type: string
share_id_path:
description: |
The UUID of the attached share.
in: path
required: true
type: string
snapshot_id_path:
description: |
The UUID of the snapshot.
in: path
required: true
type: string
tag:
description: |
The tag as a string.
in: path
required: true
type: string
tenant_id:
description: |
The UUID of the tenant in a multi-tenancy cloud.
in: path
required: true
type: string
volume_id_attached_path:
description: |
The UUID of the attached volume.
in: path
required: true
type: string
volume_id_path:
description: |
The unique ID for a volume.
in: path
required: true
type: string
volume_id_swap_src:
description: |
The UUID of the volume being replaced.
in: path
required: true
type: string
volume_id_to_detach_path:
description: |
The UUID of the volume to detach.
in: path
required: true
type: string
# variables in query
access_ip_v4_query_server:
in: query
required: false
type: string
description: |
Filter server list result by IPv4 address that should be used
to access the server.
access_ip_v6_query_server:
in: query
required: false
type: string
description: |
Filter server list result by IPv6 address that should be used
to access the server.
all_projects:
description: |
Administrator only. Lists server groups for all projects. For example:
``GET /os-server-groups?all_projects=True``
If you specify a tenant ID for a non-administrative user with this query parameter,
the call lists all server groups for the tenant, or project, rather than for
all projects.
Value of this query parameter is not checked, only presence is considered
as request for all projects.
in: query
required: false
type: string
all_tenants:
description: |
Specify the ``all_tenants`` query parameter to ping instances
for all tenants. By default this is only allowed by admin users.
Value of this query parameter is not checked, only presence
is considered as request for all tenants.
in: query
required: false
type: string
all_tenants_query:
description: |
Specify the ``all_tenants`` query parameter to list all instances
for all projects. By default this is only allowed by administrators.
If this parameter is specified without a value, the value defaults to
``True``. If the value is specified, ``1``, ``t``, ``true``,
``on``, ``y`` and ``yes`` are treated as ``True``. ``0``, ``f``,
``false``, ``off``, ``n`` and ``no`` are treated as ``False``.
(They are case-insensitive.)
in: query
required: false
type: boolean
all_tenants_sec_grp_query:
description: |
Specify the ``all_tenants`` query parameter to list all security
groups for all projects. This is only allowed for admin users.
Value of this query parameter is not checked, only presence
is considered as request for all tenants.
in: query
required: false
type: string
availability_zone_query_server:
description: |
Filter the server list result by server availability zone.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: string
binary_query:
description: |
Filter the service list result by binary name of the service.
in: query
required: false
type: string
changes-since:
description: |
Filters the response by a date and time when the image last changed status.
Use this query parameter to check for changes since a previous request rather
than re-downloading and re-parsing the full status at each polling interval.
If data has changed, the call returns only the items changed since the ``changes-since``
time. If data has not changed since the ``changes-since`` time, the call returns an
empty list.
To enable you to keep track of changes, this filter also displays images
that were deleted if the ``changes-since`` value specifies a date in the last 30 days.
Items deleted more than 30 days ago might be returned, but it is not guaranteed.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
in: query
required: false
type: string
changes_before_instance_action:
description: |
Filters the response by a date and time stamp when the instance actions last changed.
Those instances that changed before or equal to the specified date and time stamp
are returned.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
When both ``changes-since`` and ``changes-before`` are specified,
the value of the ``changes-before`` must be later than or equal to
the value of the ``changes-since`` otherwise API will return 400.
in: query
required: false
type: string
min_version: 2.66
changes_before_migration:
description: |
Filters the response by a date and time stamp when the migration last
changed. Those migrations that changed before or equal to the specified date and time
stamp are returned.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
When both ``changes-since`` and ``changes-before`` are specified,
the value of the ``changes-before`` must be later than or equal to
the value of the ``changes-since`` otherwise API will return 400.
in: query
required: false
type: string
min_version: 2.66
changes_before_server:
description: |
Filters the response by a date and time stamp when the server last changed.
Those servers that changed before or equal to the specified date and time stamp
are returned. To help keep track of changes this may also return recently deleted
servers.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
When both ``changes-since`` and ``changes-before`` are specified,
the value of the ``changes-before`` must be later than or equal to
the value of the ``changes-since`` otherwise API will return 400.
in: query
required: false
type: string
min_version: 2.66
changes_since_instance_action:
description: |
Filters the response by a date and time stamp when the instance action last
changed.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
When both ``changes-since`` and ``changes-before`` are specified,
the value of the ``changes-since`` must be earlier than or equal to
the value of the ``changes-before`` otherwise API will return 400.
in: query
required: false
type: string
min_version: 2.58
changes_since_migration:
description: |
Filters the response by a date and time stamp when the migration last
changed. Those changed after the specified date and time stamp are returned.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
When both ``changes-since`` and ``changes-before`` are specified,
the value of the ``changes-since`` must be earlier than or equal to
the value of the ``changes-before`` otherwise API will return 400.
in: query
required: false
type: string
min_version: 2.59
changes_since_server:
description: |
Filters the response by a date and time stamp when the server last
changed status. To help keep track of changes this may also return
recently deleted servers.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
When both ``changes-since`` and ``changes-before`` are specified,
the value of the ``changes-since`` must be earlier than or equal to
the value of the ``changes-before`` otherwise API will return 400.
in: query
required: false
type: string
config_drive_query_server:
description: |
Filter the server list result by the config drive setting of the server.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: string
created_at_query_server:
description: |
Filter the server list result by a date and time stamp when server was created.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: string
delete_info:
description: |
Information for snapshot deletion. Include the ID of the associated volume. For
example:
.. code-block:: javascript
DELETE /os-assisted-volume-snapshots/421752a6-acf6-4b2d-bc7a-119f9148cd8c?delete_info='{"volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c"}'
in: query
required: true
type: string
deleted_query:
in: query
required: false
type: boolean
description: |
Show deleted items only. In some circumstances deleted items will still
be accessible via the backend database, however there is no
contract on how long, so this parameter should be used with
caution. ``1``, ``t``, ``true``, ``on``, ``y`` and ``yes`` are treated as
``True`` (case-insensitive). Other than them are treated as ``False``.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
description_query_server:
description: |
Filter the server list result by description.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
.. note::
``display_description`` can also be requested which is alias of
``description`` but that is not recommended to use as that will
be removed in future.
in: query
required: false
type: string
detailed_simple_tenant_usage:
description: |
Specify the ``detailed=1`` query parameter to get detail information
('server_usages' information).
in: query
required: false
type: integer
disk_config_query_server:
description: |
Filter the server list result by the ``disk_config`` setting of the server,
Valid values are:
- ``AUTO``
- ``MANUAL``
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
in: query
required: false
type: string
end_simple_tenant_usage:
description: |
The ending time to calculate usage statistics on compute and
storage resources. The date and time stamp format is any of
the following ones:
::
CCYY-MM-DDThh:mm:ss
For example, ``2015-08-27T09:49:58``.
::
CCYY-MM-DDThh:mm:ss.NNNNNN
For example, ``2015-08-27T09:49:58.123456``.
::
CCYY-MM-DD hh:mm:ss.NNNNNN
For example, ``2015-08-27 09:49:58.123456``.
If you omit this parameter, the current time is used.
in: query
required: false
type: string
exclude:
description: |
Specify ``exclude=uuid[,uuid...]`` to exclude the instances from the results.
in: query
required: false
type: string
flavor_is_public_query:
in: query
required: false
type: string
description: |
This parameter is only applicable to users with the administrative role.
For all other non-admin users, the parameter is ignored and only public
flavors will be returned. Filters the flavor list based on whether the
flavor is public or private. If the value of this parameter is not
specified, it is treated as ``True``. If the value is specified, ``1``,
``t``, ``true``, ``on``, ``y`` and ``yes`` are treated as ``True``. ``0``,
``f``, ``false``, ``off``, ``n`` and ``no`` are treated as ``False``
(they are case-insensitive). If the value is ``None`` (case-insensitive)
both public and private flavors will be listed in a single request.
flavor_query:
description: |
Filters the response by a flavor, as a UUID. A flavor is a combination of memory,
disk size, and CPUs.
in: query
required: false
type: string
host_query_server:
description: |
Filter the server list result by the host name of compute node.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
in: query
required: false
type: string
host_query_service:
description: |
Filter the service list result by the host name.
in: query
required: false
type: string
hostname_query_server:
description: |
Filter the server list result by the host name of server.
This parameter is only valid when specified by administrators until
microversion 2.90, after which it can be specified by all users.
If non-admin users specify this parameter before microversion 2.90, it is
ignored.
in: query
required: false
type: string
hypervisor_hostname_pattern_query:
description: |
The hypervisor host name or a portion of it. The hypervisor hosts are
selected with the host name matching this pattern.
.. note:: ``limit`` and ``marker`` query parameters for paging are
not supported when listing hypervisors using a hostname pattern.
Also, ``links`` will not be returned in the response when using this
query parameter.
in: query
required: false
type: string
min_version: 2.53
hypervisor_limit:
description: |
Requests a page size of items. Returns a number of items up to a limit value.
Use the ``limit`` parameter to make an initial limited request and use the ID
of the last-seen item from the response as the ``marker`` parameter value in a
subsequent limited request.
in: query
required: false
type: integer
min_version: 2.33
hypervisor_marker:
description: |
The ID of the last-seen item. Use the ``limit`` parameter to make an initial limited
request and use the ID of the last-seen item from the response as the ``marker``
parameter value in a subsequent limited request.
in: query
required: false
type: integer
min_version: 2.33
max_version: 2.52
hypervisor_marker_uuid:
description: |
The ID of the last-seen item as a UUID. Use the ``limit`` parameter to make
an initial limited request and use the ID of the last-seen item from the
response as the ``marker`` parameter value in a subsequent limited request.
in: query
required: false
type: string
min_version: 2.53
hypervisor_query:
description: |
Filters the response by a hypervisor type.
in: query
required: false
type: string
hypervisor_with_servers_query:
description: |
Include all servers which belong to each hypervisor in the response output.
in: query
required: false
type: boolean
min_version: 2.53
image_name_query:
description: |
Filters the response by an image name, as a string.
in: query
required: false
type: string
image_query:
description: |
Filters the response by an image, as a UUID.
.. note::
'image_ref' can also be requested which is alias of 'image'
but that is not recommended to use as that will be removed in future.
in: query
required: false
type: string
image_server_query:
description: |
Filters the response by a server, as a URL.
format: uri
in: query
required: false
type: string
image_status_query:
description: |
Filters the response by an image status, as a string. For example, ``ACTIVE``.
in: query
required: false
type: string
image_type_query:
description: |
Filters the response by an image type. For example, ``snapshot`` or ``backup``.
in: query
required: false
type: string
include:
description: |
Specify ``include=uuid[,uuid...]`` to include the instances in the results.
in: query
required: false
type: string
instance_action_limit:
description: |
Requests a page size of items. Returns a number of items up to a limit value.
Use the ``limit`` parameter to make an initial limited request and use the
last-seen item from the response as the ``marker`` parameter value in a
subsequent limited request.
in: query
required: false
type: integer
min_version: 2.58
instance_action_marker:
description: |
The ``request_id`` of the last-seen instance action. Use the ``limit``
parameter to make an initial limited request and use the last-seen
item from the response as the ``marker`` parameter value in a subsequent
limited request.
in: query
required: false
type: string
min_version: 2.58
ip6_query:
description: |
An IPv6 address to filter results by.
Up to microversion 2.4, this parameter is only valid when specified
by administrators. If non-admin users specify this parameter,
it is ignored.
Starting from microversion 2.5, this parameter is valid for no-admin users
as well as administrators.
in: query
required: false
type: string
ip_query:
description: |
An IPv4 address to filter results by.
in: query
required: false
type: string
kernel_id_query_server:
in: query
required: false
type: string
description: |
Filter the server list result by the UUID of the kernel image
when using an AMI.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
key_name_query_server:
description: |
Filter the server list result by keypair name.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: string
keypair_limit:
description: |
Requests a page size of items. Returns a number of items up to a limit value.
Use the ``limit`` parameter to make an initial limited request and use the
last-seen item from the response as the ``marker`` parameter value in a
subsequent limited request.
in: query
required: false
type: integer
min_version: 2.35
keypair_marker:
description: |
The last-seen item. Use the ``limit`` parameter to make an initial limited
request and use the last-seen item from the response as the ``marker``
parameter value in a subsequent limited request.
in: query
required: false
type: string
min_version: 2.35
keypair_user:
in: query
required: false
type: string
description: |
This allows administrative users to operate key-pairs of specified
user ID.
min_version: 2.10
launch_index_query_server:
description: |
Filter the server list result by the sequence in which the
servers were launched.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
in: query
required: false
type: integer
launched_at_query_server:
description: |
Filter the server list result by a date and time stamp when the instance was launched.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: string
limit:
description: |
Requests a page size of items. Returns a number of items up to a limit value.
Use the ``limit`` parameter to make an initial limited request and use the ID
of the last-seen item from the response as the ``marker`` parameter value in a
subsequent limited request.
in: query
required: false
type: integer
limit_simple:
description: |
Used in conjunction with ``offset`` to return a slice of items. ``limit``
is the maximum number of items to return. If ``limit`` is not specified,
or exceeds the configurable ``max_limit``, then ``max_limit`` will be
used instead.
in: query
required: false
type: integer
locked_by_query_server:
description: |
Filter the server list result by who locked the server, possible value
could be ``admin`` or ``owner``.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
in: query
required: false
type: string
locked_query_server:
description: |
Specify the ``locked`` query parameter to list all locked or unlocked
instances. If the value is specified, ``1``, ``t``, ``true``,
``on``, ``y`` and ``yes`` are treated as ``True``. ``0``, ``f``,
``false``, ``off``, ``n`` and ``no`` are treated as ``False``.
(They are case-insensitive.) Any other value provided will be considered
invalid.
in: query
required: false
type: boolean
min_version: 2.73
marker:
description: |
The ID of the last-seen item. Use the ``limit`` parameter to make an initial limited
request and use the ID of the last-seen item from the response as the ``marker``
parameter value in a subsequent limited request.
in: query
required: false
type: string
migration_hidden:
description: |
The 'hidden' setting of migration to filter.
The 'hidden' flag is set if the value is 1.
The 'hidden' flag is not set if the value is 0.
But the 'hidden' setting of migration is always 0,
so this parameter is useless to filter migrations.
in: query
required: false
type: integer
migration_host:
description: |
The source/destination compute node of migration to filter.
in: query
required: false
type: string
migration_instance_uuid:
description: |
The uuid of the instance that migration is operated on to filter.
in: query
required: false
type: string
migration_limit:
description: |
Requests a page size of items. Returns a number of items up to a limit value.
Use the ``limit`` parameter to make an initial limited request and use the
last-seen item from the response as the ``marker`` parameter value in a
subsequent limited request.
in: query
required: false
type: integer
min_version: 2.59
migration_marker:
description: |
The UUID of the last-seen migration. Use the ``limit`` parameter to make an
initial limited request and use the last-seen item from the response as
the ``marker`` parameter value in a subsequent limited request.
in: query
required: false
type: string
min_version: 2.59
migration_source_compute:
description: |
The source compute node of migration to filter.
in: query
required: false
type: string
migration_status:
description: |
The status of migration to filter.
in: query
required: false
type: string
migration_type:
description: |
The type of migration to filter. Valid values are:
* ``evacuation``
* ``live-migration``
* ``migration``
* ``resize``
in: query
required: false
type: string
minDisk:
description: |
Filters the response by a minimum disk space, in GiB. For example, ``100``.
in: query
required: false
type: integer
minRam:
description: |
Filters the response by a minimum RAM, in MiB. For example, ``512``.
in: query
required: false
type: integer
node_query_server:
description: |
Filter the server list result by the node.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
in: query
required: false
type: string
not_tags_any_query:
in: query
required: false
type: string
description: |
A list of tags to filter the server list by. Servers that don't
match any tags in this list will be returned. Boolean expression in this
case is 'NOT (t1 OR t2)'. Tags in query must be separated by comma.
min_version: 2.26
not_tags_query:
in: query
required: false
type: string
description: |
A list of tags to filter the server list by. Servers that don't
match all tags in this list will be returned. Boolean expression in this
case is 'NOT (t1 AND t2)'. Tags in query must be separated by comma.
min_version: 2.26
offset_simple:
description: |
Used in conjunction with ``limit`` to return a slice of items. ``offset``
is where to start in the list.
in: query
required: false
type: integer
power_state_query_server:
in: query
required: false
type: integer
description: |
Filter the server list result by server power state.
Possible values are integer values that is mapped as::
0: NOSTATE
1: RUNNING
3: PAUSED
4: SHUTDOWN
6: CRASHED
7: SUSPENDED
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
progress_query_server:
description: |
Filter the server list result by the progress of the server.
The value could be from 0 to 100 as integer.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: integer
project_id_query_migrations:
description: |
Filter the migrations by the given project ID.
in: query
required: false
type: string
min_version: 2.80
project_id_query_server:
description: |
Filter the list of servers by the given project ID.
This filter only works when the ``all_tenants`` filter is also specified.
.. note::
'tenant_id' can also be requested which is alias of 'project_id'
but that is not recommended to use as that will be removed in future.
in: query
required: false
type: string
ramdisk_id_query_server:
in: query
required: false
type: string
description: |
Filter the server list result by the UUID of the ramdisk image when
using an AMI.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
reservation_id_query:
in: query
required: false
type: string
description: |
A reservation id as returned by a servers multiple create call.
reserved_query:
description: |
Specify whether the result of resource total includes reserved resources
or not.
- ``0``: Not include reserved resources.
- Other than 0: Include reserved resources.
If non integer value is specified, it is the same as ``0``.
in: query
required: false
type: integer
server_name_query:
description: |
Filters the response by a server name, as a string. You can use regular expressions
in the query. For example, the ``?name=bob`` regular expression returns both bob
and bobb. If you must match on only bob, you can use a regular expression that
matches the syntax of the underlying database server that is implemented for Compute,
such as MySQL or PostgreSQL.
.. note::
'display_name' can also be requested which is alias of 'name'
but that is not recommended to use as that will be removed in future.
format: regexp
in: query
required: false
type: string
server_root_device_name_query:
in: query
required: false
type: string
description: |
Filter the server list result by the root device name of the server.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
server_status_query:
description: |
Filters the response by a server status, as a string. For example, ``ACTIVE``.
Up to microversion 2.37, an empty list is returned if an invalid status is
specified. Starting from microversion 2.38, a 400 error is returned
in that case.
in: query
required: false
type: string
server_uuid_query:
description: |
Filter the server list result by the UUID of the server.
This parameter is only valid when specified by administrators.
If non-admin users specify this parameter, it is ignored.
in: query
required: false
type: string
soft_deleted_server:
description: |
Filter the server list by ``SOFT_DELETED`` status. This parameter is only valid
when the ``deleted=True`` filter parameter is specified.
in: query
required: false
type: boolean
sort_dir_flavor:
description: |
Sort direction. A valid value is ``asc`` (ascending) or ``desc`` (descending).
Default is ``asc``. You can specify multiple pairs of sort key and sort direction
query parameters. If you omit the sort direction in a pair, the API uses the natural
sorting direction of the flavor ``sort_key`` attribute.
in: query
required: false
type: string
sort_dir_server:
description: |
Sort direction. A valid value is ``asc`` (ascending) or ``desc`` (descending).
Default is ``desc``. You can specify multiple pairs of sort key and sort direction
query parameters. If you omit the sort direction in a pair, the API uses the natural
sorting direction of the server ``sort_key`` attribute.
in: query
required: false
type: string
sort_key_flavor:
description: |
Sorts by a flavor attribute. Default attribute is ``flavorid``. You can specify
multiple pairs of sort key and sort direction query parameters. If you omit the
sort direction in a pair, the API uses the natural sorting direction of the flavor
``sort_key`` attribute. The sort keys are limited to:
- ``created_at``
- ``description``
- ``disabled``
- ``ephemeral_gb``
- ``flavorid``
- ``id``
- ``is_public``
- ``memory_mb``
- ``name``
- ``root_gb``
- ``rxtx_factor``
- ``swap``
- ``updated_at``
- ``vcpu_weight``
- ``vcpus``
in: query
required: false
type: string
sort_key_server:
description: |
Sorts by a server attribute. Default attribute is ``created_at``. You can
specify multiple pairs of sort key and sort direction query parameters. If
you omit the sort direction in a pair, the API uses the natural sorting
direction of the server ``sort_key`` attribute. The sort keys are limited
to:
- ``access_ip_v4``
- ``access_ip_v6``
- ``auto_disk_config``
- ``availability_zone``
- ``config_drive``
- ``created_at``
- ``display_description``
- ``display_name``
- ``host``
- ``hostname``
- ``image_ref``
- ``instance_type_id``
- ``kernel_id``
- ``key_name``
- ``launch_index``
- ``launched_at``
- ``locked`` (New in version 2.73)
- ``locked_by``
- ``node``
- ``power_state``
- ``progress``
- ``project_id``
- ``ramdisk_id``
- ``root_device_name``
- ``task_state``
- ``terminated_at``
- ``updated_at``
- ``user_id``
- ``uuid``
- ``vm_state``
``host`` and ``node`` are only allowed for admin.
If non-admin users specify them, a 403 error is returned.
in: query
required: false
type: string
start_simple_tenant_usage:
description: |
The beginning time to calculate usage statistics on compute and
storage resources. The date and time stamp format is any of the
following ones:
::
CCYY-MM-DDThh:mm:ss
For example, ``2015-08-27T09:49:58``.
::
CCYY-MM-DDThh:mm:ss.NNNNNN
For example, ``2015-08-27T09:49:58.123456``.
::
CCYY-MM-DD hh:mm:ss.NNNNNN
For example, ``2015-08-27 09:49:58.123456``.
If you omit this parameter, the current time is used.
in: query
required: false
type: string
tags_any_query:
in: query
required: false
type: string
description: |
A list of tags to filter the server list by. Servers that match
any tag in this list will be returned. Boolean expression in this
case is 't1 OR t2'. Tags in query must be separated by comma.
min_version: 2.26
tags_query:
in: query
required: false
type: string
description: |
A list of tags to filter the server list by. Servers that match
all tags in this list will be returned. Boolean expression in this
case is 't1 AND t2'. Tags in query must be separated by comma.
min_version: 2.26
task_state_query_server:
in: query
required: false
type: string
description: |
Filter the server list result by task state.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
tenant_id_query:
description: |
Specify the project ID (tenant ID) to show the rate and absolute limits.
This parameter can be specified by admin only.
in: query
required: false
type: string
terminated_at_query_server:
description: |
Filter the server list result by a date and time stamp when instance was terminated.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If you omit the time zone, the UTC time zone is assumed.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: string
usage_limit:
description: |
Requests a page size of items. Calculate usage for the limited number of
instances. Use the ``limit`` parameter to make an initial limited request
and use the last-seen instance UUID from the response as the ``marker``
parameter value in a subsequent limited request.
in: query
required: false
type: integer
min_version: 2.40
usage_marker:
description: |
The last-seen item. Use the ``limit`` parameter to make an initial limited
request and use the last-seen instance UUID from the response as the
``marker`` parameter value in a subsequent limited request.
in: query
required: false
type: string
min_version: 2.40
user_id_query_migrations:
description: |
Filter the migrations by the given user ID.
in: query
required: false
type: string
min_version: 2.80
user_id_query_quota:
description: |
ID of user to list the quotas for.
in: query
required: false
type: string
user_id_query_quota_delete:
description: |
ID of user to delete quotas for.
in: query
required: false
type: string
user_id_query_server:
description: |
Filter the list of servers by the given user ID.
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: string
user_id_query_set_quota:
description: |
ID of user to set the quotas for.
in: query
required: false
type: string
vm_state_query_server:
description: |
Filter the server list result by vm state.
The value could be:
- ``ACTIVE``
- ``BUILDING``
- ``DELETED``
- ``ERROR``
- ``PAUSED``
- ``RESCUED``
- ``RESIZED``
- ``SHELVED``
- ``SHELVED_OFFLOADED``
- ``SOFT_DELETED``
- ``STOPPED``
- ``SUSPENDED``
This parameter is restricted to administrators until microversion 2.83.
If non-admin users specify this parameter on a microversion less than 2.83,
it will be ignored.
in: query
required: false
type: string
# variables in body
accessIPv4:
in: body
required: true
type: string
description: |
IPv4 address that should be used to access this server. May be
automatically set by the provider.
accessIPv4_in:
in: body
required: false
type: string
description: |
IPv4 address that should be used to access this server.
accessIPv6:
in: body
required: true
type: string
description: |
IPv6 address that should be used to access this server. May be
automatically set by the provider.
accessIPv6_in:
in: body
required: false
type: string
description: |
IPv6 address that should be used to access this server.
action:
description: |
The name of the action.
in: body
required: true
type: string
action_reserve:
description: |
The attribute to reserve an IP with a value of ``null``.
in: body
required: false
type: string
action_unreserve:
description: |
The attribute to release an IP with a value of ``null``.
in: body
required: false
type: string
addFixedIp:
description: |
The action to add a fixed ip address to a server.
in: body
required: true
type: object
addFloatingIp:
description: |
The action. Contains required floating IP ``address`` and optional
``fixed_address``.
in: body
required: true
type: object
address:
description: |
The floating IP address.
in: body
required: true
type: string
addresses:
description: |
The addresses for the server. Servers with status ``BUILD`` hide their
addresses information.
This view is not updated immediately.
Please consult with OpenStack Networking API for up-to-date information.
in: body
required: true
type: object
addresses_obj:
description: |
The addresses information for the server.
in: body
required: true
type: object
addSecurityGroup:
description: |
The action to add a security group to a server.
in: body
required: true
type: object
addTenantAccess:
description: |
The action.
in: body
required: true
type: string
adminPass_change_password:
description: |
The administrative password for the server.
in: body
required: true
type: string
adminPass_evacuate:
description: |
An administrative password to access the evacuated instance.
If you set ``enable_instance_password`` configuration option to ``False``,
the API wouldn't return the ``adminPass`` field in response.
in: body
required: false
type: string
max_version: 2.13
adminPass_evacuate_request:
description: |
An administrative password to access the evacuated server.
If you omit this parameter, the operation generates a new password.
Up to API version 2.13, if ``onSharedStorage`` is set to ``True`` and
this parameter is specified, an error is raised.
in: body
required: false
type: string
adminPass_request:
description: |
The administrative password of the server. If you omit this parameter, the operation
generates a new password.
in: body
required: false
type: string
adminPass_rescue_request:
description: |
The password for the rescued instance. If you omit this parameter, the operation
generates a new password.
in: body
required: false
type: string
adminPass_response:
description: |
The administrative password for the server. If you set ``enable_instance_password`` configuration
option to ``False``, the API wouldn't return the ``adminPass`` field in response.
in: body
required: false
type: string
agent:
description: |
The guest agent object.
in: body
required: true
type: object
agent_id:
description: |
The agent ID.
in: body
required: true
type: integer
agent_id_str:
description: |
The agent ID. (This is a bug of API, this should be integer type which is consistent with
the responses of agent create and list. This will be fixed in later microversion.)
in: body
required: true
type: string
agents:
description: |
A list of guest agent objects.
in: body
required: true
type: array
aggregate:
description: |
The host aggregate object.
in: body
required: true
type: object
aggregate_add_host:
description: |
The add_host object used to add host to aggregate.
in: body
required: true
type: object
aggregate_az:
description: |
The availability zone of the host aggregate.
in: body
required: true
type: string
aggregate_az_optional_create:
description: |
The availability zone of the host aggregate. You should use a custom
availability zone rather than the default returned by the
os-availability-zone API. The availability zone must not include ':'
in its name.
in: body
required: false
type: string
aggregate_az_optional_update:
description: |
The availability zone of the host aggregate. You should use a custom
availability zone rather than the default returned by the
os-availability-zone API. The availability zone must not include ':'
in its name.
.. warning:: You should not change or unset the availability zone of an
aggregate when that aggregate has hosts which contain servers in it
since that may impact the ability for those servers to move to another
host.
in: body
required: false
type: string
aggregate_host_list:
description: |
A list of host ids in this aggregate.
in: body
required: true
type: array
aggregate_id_body:
description: |
The ID of the host aggregate.
in: body
required: true
type: integer
aggregate_metadata_request:
description: |
Metadata key and value pairs associated with the aggregate.
The maximum size for each metadata key and value pair is 255 bytes.
New keys will be added to existing aggregate metadata. For existing
keys, if the value is ``null`` the entry is removed, otherwise the
value is updated. Note that the special ``availability_zone`` metadata
entry cannot be unset to ``null``.
.. warning:: You should not change the availability zone of an
aggregate when that aggregate has hosts which contain servers in it
since that may impact the ability for those servers to move to another
host.
in: body
required: true
type: object
aggregate_metadata_response:
description: |
Metadata key and value pairs associated with the aggregate.
in: body
required: true
type: object
aggregate_name:
description: |
The name of the host aggregate.
in: body
required: true
type: string
aggregate_name_optional:
description: |
The name of the host aggregate.
in: body
required: false
type: string
aggregate_remove_host:
description: |
The add_host object used to remove host from aggregate.
in: body
required: true
type: object
aggregate_uuid:
description: |
The UUID of the host aggregate.
in: body
required: true
type: string
min_version: 2.41
aggregates:
description: |
The list of existing aggregates.
in: body
required: true
type: array
alias:
description: |
A short name by which this extension is also known.
in: body
required: true
type: string
alive:
description: |
Returns true if the instance is alive.
in: body
required: true
type: boolean
architecture:
description: |
The name of the cpu architecture.
in: body
required: true
type: string
associate_host:
description: |
The name of the host to associate.
in: body
required: true
type: string
attachment_bdm_id_resp:
description: |
The UUID of the block device mapping record in Nova for the attachment.
in: body
required: true
type: string
min_version: 2.89
attachment_device_put_req:
description: |
Name of the device in the attachment object, such as, ``/dev/vdb``.
in: body
required: false
type: string
min_version: 2.85
attachment_device_resp:
description: |
Name of the device in the attachment object, such as, ``/dev/vdb``.
in: body
required: false
type: string
attachment_id_put_req:
description: |
The UUID of the attachment.
in: body
required: false
type: string
min_version: 2.85
attachment_id_resp:
description: |
The UUID of the attachment.
in: body
required: false
type: string
attachment_server_id_put_req:
description: |
The UUID of the server.
in: body
required: false
type: string
min_version: 2.85
attachment_server_id_resp:
description: |
The UUID of the server.
in: body
required: false
type: string
attachment_volume_id_resp:
description: |
The UUID of the associated volume attachment in Cinder.
in: body
required: true
type: string
min_version: 2.89
attachment_volumeId_resp:
description: |
The UUID of the attached volume.
in: body
required: false
type: string
availability_zone:
description: |
The availability zone.
in: body
required: false
type: string
availability_zone_info:
description: |
The list of availability zone information.
in: body
required: true
type: array
availability_zone_state:
description: |
The current state of the availability zone.
in: body
required: true
type: object
availability_zone_unshelve:
description: |
The availability zone name. Specifying an availability zone is only
allowed when the server status is ``SHELVED_OFFLOADED`` otherwise
HTTP 409 conflict response is returned.
Since microversion 2.91 ``"availability_zone":null`` allows unpinning the
instance from any availability_zone it is pinned to.
in: body
required: false
type: string
min_version: 2.77
available:
description: |
Returns true if the availability zone is available.
in: body
required: true
type: boolean
backup_name:
description: |
The name of the image to be backed up.
in: body
required: true
type: string
backup_rotation:
description: |
The rotation of the back up image, the oldest image will be removed when image count
exceed the rotation count.
in: body
required: true
type: integer
backup_type:
description: |
The type of the backup, for example, ``daily``.
in: body
required: true
type: string
baremetal_cpus:
description: |
Number of CPUs the node has.
.. note:: This is a JSON string, even though it will look like an int value.
in: body
required: true
type: string
baremetal_disk:
description: |
Amount of disk in GiB the node has.
.. note:: This is a JSON string, even though it will look like an int value.
in: body
required: true
type: string
baremetal_host:
description: |
This will always have the value ``IRONIC MANAGED``.
in: body
required: true
type: string
baremetal_id:
description: |
UUID of the baremetal node.
in: body
required: true
type: string
baremetal_instance_uuid:
description: |
UUID of the server instance on this node.
in: body
required: true
type: string
baremetal_interfaces:
description: |
A list of interface objects for active interfaces on the baremetal
node. Each will have an ``address`` field with the address.
in: body
required: true
type: array
baremetal_mem:
description: |
Amount of memory in MiB the node has.
.. note:: This is a JSON string, even though it will look like an int value.
in: body
required: true
type: string
baremetal_node:
description: |
A baremetal node object.
in: body
required: true
type: object
baremetal_nodes:
description: |
An array of baremetal node objects.
in: body
required: true
type: array
baremetal_taskstate:
description: |
The Ironic task state for the node. See Ironic project for more
details.
in: body
required: true
type: string
binary:
description: |
The binary name of the service.
in: body
required: true
type: string
block_device_mapping_v2:
description: |
Enables fine grained control of the block device mapping for an instance. This
is typically used for booting servers from volumes. An example format would look
as follows:
.. code-block:: javascript
"block_device_mapping_v2": [{
"boot_index": "0",
"uuid": "ac408821-c95a-448f-9292-73986c790911",
"source_type": "image",
"volume_size": "25",
"destination_type": "volume",
"delete_on_termination": true,
"tag": "disk1",
"disk_bus": "scsi"}]
In microversion 2.32, ``tag`` is an optional string attribute that can
be used to assign a tag to the block device. This tag is then exposed to
the guest in the metadata API and the config drive and is associated to
hardware metadata for that block device, such as bus (ex: SCSI), bus
address (ex: 1:0:2:0), and serial.
A bug has caused the ``tag`` attribute to no longer be accepted starting
with version 2.33. It has been restored in version 2.42.
in: body
required: false
type: array
block_device_uuid:
description: |
This is the uuid of source resource. The uuid points to different resources
based on the ``source_type``. For example, if ``source_type`` is ``image``,
the block device is created based on the specified image which is retrieved
from the image service. Similarly, if ``source_type`` is ``snapshot`` then
the uuid refers to a volume snapshot in the block storage service. If
``source_type`` is ``volume`` then the uuid refers to a volume in the block
storage service.
in: body
required: false
type: string
block_migration:
description: |
Set to ``True`` to migrate local disks by using block migration. If the source
or destination host uses shared storage and you set this value to ``True``, the
live migration fails.
in: body
required: true
type: boolean
max_version: 2.24
block_migration_2_25:
description: |
Migrates local disks by using block migration. Set to ``auto`` which means
nova will detect whether source and destination hosts on shared storage. if they are
on shared storage, the live-migration won't be block migration. Otherwise the block
migration will be executed. Set to ``True``, means the request will fail when the
source or destination host uses shared storage. Set to ``False`` means the request
will fail when the source and destination hosts are not on the shared storage.
in: body
required: true
type: string
min_version: 2.25
boot_index:
description: |
Defines the order in which a hypervisor tries devices when it attempts to boot
the guest from storage. Give each device a unique boot index starting from ``0``.
To disable a device from booting, set the boot index to a negative value or use
the default boot index value, which is ``None``. The simplest usage is, set the
boot index of the boot device to ``0`` and use the default boot index value, ``None``,
for any other devices. Some hypervisors might not support booting from multiple
devices; these hypervisors consider only the device with a boot index of ``0``. Some
hypervisors support booting from multiple devices but only if the devices are
of different types. For example, a disk and CD-ROM.
in: body
required: true
type: integer
cache:
description: A list of image objects to cache.
in: body
required: true
type: array
certificate:
description: |
The certificate object.
in: body
required: true
type: object
changePassword:
description: |
The action to change an administrative password of the server.
in: body
required: true
type: object
cidr:
description: |
The CIDR for address range.
in: body
required: true
type: string
cloudpipe:
description: |
The cloudpipe object.
in: body
required: true
type: object
cloudpipes:
description: |
The list of cloudpipe objects.
in: body
required: true
type: array
code:
description: |
The HTTP response code for the event. The following codes are currently used:
* 200 - successfully submitted event
* 400 - the request is missing required parameter
* 404 - the instance specified by ``server_uuid`` was not found
* 422 - no host was found for the server specified by ``server_uuid``,
so there is no route to this server.
in: body
required: true
type: string
config_drive:
description: |
Indicates whether a config drive enables metadata injection. The config_drive
setting provides information about a drive that the instance can mount at boot
time. The instance reads files from the drive to get information that is normally
available through the metadata service. This metadata is different from the user
data. Not all cloud providers enable the ``config_drive``. Read more in the
`OpenStack End User Guide <https://docs.openstack.org/nova/latest/user/config-drive.html>`_.
in: body
required: false
type: boolean
config_drive_diagnostics:
description: |
Indicates whether or not a config drive was used for this server.
in: body
required: true
type: boolean
min_version: 2.48
config_drive_resp:
description: |
Indicates whether or not a config drive was used for this server.
The value is ``True`` or an empty string. An empty string stands for
``False``.
in: body
required: true
type: string
config_drive_resp_update_rebuild:
description: |
Indicates whether or not a config drive was used for this server.
The value is ``True`` or an empty string. An empty string stands for
``False``.
in: body
required: true
type: string
min_version: 2.75
configure_project_cloudpipe:
description: |
VPN IP and Port information to configure the cloudpipe instance..
in: body
required: true
type: object
confirmResize:
description: |
The action to confirm a resize operation.
in: body
required: true
type: none
console:
description: |
The console object.
in: body
required: true
type: object
console_host:
description: |
The name or ID of the host.
in: body
required: false
type: string
console_id_in_body:
description: |
The UUID of the console.
in: body
required: true
type: string
console_output:
description: |
The console output as a string. Control characters will be escaped
to create a valid JSON string.
in: body
required: true
type: string
console_password:
description: |
The password for the console.
in: body
required: true
type: string
console_type:
description: |
The type of the console.
in: body
required: true
type: string
consoles:
description: |
The list of console objects.
in: body
required: true
type: array
contents:
description: |
The file contents field in the personality object.
in: body
required: true
type: string
max_version: 2.56
cores: &cores
description: |
The number of allowed server cores for each tenant.
in: body
required: true
type: integer
cores_quota_class: &cores_quota_class
<<: *cores
description: |
The number of allowed server cores for the quota class.
cores_quota_class_optional:
<<: *cores_quota_class
required: false
cores_quota_details:
description: |
The object of detailed cores quota, including in_use, limit and
reserved number of cores.
in: body
required: true
type: object
cores_quota_optional:
description: |
The number of allowed server cores for each tenant.
in: body
required: false
type: integer
cpu_details_diagnostics:
description: |
The list of dictionaries with detailed information about VM CPUs.
Following fields are presented in each dictionary:
- ``id`` - the ID of CPU (Integer)
- ``time`` - CPU Time in nano seconds (Integer)
- ``utilisation`` - CPU utilisation in percents (Integer)
in: body
required: true
type: array
min_version: 2.48
cpu_info:
description: |
A dictionary that contains cpu information like ``arch``, ``model``,
``vendor``, ``features`` and ``topology``. The content of this field is
hypervisor specific.
.. note::
Since version 2.28 ``cpu_info`` field is returned as a dictionary
instead of string.
in: body
required: true
type: object
max_version: 2.87
create_info:
description: |
Information for snapshot creation.
in: body
required: true
type: object
create_info_id:
description: |
Its an arbitrary string that gets passed back to the user.
in: body
required: false
type: string
create_info_id_resp:
description: |
Its the same arbitrary string which was sent in request body.
.. note::
This string is passed back to user as it is and not being
used in Nova internally. So use ``snapshot_id`` instead for further
operation on this snapshot.
in: body
required: true
type: string
createBackup:
description: |
The action.
in: body
required: true
type: object
created:
description: |
The date and time when the resource was created. The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
createImage:
description: |
The action to create a snapshot of the image or
the volume(s) of the server.
in: body
required: true
type: object
current_workload:
description: |
The current_workload is the number of tasks the hypervisor is responsible
for. This will be equal or greater than the number of active VMs on the
system (it can be greater when VMs are being deleted and the hypervisor is
still cleaning up).
in: body
required: true
type: integer
max_version: 2.87
current_workload_total:
description: |
The current_workload is the number of tasks the hypervisors are responsible
for. This will be equal or greater than the number of active VMs on the
systems (it can be greater when VMs are being deleted and a hypervisor is
still cleaning up).
in: body
required: true
type: integer
data:
description: |
The certificate.
in: body
required: true
type: string
delete_on_termination:
description: |
To delete the boot volume when the server is destroyed, specify ``true``.
Otherwise, specify ``false``. Default: ``false``
in: body
required: false
type: boolean
delete_on_termination_attachments_req:
description: |
To delete the attached volume when the server is destroyed, specify ``true``.
Otherwise, specify ``false``. Default: ``false``
in: body
required: false
type: boolean
min_version: 2.79
delete_on_termination_attachments_resp:
description: |
A flag indicating if the attached volume will be deleted when the server is
deleted.
in: body
required: true
type: boolean
min_version: 2.79
delete_on_termination_put_req:
description: |
A flag indicating if the attached volume will be deleted when the server is
deleted.
in: body
required: false
type: boolean
min_version: 2.85
deleted:
description: |
A boolean indicates whether this aggregate is deleted or not, if it has
not been deleted, ``false`` will appear.
in: body
required: true
type: boolean
deleted_at:
description: |
The date and time when the resource was deleted. If the resource has
not been deleted yet, this field will be ``null``, The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
description:
description: |
Security group description.
in: body
required: true
type: string
destination_type:
description: |
Defines where the block device mapping will reside. Valid values are:
* ``local``: The ephemeral disk resides local to the compute host on
which the server runs
* ``volume``: The persistent volume is stored in the block storage service
in: body
required: false
type: string
device:
description: |
Name of the device such as, ``/dev/vdb``. Omit or set this parameter to null for
auto-assignment, if supported. If you specify this parameter, the device must
not exist in the guest operating system. Note that as of the 12.0.0 Liberty release,
the Nova libvirt driver no longer honors a user-supplied device name. This is
the same behavior as if the device name parameter is not supplied on the request.
in: body
required: false
type: string
device_name:
description: |
A path to the device for the volume that you want to use to boot the server.
Note that as of the 12.0.0 Liberty release, the Nova libvirt driver no
longer honors a user-supplied device name. This is the same behavior as if
the device name parameter is not supplied on the request.
in: body
required: false
type: string
device_resp:
description: |
Name of the device such as, ``/dev/vdb``.
in: body
required: true
type: string
device_tag_bdm:
description: |
A device role tag that can be applied to a block device. The guest OS of a
server that has devices tagged in this manner can access hardware metadata
about the tagged devices from the metadata API and on the config drive, if
enabled.
.. note:: Due to a bug, block device tags are accepted in version 2.32 and
subsequently starting with version 2.42.
in: body
required: false
type: string
min_version: 2.32
device_tag_bdm_attachment:
description: |
A device role tag that can be applied to a volume when attaching it to the
VM. The guest OS of a server that has devices tagged in this manner can
access hardware metadata about the tagged devices from the metadata API and
on the config drive, if enabled.
.. note:: Tagged volume attachment is not supported for shelved-offloaded
instances.
in: body
required: false
type: string
min_version: 2.49
device_tag_bdm_attachment_put_req:
description: |
The device tag applied to the volume block device or ``null``.
in: body
required: true
type: string
min_version: 2.85
device_tag_bdm_attachment_resp:
description: |
The device tag applied to the volume block device or ``null``.
in: body
required: true
type: string
min_version: 2.70
device_tag_nic:
description: |
A device role tag that can be applied to a network interface. The guest OS
of a server that has devices tagged in this manner can access hardware
metadata about the tagged devices from the metadata API and on the config
drive, if enabled.
.. note:: Due to a bug, network interface tags are accepted between 2.32
and 2.36 inclusively, and subsequently starting with version 2.42.
in: body
required: false
type: string
min_version: 2.32
device_tag_nic_attachment:
description: |
A device role tag that can be applied to a network interface when attaching
it to the VM. The guest OS of a server that has devices tagged in this
manner can access hardware metadata about the tagged devices from the
metadata API and on the config
drive, if enabled.
in: body
required: false
type: string
min_version: 2.49
device_tag_nic_attachment_resp:
description: |
The device tag applied to the virtual network interface or ``null``.
in: body
required: true
type: string
min_version: 2.70
device_type:
description: |
The device type. For example, ``disk``, ``cdrom``.
in: body
required: false
type: string
device_volume_type:
description: |
The device ``volume_type``. This can be used to specify the type of volume
which the compute service will create and attach to the server.
If not specified, the block storage service will provide a default volume
type. See the `block storage volume types API <https://docs.openstack.org/api-ref/block-storage/v3/#volume-types-types>`_
for more details.
There are some restrictions on ``volume_type``:
- It can be a volume type ID or name.
- It is only supported with ``source_type`` of ``blank``, ``image`` or
``snapshot``.
- It is only supported with ``destination_type`` of ``volume``.
in: body
required: false
type: string
min_version: 2.67
# Optional input parameter in the body for PUT /os-services/{service_id} added
# in microversion 2.53.
disabled_reason_2_53_in:
description: |
The reason for disabling a service. The minimum length is 1 and the
maximum length is 255. This may only be requested with ``status=disabled``.
in: body
required: false
type: string
disabled_reason_body:
description: |
The reason for disabling a service.
in: body
required: true
type: string
disk_available_least:
description: |
The actual free disk on this hypervisor(in GiB). If allocation ratios used
for overcommit are configured, this may be negative. This is intentional as
it provides insight into the amount by which the disk is overcommitted.
in: body
required: true
type: integer
max_version: 2.87
disk_available_least_total:
description: |
The actual free disk on all hypervisors(in GiB). If allocation ratios used
for overcommit are configured, this may be negative. This is intentional as
it provides insight into the amount by which the disk is overcommitted.
in: body
required: true
type: integer
disk_bus:
description: |
Disk bus type, some hypervisors (currently only libvirt) support
specify this parameter. Some example disk_bus values can be: ``fdc``,
``ide``, ``sata``, ``scsi``, ``usb``, ``virtio``, ``xen``, ``lxc``
and ``uml``. Support for each bus type depends on the virtualization driver
and underlying hypervisor.
in: body
required: false
type: string
disk_config:
description: |
Disk configuration. The value is either:
- ``AUTO``. The API builds the server with a single partition the size of
the target flavor disk. The API automatically adjusts the file system to
fit the entire partition.
- ``MANUAL``. The API builds the server by using the partition scheme and
file system that is in the source image. If the target flavor disk is
larger, The API does not partition the remaining disk space.
in: body
required: true
type: string
disk_details_diagnostics:
description: |
The list of dictionaries with detailed information about VM disks.
Following fields are presented in each dictionary:
- ``read_bytes`` - Disk reads in bytes (Integer)
- ``read_requests`` - Read requests (Integer)
- ``write_bytes`` - Disk writes in bytes (Integer)
- ``write_requests`` - Write requests (Integer)
- ``errors_count`` - Disk errors (Integer)
in: body
required: true
type: array
min_version: 2.48
disk_over_commit:
description: |
Set to ``True`` to enable over commit when the destination host is checked for
available disk space. Set to ``False`` to disable over commit. This setting affects
only the libvirt virt driver.
in: body
required: true
type: boolean
max_version: 2.25
display_description:
description: |
The volume description.
in: body
required: true
type: string
display_description_optional:
description: |
The volume description.
in: body
required: false
type: string
display_name:
description: |
The volume name.
in: body
required: true
type: string
display_name_optional:
description: |
The volume name.
in: body
required: false
type: string
driver_diagnostics:
description: |
The driver on which the VM is running. Possible values are:
- ``libvirt``
- ``xenapi``
- ``vmwareapi``
- ``ironic``
in: body
required: true
type: string
min_version: 2.48
ended_at:
description: |
The date and time when the server was deleted.
The date and time stamp format is as follows:
::
CCYY-MM-DDThh:mm:ss.NNNNNN
For example, ``2015-08-27T09:49:58.123456``.
If the server hasn't been deleted yet, its value is ``null``.
in: body
required: true
type: string
ended_at_optional:
description: |
The date and time when the server was deleted.
The date and time stamp format is as follows:
::
CCYY-MM-DDThh:mm:ss.NNNNNN
For example, ``2015-08-27T09:49:58.123456``.
If the server hasn't been deleted yet, its value is ``null``.
in: body
required: false
type: string
errors:
description: |
The number of errors.
in: body
required: true
type: integer
evacuate:
description: |
The action to evacuate a server to another host.
in: body
required: true
type: object
event:
description: |
The name of the event.
in: body
required: true
type: string
event_details:
min_version: 2.84
description: |
Details of the event. May be ``null``.
in: body
required: true
type: string
event_finish_time:
description: |
The date and time when the event was finished. The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
event_host:
min_version: 2.62
description: |
The name of the host on which the event occurred.
Policy defaults enable only users with the administrative role to see
an instance action event host. Cloud providers can change these
permissions through the ``policy.json`` file.
in: body
required: false
type: string
event_hostId:
min_version: 2.62
description: |
An obfuscated hashed host ID string, or the empty string if there is no
host for the event. This is a hashed value so will not actually look like
a hostname, and is hashed with data from the project_id, so the same
physical host as seen by two different project_ids will be different.
This is useful when within the same project you need to determine if two
events occurred on the same or different physical hosts.
in: body
required: true
type: string
event_name:
description: |
The event name. A valid value is:
- ``network-changed``
- ``network-vif-plugged``
- ``network-vif-unplugged``
- ``network-vif-deleted``
- ``volume-extended`` (since microversion ``2.51``)
- ``power-update`` (since microversion ``2.76``)
- ``accelerator-request-bound`` (since microversion ``2.82``)
in: body
required: true
type: string
event_result:
description: |
The result of the event.
in: body
required: true
type: string
event_start_time:
description: |
The date and time when the event was started. The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
event_status:
description: |
The event status. A valid value is ``failed``, ``completed``, or ``in-progress``.
Default is ``completed``.
in: body
required: false
type: string
event_tag:
description: |
A string value that identifies the event. Certain types of events require
specific tags:
- For the ``accelerator-request-bound`` event, the tag must be
the accelerator request UUID.
- For the ``power-update`` event the tag must be either be ``POWER_ON``
or ``POWER_OFF``.
- For the ``volume-extended`` event the tag must be the volume id.
in: body
required: false
type: string
event_traceback:
description: |
The traceback stack if an error occurred in this event.
Policy defaults enable only users with the administrative role to see
an instance action event traceback. Cloud providers can change these
permissions through the ``policy.json`` file.
in: body
required: true
type: string
events:
description: |
List of external events to process.
in: body
required: true
type: array
extension:
description: |
An ``extension`` object.
in: body
required: true
type: object
extension_description:
description: |
Text describing this extension's purpose.
in: body
required: true
type: string
extension_links:
description: |
Links pertaining to this extension. This is a list of dictionaries, each including
keys ``href`` and ``rel``.
in: body
required: true
type: array
extension_name:
description: |
Name of the extension.
in: body
required: true
type: string
extensions:
description: |
List of ``extension`` objects.
in: body
required: true
type: array
extra_specs:
description: |
A dictionary of the flavor's extra-specs key-and-value pairs. It appears
in the os-extra-specs' "create" REQUEST body, as well as the
os-extra-specs' "create" and "list" RESPONSE body.
in: body
required: true
type: object
extra_specs_2_47:
min_version: 2.47
description: |
A dictionary of the flavor's extra-specs key-and-value pairs. This will
only be included if the user is allowed by policy to index flavor
extra_specs.
in: body
required: false
type: object
extra_specs_2_61:
min_version: 2.61
description: |
A dictionary of the flavor's extra-specs key-and-value pairs. This will
only be included if the user is allowed by policy to index flavor
extra_specs.
in: body
required: false
type: object
fault:
description: |
A fault object. Only displayed when the server status is ``ERROR`` or
``DELETED`` and a fault occurred.
in: body
required: false
type: object
fault_code:
description: |
The error response code.
in: body
required: true
type: integer
fault_created:
description: |
The date and time when the exception was raised. The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
fault_details:
description: |
The stack trace. It is available if the response code is not 500 or
you have the administrator privilege
in: body
required: false
type: string
fault_message:
description: |
The error message.
in: body
required: true
type: string
fixed_address:
description: |
The fixed IP address with which you want to associate the floating IP address.
in: body
required: false
type: string
fixed_ip:
description: |
A fixed IPv4 address for the NIC. Valid with a ``neutron`` or ``nova-networks``
network.
in: body
required: false
type: string
fixed_ip_address:
description: |
Fixed IP associated with floating IP network.
in: body
required: true
type: string
fixed_ip_host:
description: |
The hostname of the host that manages the server that is associated with
this fixed IP address.
in: body
required: true
type: string
fixed_ip_hostname:
description: |
The hostname of the server that is associated with this fixed IP address.
in: body
required: true
type: string
fixed_ip_obj:
description: |
A fixed IP address object.
in: body
required: true
type: object
fixed_ips:
description: |
Fixed IP addresses. If you request a specific fixed IP address without
a ``net_id``, the request returns a ``Bad Request (400)`` response code.
in: body
required: false
type: array
fixed_ips_quota:
description: |
The number of allowed fixed IP addresses for each tenant. Must be equal to or
greater than the number of allowed servers.
in: body
required: true
type: integer
max_version: 2.35
fixed_ips_quota_class: &fixed_ips_quota_class
description: |
The number of allowed fixed IP addresses for the quota class. Must be
equal to or greater than the number of allowed servers.
in: body
required: true
type: integer
max_version: 2.49
fixed_ips_quota_class_optional:
<<: *fixed_ips_quota_class
required: false
fixed_ips_quota_details:
description: |
The object of detailed fixed ips quota, including in_use, limit and
reserved number of fixed ips.
in: body
required: true
type: object
max_version: 2.35
fixed_ips_quota_optional:
description: |
The number of allowed fixed IP addresses for each tenant. Must be equal to or
greater than the number of allowed servers.
in: body
required: false
type: integer
max_version: 2.35
fixed_ips_resp:
description: |
Fixed IP addresses with subnet IDs.
in: body
required: true
type: array
flavor:
description: |
The ID and links for the flavor for your server instance. A flavor is a combination
of memory, disk size, and CPUs.
in: body
required: true
type: object
flavor_access:
description: |
A list of objects, each with the keys ``flavor_id`` and ``tenant_id``.
in: body
required: true
type: array
flavor_cpus:
in: body
required: true
type: integer
description: |
The number of virtual CPUs that will be allocated to the server.
flavor_cpus_2_47:
min_version: 2.47
in: body
required: true
type: integer
description: |
The number of virtual CPUs that were allocated to the server.
flavor_description:
type: string
in: body
required: false
min_version: 2.55
description: |
A free form description of the flavor. Limited to 65535 characters
in length. Only printable characters are allowed.
flavor_description_required:
type: string
in: body
required: true
description: |
A free form description of the flavor. Limited to 65535 characters
in length. Only printable characters are allowed.
flavor_description_resp:
description: |
The description of the flavor.
in: body
required: true
type: string
min_version: 2.55
flavor_description_resp_no_min:
description: |
The description of the flavor.
in: body
required: true
type: string
flavor_disabled:
in: body
required: false
type: boolean
description: |
Whether or not the flavor has been administratively disabled.
This is an artifact of the legacy v2 API and will always be set to
``false``. There is currently no way to disable a flavor and set this to
``true``.
flavor_disk:
in: body
required: true
type: integer
description: |
The size of the root disk that will be created in GiB. If 0 the
root disk will be set to exactly the size of the image used to
deploy the instance. However, in this case the scheduler cannot
select the compute host based on the virtual image size. Therefore,
0 should only be used for volume booted instances or for testing
purposes. Volume-backed instances can be enforced for flavors with
zero root disk via the ``os_compute_api:servers:create:zero_disk_flavor``
policy rule.
flavor_disk_2_47:
min_version: 2.47
in: body
required: true
type: integer
description: |
The size of the root disk that was created in GiB.
flavor_ephem_disk:
in: body
required: true
type: integer
description: |
The size of the ephemeral disk that will be created, in
GiB. Ephemeral disks may be written over on server state
changes. So should only be used as a scratch space for
applications that are aware of its limitations. Defaults to 0.
flavor_ephem_disk_2_47:
min_version: 2.47
in: body
required: true
type: integer
description: |
The size of the ephemeral disk that was created, in GiB.
flavor_ephem_disk_in:
in: body
required: false
type: integer
description: |
The size of the ephemeral disk that will be created, in
GiB. Ephemeral disks may be written over on server state
changes. So should only be used as a scratch space for
applications that are aware of its limitations. Defaults to 0.
flavor_extra_spec_key2:
description: |
The extra spec key of a flavor. It appears in the os-extra-specs'
"create" and "update" REQUEST body, as well as the os-extra-specs'
"create", "list", "show", and "update" RESPONSE body.
in: body
required: true
type: string
flavor_extra_spec_key_2_47:
description: |
The extra spec key of a flavor.
in: body
required: true
type: string
min_version: 2.47
flavor_extra_spec_value:
description: |
The extra spec value of a flavor. It appears in the os-extra-specs'
"create" and "update" REQUEST body, as well as the os-extra-specs'
"create", "list", "show", and "update" RESPONSE body.
in: body
required: true
type: string
flavor_extra_spec_value_2_47:
description: |
The extra spec value of a flavor.
in: body
required: true
type: string
min_version: 2.47
flavor_id_body:
description: |
The ID of the flavor. While people often make this look like
an int, this is really a string.
in: body
required: true
type: string
flavor_id_body_2_46:
description: |
The ID of the flavor. While people often make this look like
an int, this is really a string.
in: body
required: true
type: string
max_version: 2.46
flavor_id_body_create:
description: |
Only alphanumeric characters with hyphen '-', underscore '_', spaces
and dots '.' are permitted. If an ID is not provided, then a default UUID
will be assigned.
in: body
required: false
type: string
flavor_is_public:
description: |
Whether the flavor is public (available to all projects) or scoped
to a set of projects. Default is True if not specified.
in: body
required: true
type: boolean
flavor_is_public_in:
description: |
Whether the flavor is public (available to all projects) or scoped
to a set of projects. Default is True if not specified.
in: body
required: false
type: boolean
flavor_links_2_46:
description: |
Links to the flavor resource. See `API Guide / Links and
References
<https://docs.openstack.org/api-guide/compute/links_and_references.html>`_
for more info.
in: body
required: true
type: array
max_version: 2.46
flavor_name:
description: |
The display name of a flavor.
in: body
required: true
type: string
flavor_name_optional:
description: |
The display name of a flavor.
in: body
required: false
type: string
flavor_original_name:
description: |
The display name of a flavor.
in: body
required: true
type: string
min_version: 2.47
flavor_ram:
description: |
The amount of RAM a flavor has, in MiB.
in: body
required: true
type: integer
flavor_ram_2_47:
description: |
The amount of RAM a flavor has, in MiB.
in: body
required: true
type: integer
min_version: 2.47
flavor_rxtx_factor:
description: |
The receive / transmit factor (as a float) that will be set on
ports if the network backend supports the QOS extension.
Otherwise it will be ignored. It defaults to 1.0.
in: body
required: true
type: float
flavor_rxtx_factor_in:
description: |
The receive / transmit factor (as a float) that will be set on
ports if the network backend supports the QOS extension.
Otherwise it will be ignored. It defaults to 1.0.
in: body
required: false
type: float
flavor_server:
description: |
Before microversion 2.47 this contains the ID and links for the flavor
used to boot the server instance. This can be an empty object in case
flavor information is no longer present in the system.
As of microversion 2.47 this contains a subset of the actual flavor
information used to create the server instance, represented as a nested
dictionary.
in: body
required: true
type: object
flavor_swap:
description: |
The size of a dedicated swap disk that will be allocated, in
MiB. If 0 (the default), no dedicated swap disk will be created.
Currently, the empty string ('') is used to represent 0.
As of microversion 2.75 default return value of swap is 0
instead of empty string.
in: body
required: true
type: integer
flavor_swap_2_47:
description: |
The size of a dedicated swap disk that was allocated, in MiB.
in: body
required: true
type: integer
min_version: 2.47
flavor_swap_in:
description: |
The size of a dedicated swap disk that will be allocated, in
MiB. If 0 (the default), no dedicated swap disk will be created.
in: body
required: false
type: integer
flavorRef:
description: |
The flavor reference, as an ID (including a UUID) or full URL,
for the flavor for your server instance.
in: body
required: true
type: string
flavorRef_resize:
description: |
The flavor ID for resizing the server. The size of the disk in the flavor
being resized to must be greater than or equal to the size of the disk in
the current flavor.
If a specified flavor ID is the same as the current one of the server,
the request returns a ``Bad Request (400)`` response code.
in: body
required: true
type: string
flavors:
description: |
An array of flavor objects.
in: body
required: true
type: array
floating_ip:
description: |
The floating ip address.
in: body
required: true
type: string
floating_ip_bulk_object:
description: |
The floating ip bulk address object.
in: body
required: true
type: object
floating_ip_id_value:
description: |
The floating IP id value.
.. note::
For nova-network, the value will be of type integer, whereas for
neutron, the value will be of type string.
in: body
required: true
type: string
floating_ip_obj:
description: |
A floating IP address object.
in: body
required: true
type: object
floating_ip_pool_name:
description: |
The name of the floating IP pool.
in: body
required: true
type: string
floating_ip_pool_name_optional:
description: |
The name of the floating IP pool
in: body
required: false
type: string
floating_ip_pool_name_or_id:
description: |
The name or ID of the floating IP pool.
in: body
required: true
type: string
floating_ip_pools:
description: |
The ``floating_ip_pools`` object.
in: body
required: true
type: array
floating_ips:
description: |
The number of allowed floating IP addresses for each tenant.
in: body
required: true
type: integer
max_version: 2.35
floating_ips_list:
description: |
An array of floating ip objects.
in: body
required: true
type: array
floating_ips_quota_class: &floating_ips_quota_class
description: |
The number of allowed floating IP addresses for the quota class.
in: body
required: true
type: integer
max_version: 2.49
floating_ips_quota_class_optional:
<<: *floating_ips_quota_class
required: false
floating_ips_quota_details:
description: |
The object of detailed floating ips quota, including in_use, limit and
reserved number of floating ips.
in: body
required: true
type: object
max_version: 2.35
floating_ips_quota_optional:
description: |
The number of allowed floating IP addresses for each tenant.
in: body
required: false
type: integer
max_version: 2.35
force:
description: |
You can force the update even if the quota has already been used and the reserved
quota exceeds the new quota. To force the update, specify the ``"force": "True"``.
Default is ``False``.
in: body
required: false
type: boolean
force_evacuate:
description: |
Force an evacuation by not verifying the provided destination host by the
scheduler.
.. warning:: This could result in failures to actually evacuate the
instance to the specified host. It is recommended to either not specify
a host so that the scheduler will pick one, or specify a host without
``force=True`` set.
Furthermore, this should not be specified when evacuating instances
managed by a clustered hypervisor driver like ironic since you
cannot specify a node, so the compute service will pick a node randomly
which may not be able to accommodate the instance.
in: body
required: false
type: boolean
min_version: 2.29
max_version: 2.67
force_live_migrate:
description: |
Force a live-migration by not verifying the provided destination host by
the scheduler.
.. warning:: This could result in failures to actually live migrate the
instance to the specified host. It is recommended to either not specify
a host so that the scheduler will pick one, or specify a host without
``force=True`` set.
in: body
required: false
type: boolean
min_version: 2.30
max_version: 2.67
force_migration_complete:
description: |
The action to force an in-progress live migration to complete.
in: body
required: true
type: none
force_snapshot:
description: |
Indicates whether to create a snapshot, even if the volume is attached.
in: body
required: false
type: boolean
# This is both the request and response parameter for
# PUT /os-services/force-down which was added in 2.11.
forced_down_2_11:
description: |
Whether or not this service was forced down manually by an
administrator after the service was fenced. This value is useful
to know that some 3rd party has verified the service should be
marked down.
in: body
required: true
type: boolean
min_version: 2.11
# This is the optional request input parameter for
# PUT /os-services/{service_id} added in 2.53.
forced_down_2_53_in:
description: |
``forced_down`` is a manual override to tell nova that the service in
question has been fenced manually by the operations team (either hard
powered off, or network unplugged). That signals that it is safe to proceed
with ``evacuate`` or other operations that nova has safety checks to
prevent for hosts that are up.
.. warning::
Setting a service forced down without completely fencing it will likely
result in the corruption of VMs on that host.
in: body
required: false
type: boolean
# This is the response output parameter for
# PUT /os-services/{service_id} added in 2.53.
forced_down_2_53_out:
description: |
Whether or not this service was forced down manually by an
administrator after the service was fenced. This value is useful
to know that some 3rd party has verified the service should be
marked down.
in: body
required: true
type: boolean
forceDelete:
description: |
The action.
in: body
required: true
type: none
free_ram_mb:
description: |
The free RAM in this hypervisor(in MiB). This does not take allocation
ratios used for overcommit into account so this value may be negative.
in: body
required: true
type: integer
max_version: 2.87
free_ram_mb_total:
description: |
The free RAM on all hypervisors(in MiB). This does not take allocation
ratios used for overcommit into account so this value may be negative.
in: body
required: true
type: integer
from_port:
description: |
The port at start of range.
in: body
required: true
type: integer
group:
description: |
A ``group`` object. Includes the ``tenant_id`` and the source security
group ``name``.
in: body
required: true
type: object
group_id:
description: |
The source security group ID.
in: body
required: false
type: string
guest_format:
description: |
Specifies the guest server disk file system format, such as ``ext2``,
``ext3``, ``ext4``, ``xfs`` or ``swap``.
Swap block device mappings have the following restrictions:
* The ``source_type`` must be ``blank``
* The ``destination_type`` must be ``local``
* There can only be one swap disk per server
* The size of the swap disk must be less than or equal to the ``swap``
size of the flavor
in: body
required: false
type: string
host:
description: |
The name or ID of the host to which the server is evacuated.
If you omit this parameter, the scheduler chooses a host.
.. warning:: Prior to microversion 2.29, specifying a host will bypass
validation by the scheduler, which could result in failures to actually
evacuate the instance to the specified host, or over-subscription of the
host. It is recommended to either not specify a host so that the
scheduler will pick one, or specify a host with microversion >= 2.29 and
without ``force=True`` set.
in: body
required: false
type: string
host_cpu:
description: |
The number of virtual CPUs on the host.
in: body
required: true
type: integer
host_disk_gb:
description: |
The disk size on the host (in GiB).
in: body
required: true
type: integer
host_done_num:
description: |
The number of the hosts whose instance audit tasks have been done.
in: body
required: true
type: integer
host_ip:
description: |
The IP address of the hypervisor's host.
in: body
required: true
type: string
host_maintenance_mode:
description: |
Mode of maintenance state, either ``on_maintenance`` or
``off_maintenance``.
in: body
required: false
type: string
host_maintenance_mode_in:
description: |
Mode of maintenance state, either ``enable`` or ``disable``.
in: body
required: false
type: string
host_memory_mb:
description: |
The memory size on the host (in MiB).
in: body
required: true
type: integer
host_migration:
description: |
The host to which to migrate the server. If this parameter is ``None``,
the scheduler chooses a host.
.. warning:: Prior to microversion 2.30, specifying a host will bypass
validation by the scheduler, which could result in failures to actually
migrate the instance to the specified host, or over-subscription of the
host. It is recommended to either not specify a host so that the
scheduler will pick one, or specify a host with microversion >= 2.30 and
without ``force=True`` set.
in: body
required: true
type: string
host_migration_2_56:
description: |
The host to which to migrate the server. If you specify ``null`` or
don't specify this parameter, the scheduler chooses a host.
in: body
required: false
type: string
min_version: 2.56
host_name_body:
description: |
The name of the host.
in: body
required: true
type: string
host_not_run:
description: |
A list of the hosts whose instance audit tasks have not run.
in: body
required: true
type: array
host_not_run_num:
description: |
The number of the hosts whose instance audit tasks have not run.
in: body
required: true
type: integer
host_num:
description: |
The number of the hosts.
in: body
required: true
type: integer
host_power_action:
description: |
The power action on the host.
in: body
required: true
type: string
host_project:
description: |
The project id (or special name like total, used_now, used_max).
in: body
required: true
type: string
host_resource:
description: |
The resource info of the host.
in: body
required: true
type: object
host_resource_array:
description: |
The array that includes resource info of the host.
in: body
required: true
type: array
host_running_num:
description: |
The number of the hosts whose instance audit tasks are running.
in: body
required: true
type: integer
host_service:
description: |
The name of the service which is running on the host.
in: body
required: true
type: string
host_status:
description: |
The host status. Values where next value in list can override the previous:
- ``UP`` if nova-compute up.
- ``UNKNOWN`` if nova-compute not reported by servicegroup driver.
- ``DOWN`` if nova-compute forced down.
- ``MAINTENANCE`` if nova-compute is disabled.
- Empty string indicates there is no host for server.
This attribute appears in the response only if the policy permits.
By default, only administrators can get this parameter.
in: body
required: false
type: string
min_version: 2.16
host_status_body:
description: |
The status of the current host, either ``enabled`` or ``disabled``.
in: body
required: false
type: string
host_status_body_in:
description: |
The status of the host, either ``enable`` or ``disable``.
in: body
required: false
type: string
host_status_update_rebuild:
description: |
The host status. Values where next value in list can override the previous:
- ``UP`` if nova-compute up.
- ``UNKNOWN`` if nova-compute not reported by servicegroup driver.
- ``DOWN`` if nova-compute forced down.
- ``MAINTENANCE`` if nova-compute is disabled.
- Empty string indicates there is no host for server.
This attribute appears in the response only if the policy permits.
By default, only administrators can get this parameter.
in: body
required: false
type: string
min_version: 2.75
host_unshelve:
description: |
The destination host name. Specifying a destination host is by default only
allowed to project_admin, if it not the case HTTP 403 forbidden response
is returned.
in: body
required: false
type: string
min_version: 2.91
host_zone:
description: |
The available zone of the host.
in: body
required: true
type: string
hostId:
description: |
An ID string representing the host. This is a hashed value so will not actually look like
a hostname, and is hashed with data from the project_id, so the same physical host as seen
by two different project_ids, will be different. It is useful when within the same project you
need to determine if two instances are on the same or different physical hosts for the
purposes of availability or performance.
in: body
required: true
type: string
hosts:
description: |
An array of host information.
in: body
required: true
type: array
hosts.availability_zone:
description: |
An object containing a list of host information. The host information is comprised
of host and service objects. The service object returns three parameters representing
the states of the service: ``active``, ``available``, and ``updated_at``.
in: body
required: true
type: object
hosts.availability_zone_none:
description: |
It is always ``null``.
in: body
required: true
type: none
hours:
description: |
The duration that the server exists (in hours).
in: body
required: true
type: float
hours_optional:
description: |
The duration that the server exists (in hours).
in: body
required: false
type: float
hypervisor:
description: |
The hypervisor object.
in: body
required: true
type: object
hypervisor_count:
description: |
The number of hypervisors.
in: body
required: true
type: integer
hypervisor_diagnostics:
description: |
The hypervisor on which the VM is running. Examples for libvirt driver
may be: ``qemu``, ``kvm`` or ``xen``.
in: body
required: true
type: string
min_version: 2.48
hypervisor_free_disk_gb:
description: |
The free disk remaining on this hypervisor(in GiB). This does not take
allocation ratios used for overcommit into account so this value may be
negative.
in: body
required: true
type: integer
max_version: 2.87
hypervisor_free_disk_gb_total:
description: |
The free disk remaining on all hypervisors(in GiB). This does not take
allocation ratios used for overcommit into account so this value may be
negative.
in: body
required: true
type: integer
hypervisor_hostname:
description: |
The hypervisor host name provided by the Nova virt driver. For the Ironic
driver, it is the Ironic node uuid.
in: body
required: true
type: string
hypervisor_id_body:
description: |
The id of the hypervisor.
in: body
required: true
type: integer
max_version: 2.52
hypervisor_id_body_no_version:
description: |
The id of the hypervisor.
in: body
required: true
type: integer
hypervisor_id_body_uuid:
description: |
The id of the hypervisor as a UUID.
in: body
required: true
type: string
min_version: 2.53
hypervisor_links:
description: |
Links to the hypervisors resource. See `API Guide / Links and
References
<https://docs.openstack.org/api-guide/compute/links_and_references.html>`_
for more info.
in: body
type: array
min_version: 2.33
required: false
hypervisor_os_diagnostics:
description: |
The hypervisor OS.
in: body
type: string
required: true
min_version: 2.48
hypervisor_servers:
description: |
A list of ``server`` objects.
This field has become mandatory in microversion 2.75. If no servers is on hypervisor
then empty list is returned.
in: body
required: true
type: array
min_version: 2.53
hypervisor_servers_name:
description: |
The server name.
in: body
required: false
type: string
min_version: 2.53
hypervisor_servers_uuid:
description: |
The server ID.
in: body
required: false
type: string
min_version: 2.53
hypervisor_service:
description: |
The hypervisor service object.
in: body
required: true
type: object
hypervisor_state:
description: |
The state of the hypervisor. One of ``up`` or ``down``.
in: body
required: true
type: string
hypervisor_statistics:
description: |
The hypervisors statistics summary object.
in: body
required: true
type: object
hypervisor_status:
description: |
The status of the hypervisor. One of ``enabled`` or ``disabled``.
in: body
required: true
type: string
hypervisor_type:
in: body
required: true
type: string
description: |
The hypervisor type for the agent. Currently only ``xen`` is supported.
hypervisor_type_body:
description: |
The hypervisor type.
in: body
required: true
type: string
hypervisor_uptime:
description: |
The total uptime of the hypervisor and information about average load. Only
reported for active hosts where the virt driver supports this feature.
in: body
required: true
type: string
min_version: 2.88
hypervisor_vcpus:
description: |
The number of vCPU in this hypervisor. This does not take allocation
ratios used for overcommit into account so there may be disparity between
this and the used count.
in: body
required: true
type: integer
max_version: 2.87
hypervisor_vcpus_total:
description: |
The number of vCPU on all hypervisors. This does not take allocation
ratios used for overcommit into account so there may be disparity between
this and the used count.
in: body
required: true
type: integer
hypervisor_vcpus_used:
description: |
The number of vCPU used in this hypervisor.
in: body
required: true
type: integer
max_version: 2.87
hypervisor_vcpus_used_total:
description: |
The number of vCPU used on all hypervisors.
in: body
required: true
type: integer
hypervisor_version:
description: |
The hypervisor version.
in: body
required: true
type: integer
hypervisors:
description: |
An array of hypervisor information.
in: body
required: true
type: array
image:
description: |
The UUID and links for the image for your server instance. The ``image`` object
will be an empty string when you boot the server from a volume.
in: body
required: true
type: object
image_id_body:
description: |
The ID of the Image.
in: body
required: true
type: string
image_metadata:
description: |
Metadata key and value pairs for the image.
The maximum size for each metadata key and value pair is 255 bytes.
in: body
required: false
type: object
image_metadata_items:
description: |
The number of allowed metadata items for each image. Starting from
version 2.39 this field is dropped from 'os-limits' response, because
'image-metadata' proxy API was deprecated.
in: body
required: true
type: integer
max_version: 2.38
image_name:
description: |
The display name of an Image.
in: body
required: true
type: string
image_progress:
description: |
A percentage value of the image save progress. This can be one of:
- ``ACTIVE``: 100
- ``SAVING``: 25 or 50
in: body
required: true
type: integer
image_properties:
description: |
The image properties key/value pairs.
in: body
required: true
type: object
min_version: 2.98
image_server:
description: |
The server booted from image.
in: body
required: false
type: object
image_size:
description: |
The size of the image.
in: body
required: true
type: integer
image_status:
description: |
The status of image, as a string. This can be one of:
- ``ACTIVE``: image is in active state
- ``SAVING``: image is in queued or in saving process
- ``DELETED``: image is deleted or in progress of deletion
- ``ERROR``: image is in error state
- ``UNKNOWN``: image is in unknown state
in: body
required: true
type: string
imageRef:
description: |
The UUID of the image to use for your server instance.
This is not required in case of boot from volume.
In all other cases it is required and must be a valid UUID
otherwise API will return 400.
in: body
required: false
type: string
imageRef_rebuild:
description: |
The UUID of the image to rebuild for your server instance. It
must be a valid UUID otherwise API will return 400. To rebuild a
volume-backed server with a new image, at least microversion 2.93
needs to be provided in the request else the request will fall
back to old behaviour i.e. the API will return 400 (for an image
different from the image used when creating the volume). For
non-volume-backed servers, specifying a new image will result in
validating that the image is acceptable for the current compute
host on which the server exists. If the new image is not valid,
the server will go into ``ERROR`` status.
in: body
required: true
type: string
images:
description: |
An array of Image objects.
in: body
required: true
type: array
injected_file_content_bytes:
description: |
The number of allowed bytes of content for each injected file.
in: body
required: true
type: integer
max_version: 2.56
injected_file_content_bytes_quota_details:
description: |
The object of detailed injected file content bytes quota,
including in_use, limit and reserved number of injected
file content bytes.
in: body
required: true
type: object
max_version: 2.56
injected_file_content_bytes_quota_optional:
description: |
The number of allowed bytes of content for each injected file.
in: body
required: false
type: integer
max_version: 2.56
injected_file_path_bytes:
description: |
The number of allowed bytes for each injected file path.
in: body
required: true
type: integer
max_version: 2.56
injected_file_path_bytes_quota_details:
description: |
The object of detailed injected file path bytes quota,
including in_use, limit and reserved number of injected
file path bytes.
in: body
required: true
type: object
max_version: 2.56
injected_file_path_bytes_quota_optional:
description: |
The number of allowed bytes for each injected file path.
in: body
required: false
type: integer
max_version: 2.56
injected_files: &injected_files
description: |
The number of allowed injected files for each tenant.
in: body
required: true
type: integer
max_version: 2.56
injected_files_quota_class: &injected_files_quota_class
<<: *injected_files
description: |
The number of allowed injected files for the quota class.
injected_files_quota_class_optional:
<<: *injected_files_quota_class
required: false
injected_files_quota_details:
description: |
The object of detailed injected files quota, including in_use, limit and
reserved number of injected files.
in: body
required: true
type: object
max_version: 2.56
injected_files_quota_optional:
description: |
The number of allowed injected files for each tenant.
in: body
required: false
type: integer
max_version: 2.56
injectNetworkInfo:
description: |
The action.
in: body
required: true
type: none
instance_action_events_2_50:
description: |
The events which occurred in this action in descending order of creation.
Policy defaults enable only users with the administrative role to see
instance action event information. Cloud providers can change these
permissions through the ``policy.json`` file.
in: body
required: false
type: array
max_version: 2.50
instance_action_events_2_51:
description: |
The events which occurred in this action in descending order of creation.
Policy defaults enable only users with the administrative role or the owner
of the server to see instance action event information. Cloud providers can
change these permissions through the ``policy.json`` file.
in: body
required: true
type: array
min_version: 2.51
instance_actions_next_links:
description: |
Links pertaining to the instance action.
This parameter is returned when paging and more data is available.
See `Paginated collections
<https://docs.openstack.org/api-guide/compute/paginated_collections.html>`__
for more info.
in: body
required: false
type: array
min_version: 2.58
instance_id_body:
description: |
The UUID of the server.
in: body
required: true
type: string
instance_id_cloudpipe:
description: |
The UUID of the cloudpipe instance.
in: body
required: true
type: string
instance_name:
description: |
The name of the instance.
in: body
required: true
type: string
instance_usage_audit_log:
description: |
The object of instance usage audit logs.
in: body
required: true
type: object
instance_usage_audit_log_message:
description: |
The log message of the instance usage audit task.
in: body
required: true
type: string
instance_usage_audit_logs:
description: |
The object of instance usage audit log information.
in: body
required: true
type: object
instance_usage_audit_task_state:
description: |
The state of the instance usage audit task.
``DONE`` or ``RUNNING``.
in: body
required: true
type: string
instanceAction:
description: |
The instance action object.
in: body
required: true
type: object
instanceActions:
description: |
List of the actions for the given instance in descending order of creation.
in: body
required: true
type: array
instances: &instances
description: |
The number of allowed servers for each tenant.
in: body
required: true
type: integer
instances_quota_class: &instances_quota_class
<<: *instances
description: |
The number of allowed servers for the quota class.
instances_quota_class_optional:
<<: *instances_quota_class
required: false
instances_quota_details:
description: |
The object of detailed servers quota, including in_use, limit and
reserved number of instances.
in: body
required: true
type: object
instances_quota_optional:
description: |
The number of allowed servers for each tenant.
in: body
required: false
type: integer
instances_usage_audit:
description: |
The number of instances.
in: body
required: true
type: integer
interfaceAttachment:
description: |
Specify the ``interfaceAttachment`` action in the request body.
in: body
required: true
type: string
interfaceAttachment_resp:
description: |
The interface attachment.
in: body
required: true
type: object
interfaceAttachments:
description: |
List of the interface attachments.
in: body
required: true
type: array
internal_access_path:
description: |
The id representing the internal access path.
in: body
required: false
type: string
ip_address:
description: |
The IP address.
in: body
required: true
type: string
ip_address_req:
description: |
The IP address. It is required when ``fixed_ips`` is specified.
in: body
required: true
type: string
ip_host:
description: |
The name or ID of the host associated to the IP.
in: body
required: true
type: string
ip_protocol:
description: |
The IP protocol. A valid value is ICMP, TCP, or UDP.
in: body
required: true
type: string
ip_range:
description: |
The range of IP addresses to use for creating floating IPs.
in: body
required: true
type: string
ip_range_delete:
description: |
The range of IP addresses from which to bulk-delete floating IPs.
in: body
required: true
type: string
key_name:
description: |
Key pair name.
.. note:: The ``null`` value was allowed in the Nova legacy v2 API,
but due to strict input validation, it is not allowed in
the Nova v2.1 API.
in: body
required: false
type: string
key_name_rebuild_req:
description: |
Key pair name for rebuild API. If ``null`` is specified,
the existing keypair is unset.
.. note:: Users within the same project are able to rebuild other
user's instances in that project with a new keypair. Keys
are owned by users (which is the only resource that's true
of). Servers are owned by projects. Because of this a rebuild
with a key_name is looking up the keypair by the user calling
rebuild.
in: body
required: false
type: string
min_version: 2.54
key_name_rebuild_resp:
description: |
The name of associated key pair, if any.
in: body
required: true
type: string
min_version: 2.54
key_name_resp:
description: |
The name of associated key pair, if any.
in: body
required: true
type: string
key_name_resp_update:
description: |
The name of associated key pair, if any.
in: body
required: true
type: string
min_version: 2.75
key_pairs: &key_pairs
description: |
The number of allowed key pairs for each user.
in: body
required: true
type: integer
key_pairs_quota_class: &key_pairs_quota_class
<<: *key_pairs
description: |
The number of allowed key pairs for the quota class.
key_pairs_quota_class_optional:
<<: *key_pairs_quota_class
required: false
key_pairs_quota_details:
description: |
The object of detailed key pairs quota, including in_use, limit and
reserved number of key pairs.
.. note:: ``in_use`` field value for keypair quota details is always
zero. In Nova, key_pairs are a user-level resource, not a project-
level resource, so for legacy reasons, the keypair in-use information
is not counted.
in: body
required: true
type: object
key_pairs_quota_optional:
description: |
The number of allowed key pairs for each user.
in: body
required: false
type: integer
keypair:
in: body
type: object
required: true
description: |
Keypair object
keypair_deleted:
description: |
A boolean indicates whether this keypair is deleted or not.
The value is always ``false`` (not deleted).
in: body
required: true
type: boolean
keypair_fingerprint:
in: body
required: true
type: string
description: |
The fingerprint for the keypair.
keypair_id:
description: |
The keypair ID.
in: body
required: true
type: integer
keypair_links:
description: |
Links pertaining to keypair. See `API Guide / Links and
References
<https://docs.openstack.org/api-guide/compute/links_and_references.html>`_
for more info.
in: body
type: array
required: false
min_version: 2.35
keypair_name:
in: body
required: true
type: string
description: |
The name for the keypair.
keypair_name_in:
in: body
required: true
type: string
description: |
A name for the keypair which will be used to reference it later.
.. note::
Since microversion 2.92, allowed characters are ASCII letters
``[a-zA-Z]``, digits ``[0-9]`` and the following special
characters: ``[@._- ]``.
keypair_private_key:
description: |
If you do not provide a public key on create, a new keypair will
be built for you, and the private key will be returned during the
initial create call. Make sure to save this, as there is no way to
get this private key again in the future.
in: body
required: false
type: string
max_version: 2.91
keypair_public_key:
description: |
The keypair public key.
in: body
required: true
type: string
keypair_public_key_in:
description: |
The public ssh key to import.
Was optional before microversion 2.92 : if you were omitting this value, a
keypair was generated for you.
in: body
required: true
type: string
keypair_type:
in: body
required: true
type: string
description: |
The type of the keypair. Allowed values are ``ssh`` or ``x509``.
min_version: 2.2
keypair_type_in:
in: body
required: false
type: string
description: |
The type of the keypair. Allowed values are ``ssh`` or ``x509``.
min_version: 2.2
keypair_updated_deleted_at:
description: |
It is always ``null``.
in: body
required: true
type: none
# NOTE(mriedem): This is the user_id description for the keypair create/show
# response which has always been returned.
keypair_userid:
in: body
required: true
type: string
description: |
The user_id for a keypair.
keypair_userid_in:
in: body
required: false
type: string
description: |
The user_id for a keypair. This allows administrative users to
upload keys for other users than themselves.
min_version: 2.10
keypairs:
in: body
type: array
required: true
description: |
Array of Keypair objects
length:
description: |
The number of lines to fetch from the end of console log. All
lines will be returned if this is not specified.
.. note::
This parameter can be specified as not only 'integer' but also 'string'.
in: body
required: false
type: integer
limits:
description: |
Data structure that contains both absolute limits within a deployment.
in: body
required: true
type: object
limits_absolutes:
description: |
Name/value pairs that set quota limits within a deployment and
Name/value pairs of resource usage.
in: body
required: true
type: object
limits_rate_uri:
description: |
A human readable URI that is used as a friendly description of where the api rate limit is applied.
in: body
required: true
type: string
limits_rates:
description: |
An empty list for backwards compatibility purposes.
in: body
required: true
type: array
links:
description: |
Links to the resources in question. See `API Guide / Links and
References
<https://docs.openstack.org/api-guide/compute/links_and_references.html>`_
for more info.
in: body
required: true
type: array
local_gb:
description: |
The disk in this hypervisor (in GiB). This does not take allocation
ratios used for overcommit into account so there may be disparity between
this and the used count.
in: body
required: true
type: integer
max_version: 2.87
local_gb_simple_tenant_usage:
description: |
The sum of the root disk size of the server and
the ephemeral disk size of it (in GiB).
in: body
required: true
type: integer
local_gb_simple_tenant_usage_optional:
description: |
The sum of the root disk size of the server and
the ephemeral disk size of it (in GiB).
in: body
required: false
type: integer
local_gb_total:
description: |
The disk on all hypervisors (in GiB). This does not take allocation
ratios used for overcommit into account so there may be disparity between
this and the used count.
in: body
required: true
type: integer
local_gb_used:
description: |
The disk used in this hypervisor (in GiB).
in: body
required: true
type: integer
max_version: 2.87
local_gb_used_total:
description: |
The disk used on all hypervisors (in GiB).
in: body
required: true
type: integer
lock:
description: |
The action to lock a server.
This parameter can be ``null``.
Up to microversion 2.73, this parameter should be ``null``.
in: body
required: true
type: object
locked:
description: |
True if the instance is locked otherwise False.
in: body
required: true
type: boolean
min_version: 2.9
locked_reason_req:
description: |
The reason behind locking a server. Limited to 255 characters in length.
in: body
required: false
type: string
min_version: 2.73
locked_reason_resp:
description: |
The reason behind locking a server.
in: body
required: true
type: string
min_version: 2.73
mac_addr:
description: |
The MAC address.
in: body
required: true
type: string
mac_address:
description: |
The MAC address.
in: body
required: true
type: string
md5hash:
description: |
The MD5 hash.
in: body
required: true
type: string
media_types:
description: |
The `media types
<https://www.iana.org/assignments/media-types/media-types.xhtml>`_.
It is an array of a fixed dict.
.. note::
It is vestigial and provide no useful information.
It will be deprecated and removed in the future.
in: body
required: true
type: array
members:
description: |
A list of members in the server group.
in: body
required: true
type: array
memory_details_diagnostics:
description: |
The dictionary with information about VM memory usage.
Following fields are presented in the dictionary:
- ``maximum`` - Amount of memory provisioned for the VM in MiB (Integer)
- ``used`` - Amount of memory that is currently used by the guest operating
system and its applications in MiB (Integer)
in: body
required: true
type: array
min_version: 2.48
memory_mb:
description: |
The memory of this hypervisor (in MiB). This does not take allocation
ratios used for overcommit into account so there may be disparity between
this and the used count.
in: body
required: true
type: integer
max_version: 2.87
memory_mb_simple_tenant_usage:
description: |
The memory size of the server (in MiB).
in: body
required: true
type: integer
memory_mb_simple_tenant_usage_optional:
description: |
The memory size of the server (in MiB).
in: body
required: false
type: integer
memory_mb_total:
description: |
The memory of all hypervisors (in MiB). This does not take allocation
ratios used for overcommit into account so there may be disparity between
this and the used count.
in: body
required: true
type: integer
memory_mb_used:
description: |
The memory used in this hypervisor (in MiB).
in: body
required: true
type: integer
max_version: 2.87
memory_mb_used_total:
description: |
The memory used on all hypervisors(in MiB).
in: body
required: true
type: integer
message:
description: |
The related error message for when an action fails.
in: body
required: true
type: string
meta:
description: |
The object of detailed key metadata items.
in: body
required: true
type: object
metadata:
description: |
Metadata key and value pairs. The maximum size of the metadata key and value is
255 bytes each.
in: body
required: false
type: object
metadata_compat:
description: |
A dictionary of metadata key-and-value pairs, which is maintained for backward
compatibility.
in: body
required: true
type: object
metadata_items:
description: |
The number of allowed metadata items for each server.
in: body
required: true
type: integer
metadata_items_quota_details:
description: |
The object of detailed key metadata items quota, including in_use,
limit and reserved number of metadata items.
in: body
required: true
type: object
metadata_items_quota_optional:
description: |
The number of allowed metadata items for each server.
in: body
required: false
type: integer
metadata_object:
description: |
Metadata key and value pairs. The maximum size for each metadata key and value
pair is 255 bytes.
in: body
required: true
type: object
metadata_server_group_max_2_63:
description: |
Metadata key and value pairs. The maximum size for each metadata key and value
pair is 255 bytes. It's always empty and only used for keeping compatibility.
in: body
required: true
type: object
max_version: 2.63
migrate:
description: |
The action to cold migrate a server.
This parameter can be ``null``.
Up to microversion 2.55, this parameter should be ``null``.
in: body
required: true
type: object
migrate_dest_compute:
description: |
The target compute for a migration.
in: body
required: true
type: string
migrate_dest_host:
description: |
The target host for a migration.
in: body
required: true
type: string
migrate_dest_node:
description: |
The target node for a migration.
in: body
required: true
type: string
migrate_disk_processed_bytes:
description: |
The amount of disk, in bytes, that has been processed during the migration.
in: body
required: true
type: integer
migrate_disk_remaining_bytes:
description: |
The amount of disk, in bytes, that still needs to be migrated.
in: body
required: true
type: integer
migrate_disk_total_bytes:
description: |
The total amount of disk, in bytes, that needs to be migrated.
in: body
required: true
type: integer
migrate_memory_processed_bytes:
description: |
The amount of memory, in bytes, that has been processed during the migration.
in: body
required: true
type: integer
migrate_memory_remaining_bytes:
description: |
The amount of memory, in bytes, that still needs to be migrated.
in: body
required: true
type: integer
migrate_memory_total_bytes:
description: |
The total amount of memory, in bytes, that needs to be migrated.
in: body
required: true
type: integer
migrate_source_compute:
description: |
The source compute for a migration.
in: body
required: true
type: string
migrate_source_node:
description: |
The source node for a migration.
in: body
required: true
type: string
migrate_status:
description: |
The current status of the migration.
in: body
required: true
type: string
migration:
description: |
The server migration object.
in: body
required: true
type: object
migration_id:
description: |
The ID of the server migration.
in: body
required: true
type: integer
migration_links_2_23:
description: |
Links to the migration.
This parameter is returned if the migration type is ``live-migration`` and
the migration status is one of ``queued``, ``preparing``, ``running``
and ``post-migrating``. See `Paginated collections
<https://docs.openstack.org/api-guide/compute/paginated_collections.html>`__
for more info.
in: body
required: false
type: array
min_version: 2.23
migration_new_flavor_id:
description: |
In ``resize`` case, the flavor ID for resizing the server.
In the other cases, this parameter is same as the flavor ID
of the server when the migration was started.
.. note:: This is an internal ID and is not exposed in any other API.
In particular, this is not the ID specified or automatically generated
during flavor creation or returned via the ``GET /flavors`` API.
in: body
required: true
type: integer
migration_next_links_2_59:
description: |
Links pertaining to the migration.
This parameter is returned when paging and more data is available.
See `Paginated collections
<https://docs.openstack.org/api-guide/compute/paginated_collections.html>`__
for more info.
in: body
required: false
type: array
min_version: 2.59
migration_old_flavor_id:
description: |
The flavor ID of the server when the migration was started.
.. note:: This is an internal ID and is not exposed in any other API.
In particular, this is not the ID specified or automatically generated
during flavor creation or returned via the ``GET /flavors`` API.
in: body
required: true
type: integer
migration_type_2_23:
description: |
The type of the server migration. This is one of ``live-migration``,
``migration``, ``resize`` and ``evacuation``.
in: body
required: true
type: string
min_version: 2.23
migration_uuid:
description: |
The UUID of the migration.
in: body
required: true
type: string
min_version: 2.59
migrations:
description: |
The list of server migration objects.
in: body
required: true
type: array
minDisk_body:
description: |
The minimum amount of disk space an image requires to boot, in GiB. For example, ``100``.
in: body
required: true
type: integer
minRam_body:
description: |
The minimum amount of RAM an image requires to function, in MiB. For example, ``512``.
in: body
required: true
type: integer
name:
description: |
The security group name.
in: body
required: true
type: string
name_sec_group_optional:
description: |
The security group name.
in: body
required: false
type: string
name_server_group:
description: |
The name of the server group.
in: body
required: true
type: string
name_update_rebuild:
description: |
The security group name.
in: body
required: true
type: string
min_version: 2.75
namespace:
description: |
A URL pointing to the namespace for this extension.
in: body
required: true
type: string
net_id:
description: |
The ID of the network for which you want to create a port interface. The ``net_id``
and ``port_id`` parameters are mutually exclusive. If you do not specify the
``net_id`` parameter, the OpenStack Networking API v2.0 uses the network information
cache that is associated with the instance.
in: body
required: false
type: string
net_id_resp:
description: |
The network ID.
in: body
required: true
type: string
net_id_resp_2_12:
description: |
The network ID.
in: body
required: true
type: string
min_version: 2.12
network_label_body:
description: |
List of IP address and IP version pairs.
The ``network_label`` stands for the name of a network,
such as ``public`` or ``private``.
in: body
required: true
type: array
network_uuid:
description: |
To provision the server instance with a NIC for a network, specify the UUID of
the network in the ``uuid`` attribute in a ``networks`` object. Required if you
omit the ``port`` attribute.
Starting with microversion 2.37, this value is strictly enforced to be in
UUID format.
in: body
required: false
type: string
networks:
description: |
A list of ``network`` object. Required parameter when there are multiple
networks defined for the tenant. When you do not specify the networks
parameter, the server attaches to the only network created for the
current tenant. Optionally, you can create one or more NICs on the server.
To provision the server instance with a NIC for a network, specify
the UUID of the network in the ``uuid`` attribute in a ``networks``
object. To provision the server instance with a NIC for an already
existing port, specify the port-id in the ``port`` attribute in a
``networks`` object.
If multiple networks are defined, the order in which they appear in the
guest operating system will not necessarily reflect the order in which they
are given in the server boot request. Guests should therefore not depend
on device order to deduce any information about their network devices.
Instead, device role tags should be used: introduced in 2.32, broken in
2.37, and re-introduced and fixed in 2.42, the ``tag`` is an optional,
string attribute that can be used to assign a tag to a virtual network
interface. This tag is then exposed to the guest in the metadata API and
the config drive and is associated to hardware metadata for that network
interface, such as bus (ex: PCI), bus address (ex: 0000:00:02.0), and MAC
address.
A bug has caused the ``tag`` attribute to no longer be accepted starting
with version 2.37. Therefore, network interfaces could only be tagged in
versions 2.32 to 2.36 inclusively. Version 2.42 has restored the ``tag``
attribute.
Starting with microversion 2.37, this field is required and the special
string values *auto* and *none* can be specified for networks. *auto*
tells the Compute service to use a network that is available to the
project, if one exists. If one does not exist, the Compute service will
attempt to automatically allocate a network for the project (if possible).
*none* tells the Compute service to not allocate a network for the
instance. The *auto* and *none* values cannot be used with any other
network values, including other network uuids, ports, fixed IPs or device
tags. These are requested as strings for the networks value, not in a
list. See the associated example.
in: body
required: true
type: array
networks_quota_optional: &networks_quota_optional
description: |
The number of private networks that can be created per project.
in: body
required: false
type: integer
max_version: 2.49
networks_quota_set_optional:
<<: *networks_quota_optional
max_version: 2.35
new_file:
description: |
The name of the qcow2 file that Block Storage creates, which becomes the active
image for the VM.
in: body
required: true
type: string
nic_details_diagnostics:
description: |
The list of dictionaries with detailed information about VM NICs.
Following fields are presented in each dictionary:
- ``mac_address`` - Mac address of the interface (String)
- ``rx_octets`` - Received octets (Integer)
- ``rx_errors`` - Received errors (Integer)
- ``rx_drop`` - Received packets dropped (Integer)
- ``rx_packets`` - Received packets (Integer)
- ``rx_rate`` - Receive rate in bytes (Integer)
- ``tx_octets`` - Transmitted Octets (Integer)
- ``tx_errors`` - Transmit errors (Integer)
- ``tx_drop`` - Transmit dropped packets (Integer)
- ``tx_packets`` - Transmit packets (Integer)
- ``tx_rate`` - Transmit rate in bytes (Integer)
in: body
required: true
type: array
min_version: 2.48
no_device:
description: |
It is no device if ``True``.
in: body
required: false
type: boolean
num_cpus_diagnostics:
description: |
The number of vCPUs.
in: body
required: true
type: integer
min_version: 2.48
num_disks_diagnostics:
description: |
The number of disks.
in: body
required: true
type: integer
min_version: 2.48
num_nics_diagnostics:
description: |
The number of vNICs.
in: body
required: true
type: integer
min_version: 2.48
on_shared_storage:
description: |
Server on shared storage.
.. note::
Starting since version 2.14, Nova automatically detects
whether the server is on shared storage or not.
Therefore this parameter was removed.
in: body
required: true
type: boolean
max_version: 2.13
os:
description: |
The name of the operating system.
in: body
required: true
type: string
os-availability-zone:availability_zone:
description: |
The availability zone from which to launch the server. When you
provision resources, you specify from which availability zone you
want your instance to be built. Typically, an admin user will use
availability zones to arrange OpenStack compute hosts into logical
groups.
An availability zone provides a form of physical isolation and redundancy from
other availability zones. For instance, if some racks in your data center are
on a separate power source, you can put servers in those racks in their own availability
zone. Availability zones can also help separate different classes of hardware. By
segregating resources into availability zones, you can ensure that your application
resources are spread across disparate machines to achieve high availability in
the event of hardware or other failure. See
`Availability Zones (AZs) <https://docs.openstack.org/nova/latest/user/aggregates.html#availability-zones-azs>`_ for more information.
You can list the available availability zones by calling the
:ref:`os-availability-zone` API, but you should avoid using the `default
availability zone <https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.default_availability_zone>`_
when creating the server. The default availability zone is named ``nova``.
This AZ is only shown when listing the availability zones as an admin.
in: body
required: false
type: string
OS-DCF:diskConfig:
description: |
Controls how the API partitions the disk when you create, rebuild, or resize servers.
A server inherits the ``OS-DCF:diskConfig`` value from the image from which it
was created, and an image inherits the ``OS-DCF:diskConfig`` value from the server
from which it was created. To override the inherited setting, you can include
this attribute in the request body of a server create, rebuild, or resize request. If
the ``OS-DCF:diskConfig`` value for an image is ``MANUAL``, you cannot create
a server from that image and set its ``OS-DCF:diskConfig`` value to ``AUTO``.
A valid value is:
- ``AUTO``. The API builds the server with a single partition the size of the
target flavor disk. The API automatically adjusts the file system to fit the
entire partition.
- ``MANUAL``. The API builds the server by using whatever partition scheme and
file system is in the source image. If the target flavor disk is larger, the API
does not partition the remaining disk space.
in: body
required: false
type: string
OS-EXT-AZ:availability_zone:
description: |
The availability zone name.
in: body
required: true
type: string
OS-EXT-AZ:availability_zone_optional:
description: |
The availability zone name.
in: body
required: false
type: string
OS-EXT-AZ:availability_zone_update_rebuild:
description: |
The availability zone name.
in: body
required: true
type: string
min_version: 2.75
OS-EXT-SRV-ATTR:host:
description: |
The name of the compute host on which this instance is running.
Appears in the response for administrative users only.
in: body
required: true
type: string
OS-EXT-SRV-ATTR:host_update_rebuild:
description: |
The name of the compute host on which this instance is running.
Appears in the response for administrative users only.
in: body
required: true
type: string
min_version: 2.75
OS-EXT-SRV-ATTR:hypervisor_hostname:
description: |
The hypervisor host name provided by the Nova virt driver. For the Ironic driver,
it is the Ironic node uuid. Appears in the response for administrative users only.
in: body
required: true
type: string
OS-EXT-SRV-ATTR:hypervisor_hostname_update_rebuild:
description: |
The hypervisor host name provided by the Nova virt driver. For the Ironic driver,
it is the Ironic node uuid. Appears in the response for administrative users only.
in: body
required: true
type: string
min_version: 2.75
OS-EXT-SRV-ATTR:instance_name:
description: |
The instance name. The Compute API generates the instance name from the instance
name template. Appears in the response for administrative users only.
in: body
required: true
type: string
OS-EXT-SRV-ATTR:instance_name_update_rebuild:
description: |
The instance name. The Compute API generates the instance name from the instance
name template. Appears in the response for administrative users only.
in: body
required: true
type: string
min_version: 2.75
OS-EXT-STS:power_state:
description: |
The power state of the instance. This is an enum value that is mapped as::
0: NOSTATE
1: RUNNING
3: PAUSED
4: SHUTDOWN
6: CRASHED
7: SUSPENDED
in: body
required: true
type: integer
OS-EXT-STS:power_state_update_rebuild:
description: |
The power state of the instance. This is an enum value that is mapped as::
0: NOSTATE
1: RUNNING
3: PAUSED
4: SHUTDOWN
6: CRASHED
7: SUSPENDED
in: body
required: true
type: integer
min_version: 2.75
OS-EXT-STS:task_state:
description: |
The task state of the instance.
in: body
required: true
type: string
OS-EXT-STS:task_state_update_rebuild:
description: |
The task state of the instance.
in: body
required: true
type: string
min_version: 2.75
OS-EXT-STS:vm_state:
description: |
The VM state.
in: body
required: true
type: string
OS-EXT-STS:vm_state_update_rebuild:
description: |
The VM state.
in: body
required: true
type: string
min_version: 2.75
os-extended-volumes:volumes_attached:
description: |
The attached volumes, if any.
in: body
required: true
type: array
os-extended-volumes:volumes_attached.delete_on_termination:
description: |
A flag indicating if the attached volume will be deleted
when the server is deleted. By default this is False.
in: body
required: true
type: boolean
min_version: 2.3
os-extended-volumes:volumes_attached.delete_on_termination_update_rebuild:
description: |
A flag indicating if the attached volume will be deleted
when the server is deleted. By default this is False.
in: body
required: true
type: boolean
min_version: 2.75
os-extended-volumes:volumes_attached.id:
description: |
The attached volume ID.
in: body
required: true
type: string
os-extended-volumes:volumes_attached.id_update_rebuild:
description: |
The attached volume ID.
in: body
required: true
type: string
min_version: 2.75
os-extended-volumes:volumes_attached_update_rebuild:
description: |
The attached volumes, if any.
in: body
required: true
type: array
min_version: 2.75
os-getConsoleOutput:
description: |
The action to get console output of the server.
in: body
required: true
type: object
os-getRDPConsole:
description: |
The action.
in: body
required: true
type: object
os-getRDPConsole-type:
description: |
The type of RDP console. The only valid value is ``rdp-html5``.
in: body
required: true
type: string
os-getRDPConsole-url:
description: |
The URL used to connect to the RDP console.
in: body
required: true
type: string
os-getSerialConsole:
description: |
The action.
in: body
required: true
type: object
os-getSerialConsole-type:
description: |
The type of serial console. The only valid value is ``serial``.
in: body
required: true
type: string
os-getSerialConsole-url:
description: |
The URL used to connect to the Serial console.
in: body
required: true
type: string
os-getSPICEConsole:
description: |
The action.
in: body
required: true
type: object
os-getSPICEConsole-type:
description: |
The type of SPICE console. The only valid value is ``spice-html5``.
in: body
required: true
type: string
os-getSPICEConsole-url:
description: |
The URL used to connect to the SPICE console.
in: body
required: true
type: string
os-getVNCConsole:
description: |
The action.
in: body
required: true
type: object
os-getVNCConsole-type:
description: |
The type of VNC console. The only valid value is ``novnc``.
in: body
required: true
type: string
os-getVNCConsole-url:
description: |
The URL used to connect to the VNC console.
in: body
required: true
type: string
os-migrateLive:
description: |
The action.
in: body
required: true
type: object
os-resetState:
description: |
The action.
in: body
required: true
type: object
os-resetState_state:
description: |
The state of the server to be set, ``active`` or ``error`` are valid.
in: body
required: true
type: string
OS-SRV-USG:launched_at:
description: |
The date and time when the server was launched.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``hh±:mm`` value, if included, is the time zone as an offset from UTC.
If the ``deleted_at`` date and time stamp is not set, its value is ``null``.
in: body
required: true
type: string
OS-SRV-USG:launched_at_update_rebuild:
description: |
The date and time when the server was launched.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``hh±:mm`` value, if included, is the time zone as an offset from UTC.
If the ``deleted_at`` date and time stamp is not set, its value is ``null``.
in: body
required: true
type: string
min_version: 2.75
OS-SRV-USG:terminated_at:
description: |
The date and time when the server was deleted.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset from UTC.
If the ``deleted_at`` date and time stamp is not set, its value is ``null``.
in: body
required: true
type: string
OS-SRV-USG:terminated_at_update_rebuild:
description: |
The date and time when the server was deleted.
The date and time stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset from UTC.
If the ``deleted_at`` date and time stamp is not set, its value is ``null``.
in: body
required: true
type: string
min_version: 2.75
os-start:
description: |
The action to start a stopped server.
in: body
required: true
type: none
os-stop:
description: |
The action to stop a running server.
in: body
required: true
type: none
os:scheduler_hints:
description: |
The dictionary of data to send to the scheduler. Alternatively, you can specify
``OS-SCH-HNT:scheduler_hints`` as the key in the request body.
.. note:: This is a top-level key in the request body, not part of the
`server` portion of the request body.
There are a few caveats with scheduler hints:
* The request validation schema is per hint. For example, some require a
single string value, and some accept a list of values.
* Hints are only used based on the cloud scheduler configuration, which
varies per deployment.
* Hints are pluggable per deployment, meaning that a cloud can have custom
hints which may not be available in another cloud.
For these reasons, it is important to consult each cloud's user
documentation to know what is available for scheduler hints.
in: body
required: false
type: object
os:scheduler_hints_build_near_host_ip:
description: |
Schedule the server on a host in the network specified with this parameter
and a cidr (``os:scheduler_hints.cidr``).
It is available when ``SimpleCIDRAffinityFilter`` is available
on cloud side.
in: body
required: false
type: string
os:scheduler_hints_cidr:
description: |
Schedule the server on a host in the network specified with an IP address
(``os:scheduler_hints:build_near_host_ip``) and this parameter.
If ``os:scheduler_hints:build_near_host_ip`` is specified and
this parameter is omitted, ``/24`` is used.
It is available when ``SimpleCIDRAffinityFilter`` is available
on cloud side.
in: body
required: false
type: string
os:scheduler_hints_different_cell:
description: |
A list of cell routes or a cell route (string).
Schedule the server in a cell that is not specified.
It is available when ``DifferentCellFilter`` is available on cloud side
that is cell v1 environment.
in: body
required: false
type: array
os:scheduler_hints_different_host:
description: |
A list of server UUIDs or a server UUID.
Schedule the server on a different host from a set of servers.
It is available when ``DifferentHostFilter`` is available on cloud side.
in: body
required: false
type: array
os:scheduler_hints_group:
description: |
The server group UUID. Schedule the server according to a policy of
the server group (``anti-affinity``, ``affinity``, ``soft-anti-affinity``
or ``soft-affinity``).
It is available when ``ServerGroupAffinityFilter``,
``ServerGroupAntiAffinityFilter``, ``ServerGroupSoftAntiAffinityWeigher``,
``ServerGroupSoftAffinityWeigher`` are available on cloud side.
in: body
required: false
type: string
os:scheduler_hints_query:
description: |
Schedule the server by using a custom filter in JSON format.
For example::
"query": "[\">=\",\"$free_ram_mb\",1024]"
It is available when ``JsonFilter`` is available on cloud side.
in: body
required: false
type: string
os:scheduler_hints_same_host:
description: |
A list of server UUIDs or a server UUID.
Schedule the server on the same host as another server in a set of
servers.
It is available when ``SameHostFilter`` is available on cloud side.
in: body
required: false
type: array
os:scheduler_hints_target_cell:
description: |
A target cell name. Schedule the server in a host in the cell specified.
It is available when ``TargetCellFilter`` is available on cloud side
that is cell v1 environment.
in: body
required: false
type: string
overall_status:
description: |
The overall status of instance audit tasks.
::
M of N hosts done. K errors.
The ``M`` value is the number of hosts whose instance audit tasks have
been done in the period. The ``N`` value is the number of all hosts.
The ``K`` value is the number of hosts whose instance audit tasks
cause errors. If instance audit tasks have been done at all hosts
in the period, the overall status is as follows:
::
ALL hosts done. K errors.
in: body
required: true
type: string
para:
description: |
The parameter object.
in: body
required: true
type: object
parent_group_id:
description: |
Security group ID.
in: body
required: true
type: string
password:
description: |
The password returned from metadata server.
in: body
required: false
type: string
path:
description: |
The path field in the personality object.
in: body
required: true
type: string
max_version: 2.56
pause:
description: |
The action to pause a server.
in: body
required: true
type: none
period_beginning:
description: |
The beginning time of the instance usage audit period.
For example, ``2016-05-01 00:00:00``.
in: body
required: true
type: string
period_ending:
description: |
The ending time of the instance usage audit period.
For example, ``2016-06-01 00:00:00``.
in: body
required: true
type: string
personality:
description: |
The file path and contents, text only, to inject into the server at launch. The
maximum size of the file path data is 255 bytes. The maximum limit is the number
of allowed bytes in the decoded, rather than encoded, data.
in: body
required: false
type: array
max_version: 2.56
pinned_availability_zone:
description: |
This is the availability zone requested during server creation.
Also when cross_az_attach option is false and booting an instance from
volume, the instance can be pinned to AZ and in that case, instance will
be scheduled on host belonging to pinned AZ.
Also when default_schedule_zone config option set to specific AZ, in that
case, instance would be pinned to that specific AZ, and instance will be
scheduled on host belonging to pinned AZ.
in: body
type: string
min_version: 2.96
policies:
description: |
A list of exactly one policy name to associate with the server group. The
current valid policy names are:
- ``anti-affinity`` - servers in this group must be scheduled to
different hosts.
- ``affinity`` - servers in this group must be scheduled to the same host.
- ``soft-anti-affinity`` - servers in this group should be scheduled to
different hosts if possible, but if not possible then they should still
be scheduled instead of resulting in a build failure. This policy was
added in microversion 2.15.
- ``soft-affinity`` - servers in this group should be scheduled to the same
host if possible, but if not possible then they should still be scheduled
instead of resulting in a build failure. This policy was added in
microversion 2.15.
in: body
required: true
type: array
max_version: 2.63
policy_name:
description: |
The ``policy`` field represents the name of the policy. The current
valid policy names are:
- ``anti-affinity`` - servers in this group must be scheduled to
different hosts.
- ``affinity`` - servers in this group must be scheduled to the same host.
- ``soft-anti-affinity`` - servers in this group should be scheduled to
different hosts if possible, but if not possible then they should still
be scheduled instead of resulting in a build failure.
- ``soft-affinity`` - servers in this group should be scheduled to the same
host if possible, but if not possible then they should still be scheduled
instead of resulting in a build failure.
in: body
required: true
type: string
min_version: 2.64
policy_rules:
description: |
The ``rules`` field, which is a dict, can be applied to the policy.
Currently, only the ``max_server_per_host`` rule is supported for the
``anti-affinity`` policy. The ``max_server_per_host`` rule allows
specifying how many members of the anti-affinity group can reside on the
same compute host. If not specified, only one member from the same
anti-affinity group can reside on a given host.
in: body
required: true
type: object
min_version: 2.64
policy_rules_optional:
description: |
The ``rules`` field, which is a dict, can be applied to the policy.
Currently, only the ``max_server_per_host`` rule is supported for the
``anti-affinity`` policy. The ``max_server_per_host`` rule allows
specifying how many members of the anti-affinity group can reside on the
same compute host. If not specified, only one member from the same
anti-affinity group can reside on a given host. Requesting policy rules
with any other policy than ``anti-affinity`` will be 400.
in: body
required: false
type: object
min_version: 2.64
pool:
description: |
Pool from which to allocate the IP address. If you omit this parameter, the call
allocates the floating IP address from the public pool. If no floating IP addresses
are available, the call returns the ``400`` response code with an informational
message. Policy defaults enable only users with the administrative role or the
owner of the server to perform this operation. Cloud providers can change these
permissions through the ``policy.json`` file.
in: body
required: false
type: string
port:
description: |
To provision the server instance with a NIC for an already existing port,
specify the port-id in the ``port`` attribute in a ``networks`` object.
The port status must be ``DOWN``. Required if you omit the ``uuid``
attribute. Requested security groups are not applied to pre-existing ports.
in: body
required: false
type: string
port_id:
description: |
The ID of the port for which you want to create an interface. The ``net_id``
and ``port_id`` parameters are mutually exclusive. If you do not specify the
``port_id`` parameter, the OpenStack Networking API v2.0 allocates a port and
creates an interface for it on the network.
in: body
required: false
type: string
port_id_resp:
description: |
The port ID.
in: body
required: true
type: string
port_number:
description: |
The port number.
in: body
required: true
type: integer
port_state:
description: |
The port state.
in: body
required: true
type: string
preserve_ephemeral:
description: |
Indicates whether the server is rebuilt with the preservation of the ephemeral
partition (``true``).
.. note::
This only works with baremetal servers provided by
Ironic. Passing it to any other server instance results in a
fault and will prevent the rebuild from happening.
in: body
required: false
type: boolean
previous:
description: |
Moves to the previous metadata item.
format: uri
in: body
required: false
type: string
private_key:
description: |
The secret key.
in: body
required: true
type: string
progress:
description: |
A percentage value of the operation progress.
This parameter only appears when the server status is ``ACTIVE``,
``BUILD``, ``REBUILD``, ``RESIZE``, ``VERIFY_RESIZE`` or ``MIGRATING``.
in: body
required: false
type: integer
project_id:
description: |
The UUID of the project. If omitted, the project ID defaults to the
calling tenant.
in: body
required: false
type: string
project_id_migration_2_80:
description: |
The ID of the project which initiated the server migration. The value
may be ``null`` for older migration records.
in: body
required: true
type: string
min_version: 2.80
project_id_server:
description: |
The ID of the project that this server belongs to.
in: body
required: true
type: string
project_id_server_action:
description: |
The ID of the project which initiated the server action.
in: body
required: true
type: string
project_id_server_group:
description: |
The project ID who owns the server group.
min_version: 2.13
in: body
required: true
type: string
project_id_value:
description: |
The project id under which the bulk ip addresses are created
in: body
required: true
type: string
quota_class_id_body:
<<: *quota_class_id
in: body
quota_class_set:
description: |
A ``quota_class_set`` object.
in: body
required: true
type: object
quota_set:
description: |
A ``quota_set`` object.
in: body
required: true
type: object
quota_tenant_or_user_id_body:
description: |
The UUID of the tenant/user the quotas listed for.
in: body
required: true
type: string
ram: &ram
description: |
The amount of allowed server RAM, in MiB, for each tenant.
in: body
required: true
type: integer
ram_quota_class: &ram_quota_class
<<: *ram
description: |
The amount of allowed instance RAM, in MiB, for the quota class.
ram_quota_class_optional:
<<: *ram_quota_class
required: false
ram_quota_details:
description: |
The object of detailed key ram quota, including in_use,
limit and reserved number of ram.
in: body
required: true
type: object
ram_quota_optional:
description: |
The amount of allowed server RAM, in MiB, for each tenant.
in: body
required: false
type: integer
reboot:
description: |
The action to reboot a server.
in: body
required: true
type: object
reboot_type:
description: |
The type of the reboot action. The valid values are ``HARD`` and ``SOFT``.
A ``SOFT`` reboot attempts a graceful shutdown and restart of the server.
A ``HARD`` reboot attempts a forced shutdown and restart of the server.
The ``HARD`` reboot corresponds to the power cycles of the server.
in: body
required: true
type: string
rebuild:
description: |
The action to rebuild a server.
in: body
required: true
type: object
remote_console:
description: |
The remote console object.
in: body
required: true
type: object
remote_console_protocol:
description: |
The protocol of remote console. The valid values are ``vnc``, ``spice``,
``serial`` and ``mks``. The protocol ``mks`` is added since Microversion
``2.8``.
in: body
required: true
type: string
remote_console_type:
description: |
The type of remote console. The valid values are ``novnc``,
``spice-html5``, ``spice-direct``, ``serial``, and ``webmks``. The type
``webmks`` was added in Microversion ``2.8``, and the type
``spice-direct`` was added in Microversion ``2.99``.
in: body
required: true
type: string
remote_console_url:
description: |
The URL is used to connect the console.
in: body
required: true
type: string
removeFixedIp:
description: |
The action to remove a fixed ip address from a server.
in: body
required: true
type: object
removeFloatingIp:
description: |
The action to remove or disassociate a floating IP address
from the server.
in: body
required: true
type: object
removeSecurityGroup:
description: |
The action to remove a security group from the server.
in: body
required: true
type: object
removeTenantAccess:
description: |
The action.
in: body
required: true
type: string
request_id_body:
description: |
The request id generated when execute the API of this action.
in: body
required: true
type: string
rescue:
description: |
The action to rescue a server.
in: body
required: true
type: object
rescue_image_ref:
description: |
The image reference to use to rescue your server instance. Specify the image reference
by ID or full URL. If you omit an image reference, default is the base image
reference.
in: body
required: false
type: string
reservation_id:
description: |
The reservation id for the server. This is an id that can
be useful in tracking groups of servers created with multiple
create, that will all have the same reservation_id.
in: body
required: true
type: string
reserved:
description: |
The reserved quota value.
in: body
required: true
type: integer
reserved_fixedip:
description: |
True if the fixed ip is reserved, otherwise False.
in: body
required: true
type: boolean
min_version: 2.4
resetNetwork:
description: |
The action.
in: body
required: true
type: none
resize:
description: |
The action to resize a server.
in: body
required: true
type: object
restore:
description: |
The action.
in: body
required: true
type: none
resume:
description: |
The action to resume a suspended server.
in: body
required: true
type: none
return_reservation_id:
description: |
Set to ``True`` to request that the response return a reservation ID instead of
instance information. Default is ``False``.
in: body
required: false
type: boolean
revertResize:
description: |
The action to revert a resize operation.
in: body
required: true
type: none
rules:
description: |
The list of security group rules.
in: body
required: true
type: array
running_vms:
description: |
The number of running VMs on this hypervisor.
in: body
required: true
type: integer
max_version: 2.87
running_vms_total:
description: |
The total number of running VMs on all hypervisors.
in: body
required: true
type: integer
scheduler_hints:
description: |
The dictionary of hints sent to the scheduler during server
creation time.
in: body
required: true
type: object
min_version: 2.100
secgroup_default_rule_id:
description: |
The security group default rule ID.
in: body
required: true
type: string
secgroup_rule_cidr:
description: |
The CIDR for address range.
in: body
required: false
type: string
secgroup_rule_id:
description: |
The security group rule ID.
in: body
required: true
type: string
secgroup_rule_ip_range:
description: |
An IP range object. Includes the security group rule ``cidr``.
in: body
required: true
type: object
secgroup_tenant_id_body:
description: |
The UUID of the tenant that owns this security group.
in: body
required: false
type: string
security_group:
description: |
Specify the ``security_group`` action in the request body.
in: body
required: true
type: string
security_group_default_rule:
description: |
A ``security_group_default_rule`` object.
in: body
required: true
type: object
security_group_default_rules:
description: |
A list of the ``security_group_default_rule`` object.
in: body
required: true
type: array
security_group_id_body:
description: |
The ID of the security group.
in: body
required: true
type: string
security_group_rule:
description: |
A ``security_group_rule`` object.
in: body
required: true
type: object
security_group_rules:
description: |
The number of allowed rules for each security group.
in: body
required: false
type: integer
max_version: 2.35
security_group_rules_quota:
description: |
The number of allowed rules for each security group.
in: body
required: true
type: integer
max_version: 2.35
security_group_rules_quota_class: &security_group_rules_quota_class
description: |
The number of allowed rules for each security group.
in: body
required: true
type: integer
max_version: 2.49
security_group_rules_quota_class_optional:
<<: *security_group_rules_quota_class
required: false
security_group_rules_quota_details:
description: |
The object of detailed security group rules quota, including in_use,
limit and reserved number of security group rules.
in: body
required: true
type: object
max_version: 2.35
security_groups:
description: |
One or more security groups. Specify the name of the security group in the
``name`` attribute. If you omit this attribute, the API creates the server
in the ``default`` security group. Requested security groups are not
applied to pre-existing ports.
in: body
required: false
type: array
security_groups_obj:
description: |
One or more security groups objects.
in: body
required: true
type: array
security_groups_obj_optional:
description: |
One or more security groups objects.
in: body
required: false
type: array
security_groups_obj_update_rebuild:
description: |
One or more security groups objects.
in: body
required: false
type: array
min_version: 2.75
security_groups_quota:
description: |
The number of allowed security groups for each tenant.
in: body
required: true
type: integer
max_version: 2.35
security_groups_quota_class: &security_groups_quota_class
description: |
The number of allowed security groups for the quota class.
in: body
required: true
type: integer
max_version: 2.49
security_groups_quota_class_optional:
<<: *security_groups_quota_class
required: false
security_groups_quota_details:
description: |
The object of detailed security groups, including in_use,
limit and reserved number of security groups.
in: body
required: true
type: object
max_version: 2.35
security_groups_quota_optional:
description: |
The number of allowed security groups for each tenant.
in: body
required: false
type: integer
max_version: 2.35
server:
description: |
A ``server`` object.
in: body
required: true
type: object
server_description:
type: string
in: body
required: false
min_version: 2.19
description: |
A free form description of the server. Limited to 255 characters
in length. Before microversion 2.19 this was set to the server
name.
server_description_resp:
description: |
The description of the server.
Before microversion 2.19 this was set to the server name.
in: body
required: true
type: string
min_version: 2.19
server_group:
description: |
The server group object.
in: body
required: true
type: object
server_group_id_body:
description: |
The UUID of the server group.
in: body
required: true
type: string
server_group_members: &server_group_members
description: |
The number of allowed members for each server group.
in: body
required: true
type: integer
server_group_members_quota_class:
<<: *server_group_members
min_version: 2.50
server_group_members_quota_details:
description: |
The object of detailed server group members, including in_use,
limit and reserved number of server group members.
in: body
required: true
type: object
server_group_members_quota_optional:
description: |
The number of allowed members for each server group.
in: body
required: false
type: integer
server_groups: &server_groups
description: |
The number of allowed server groups for each tenant.
in: body
required: true
type: integer
server_groups_2_71:
description: |
The UUIDs of the server groups to which the server belongs. Currently
this can contain at most one entry.
in: body
required: true
type: array
min_version: 2.71
server_groups_list:
description: |
The list of existing server groups.
in: body
required: true
type: array
server_groups_quota_class:
<<: *server_groups
description: |
The number of allowed server groups for the quota class.
min_version: 2.50
server_groups_quota_class_optional:
<<: *server_groups
description: |
The number of allowed server groups for the quota class.
required: false
server_groups_quota_details:
description: |
The object of detailed server groups, including in_use,
limit and reserved number of server groups.
in: body
required: true
type: object
server_groups_quota_optional:
description: |
The number of allowed server groups for each tenant.
in: body
required: false
type: integer
# This is the host in a POST (create instance) request body.
server_host_create:
description: |
The name of the compute service host on which the server is to be created.
The API will return 400 if no compute services are found with the given
host name. By default, it can be specified by administrators only.
in: body
required: false
type: string
min_version: 2.74
server_hostname: &server_hostname
in: body
required: false
type: string
description: |
The hostname of the instance reported in the metadata service.
This parameter only appears in responses for administrators until
microversion 2.90, after which it is shown for all users.
.. note::
This information is published via the metadata service and requires
application such as ``cloud-init`` to propagate it through to the
instance.
min_version: 2.3
server_hostname_req:
in: body
required: false
type: string
description: |
The hostname to configure for the instance in the metadata service.
Starting with microversion 2.94, this can be a Fully Qualified Domain Name
(FQDN) of up to 255 characters in length.
.. note::
This information is published via the metadata service and requires
application such as ``cloud-init`` to propagate it through to the
instance.
min_version: 2.90
server_hostname_update_rebuild:
<<: *server_hostname
min_version: 2.75
# This is the hypervisor_hostname in a POST (create instance) request body.
server_hypervisor_hostname_create:
description: |
The hostname of the hypervisor on which the server is to be created.
The API will return 400 if no hypervisors are found with the given
hostname. By default, it can be specified by administrators only.
in: body
required: false
type: string
min_version: 2.74
server_id:
description: |
The UUID of the server.
in: body
required: true
type: string
server_id_optional:
description: |
The UUID of the server.
in: body
required: false
type: string
server_kernel_id:
in: body
required: false
type: string
description: |
The UUID of the kernel image when using an AMI. Will be null if not.
By default, it appears in the response for administrative users only.
min_version: 2.3
server_kernel_id_update_rebuild:
in: body
required: false
type: string
description: |
The UUID of the kernel image when using an AMI. Will be null if not.
By default, it appears in the response for administrative users only.
min_version: 2.75
server_launch_index:
in: body
required: false
type: integer
description: |
When servers are launched via multiple create, this is the
sequence in which the servers were launched.
By default, it appears in the response for administrative users only.
min_version: 2.3
server_launch_index_update_rebuild:
in: body
required: false
type: integer
description: |
When servers are launched via multiple create, this is the
sequence in which the servers were launched.
By default, it appears in the response for administrative users only.
min_version: 2.75
server_links:
description: |
Links pertaining to the server. See `API Guide / Links and
References
<https://docs.openstack.org/api-guide/compute/links_and_references.html>`_
for more info.
in: body
type: array
required: true
server_name:
description: |
The server name.
in: body
required: true
type: string
server_name_optional:
description: |
The server name.
in: body
required: false
type: string
server_ramdisk_id:
in: body
required: false
type: string
description: |
The UUID of the ramdisk image when using an AMI. Will be null if not.
By default, it appears in the response for administrative users only.
min_version: 2.3
server_ramdisk_id_update_rebuild:
in: body
required: false
type: string
description: |
The UUID of the ramdisk image when using an AMI. Will be null if not.
By default, it appears in the response for administrative users only.
min_version: 2.75
server_reservation_id:
in: body
required: false
type: string
description: |
The reservation id for the server. This is an id that can
be useful in tracking groups of servers created with multiple
create, that will all have the same reservation_id.
By default, it appears in the response for administrative users only.
min_version: 2.3
server_reservation_id_update_rebuild:
in: body
required: false
type: string
description: |
The reservation id for the server. This is an id that can
be useful in tracking groups of servers created with multiple
create, that will all have the same reservation_id.
By default, it appears in the response for administrative users only.
min_version: 2.75
server_root_device_name:
in: body
required: false
type: string
description: |
The root device name for the instance
By default, it appears in the response for administrative users only.
min_version: 2.3
server_root_device_name_update_rebuild:
in: body
required: false
type: string
description: |
The root device name for the instance
By default, it appears in the response for administrative users only.
min_version: 2.75
server_status:
description: |
The server status.
in: body
required: true
type: string
server_tags_create:
description: |
A list of tags. Tags have the following restrictions:
- Tag is a Unicode bytestring no longer than 60 characters.
- Tag is a non-empty string.
- '/' is not allowed to be in a tag name
- Comma is not allowed to be in a tag name in order to simplify
requests that specify lists of tags
- All other characters are allowed to be in a tag name
- Each server can have up to 50 tags.
in: body
required: false
type: array
min_version: 2.52
server_topology_nodes:
description: |
NUMA nodes information of a server.
in: body
required: true
type: array
server_topology_nodes_cpu_pinning:
description: |
The mapping of server cores to host physical CPU. for example::
cpu_pinning: { 0: 0, 1: 5}
This means vcpu 0 is mapped to physical CPU 0, and vcpu 1 is mapped
physical CPU 5.
By default the ``cpu_pinning`` field is only visible to users with the
administrative role. You can change the default behavior via the policy
rule::
compute:server:topology:host:index
in: body
required: false
type: dict
server_topology_nodes_cpu_siblings:
description: |
A mapping of host cpus thread sibling. For example::
siblings: [[0,1],[2,3]]
This means vcpu 0 and vcpu 1 belong to same CPU core, vcpu 2, vcpu 3
belong to another CPU core.
By default the ``siblings`` field is only visible to users with the
administrative role. You can change the default behavior via the policy
rule::
compute:server:topology:host:index
in: body
required: false
type: list
server_topology_nodes_host_node:
description: |
The host NUMA node the virtual NUMA node is map to.
By default the ``host_node`` field is only visible to users with the
administrator role. You can change the default behavior via the policy
rule::
compute:server:topology:host:index
in: body
required: false
type: integer
server_topology_nodes_memory_mb:
description: |
The amount of memory assigned to this NUMA node in MB.
in: body
required: false
type: integer
server_topology_nodes_vcpu_set:
description: |
A list of IDs of the virtual CPU assigned to this NUMA node.
in: body
required: false
type: list
server_topology_pagesize_kb:
description: |
The page size in KB of a server. This field is ``null`` if the
page size information is not available.
in: body
required: true
type: integer
server_trusted_image_certificates_create_req:
description: |
A list of trusted certificate IDs, which are used during image
signature verification to verify the signing certificate. The list is
restricted to a maximum of 50 IDs. This parameter is optional in server
create requests if allowed by policy, and is not supported for
volume-backed instances.
in: body
required: false
type: array
min_version: 2.63
server_trusted_image_certificates_rebuild_req:
description: |
A list of trusted certificate IDs, which are used during image
signature verification to verify the signing certificate. The list is
restricted to a maximum of 50 IDs. This parameter is optional in server
rebuild requests if allowed by policy, and is not supported
for volume-backed instances.
If ``null`` is specified, the existing trusted certificate IDs are either
unset or reset to the configured defaults.
in: body
required: false
type: array
min_version: 2.63
server_trusted_image_certificates_resp:
description: |
A list of trusted certificate IDs, that were used during image signature
verification to verify the signing certificate. The list is restricted
to a maximum of 50 IDs. The value is ``null`` if trusted certificate IDs
are not set.
in: body
required: true
type: array
min_version: 2.63
server_usages:
description: |
A list of the server usage objects.
in: body
required: true
type: array
server_usages_optional:
description: |
A list of the server usage objects.
in: body
required: false
type: array
server_user_data:
in: body
required: false
type: string
description: |
The user_data the instance was created with.
By default, it appears in the response for administrative users only.
min_version: 2.3
server_user_data_update:
in: body
required: false
type: string
description: |
The user_data the instance was created with.
By default, it appears in the response for administrative users only.
min_version: 2.75
server_uuid:
description: |
The UUID of the server instance to which the API dispatches the event. You must
assign this instance to a host. Otherwise, this call does not dispatch the event
to the instance.
in: body
required: true
type: string
servers:
description: |
A list of ``server`` objects.
in: body
required: true
type: array
servers_links:
description: |
Links to the next server. It is available when the number of servers exceeds
``limit`` parameter or ``[api]/max_limit`` in the configuration file.
See `Paginated collections
<https://docs.openstack.org/api-guide/compute/paginated_collections.html>`__
for more info.
in: body
type: array
required: false
servers_max_count:
in: body
required: false
type: integer
description: |
The max number of servers to be created. Defaults to the value of ``min_count``.
servers_min_count:
in: body
required: false
type: integer
description: |
The min number of servers to be created. Defaults to 1.
servers_multiple_create_name:
in: body
required: true
type: string
description: |
A base name for creating unique names during multiple create.
service:
description: |
Object representing a compute service.
in: body
required: true
type: object
service_disable_reason:
description: |
The disable reason of the service, ``null`` if the service is enabled or
disabled without reason provided.
in: body
required: true
type: string
service_id_body:
description: |
The id of the service.
in: body
required: true
type: integer
service_id_body_2_52:
description: |
The id of the service.
in: body
required: true
type: integer
max_version: 2.52
service_id_body_2_53:
description: |
The id of the service as a uuid.
in: body
required: true
type: string
min_version: 2.53
service_id_body_2_53_no_version:
description: |
The id of the service as a uuid.
in: body
required: true
type: string
service_state:
description: |
The state of the service. One of ``up`` or ``down``.
in: body
required: true
type: string
service_status:
description: |
The status of the service. One of ``enabled`` or ``disabled``.
in: body
required: true
type: string
# This is an optional input parameter to PUT /os-services/{service_id} added
# in microversion 2.53.
service_status_2_53_in:
description: |
The status of the service. One of ``enabled`` or ``disabled``.
in: body
required: false
type: string
services:
description: |
A list of service objects.
in: body
required: true
type: array
set_metadata:
description: |
The set_metadata object used to set metadata for host aggregate.
in: body
required: true
type: object
share_body:
description: |
A dictionary representation of a share attachment containing the fields
``uuid``, ``serverId``, ``status``, ``tag`` and ``export_location``.
in: body
required: true
type: object
share_export_location_body:
description: |
The export location used to attach the share to the underlying host.
in: body
required: false
type: string
share_id_body:
description: |
The UUID of the attached share.
in: body
required: true
type: string
share_status_body:
description: |
Status of the Share:
- attaching: The share is being attached to the VM by the compute node.
- detaching: The share is being detached from the VM by the compute node.
- inactive: The share is attached but inactive because the VM is stopped.
- active: The share is attached, and the VM is running.
- error: The share is in an error state.
in: body
required: true
type: string
share_tag_body:
description: |
The device tag to be used by users to mount the share within the instance,
if not provided then the share UUID will be used automatically.
in: body
required: true
type: string
share_uuid_body:
description: |
The UUID of the share attachment.
in: body
required: false
type: string
shares_body:
description: |
The list of share attachments.
in: body
required: true
type: array
shelve:
description: |
The action.
in: body
required: true
type: none
shelveOffload:
description: |
The action.
in: body
required: true
type: none
size:
description: |
The size of the volume, in gibibytes (GiB).
in: body
required: true
type: integer
snapshot:
description: |
A partial representation of a snapshot that is used to create a snapshot.
in: body
required: true
type: object
snapshot_description:
description: |
The snapshot description.
in: body
required: true
type: string
snapshot_description_optional:
description: |
The snapshot description.
in: body
required: false
type: string
snapshot_id:
description: |
The UUID for a snapshot.
in: body
required: true
type: string
snapshot_id_optional:
description: |
The UUID for a snapshot.
in: body
required: false
type: string
snapshot_id_resp_2_45:
description: |
The UUID for the resulting image snapshot.
in: body
required: true
type: string
min_version: 2.45
snapshot_name:
description: |
The snapshot name.
in: body
required: true
type: string
snapshot_name_optional:
description: |
The snapshot name.
in: body
required: false
type: string
snapshot_status:
description: |
The status of the snapshot. Valid status values are:
- ``available``
- ``creating``
- ``deleting``
- ``error``
- ``error_deleting``
in: body
required: true
type: string
snapshots:
description: |
A list of snapshot objects.
in: body
required: true
type: array
source_type:
description: |
The source type of the block device. Valid values are:
* ``blank``: Depending on the ``destination_type`` and ``guest_format``,
this will either be a blank persistent volume or an ephemeral (or swap)
disk local to the compute host on which the server resides
* ``image``: This is only valid with ``destination_type=volume``; creates
an image-backed volume in the block storage service and attaches it to
the server
* ``snapshot``: This is only valid with ``destination_type=volume``;
creates a volume backed by the given volume snapshot referenced via the
``block_device_mapping_v2.uuid`` parameter and attaches it to the server
* ``volume``: This is only valid with ``destination_type=volume``; uses
the existing persistent volume referenced via the
``block_device_mapping_v2.uuid`` parameter and attaches it to the server
This parameter is required unless ``block_device_mapping_v2.no_device`` is
specified.
See `Block Device Mapping in Nova <https://docs.openstack.org/nova/latest/user/block-device-mapping.html>`_
for more details on valid source and destination types.
in: body
required: false
type: string
start_simple_tenant_usage_body:
description: |
The beginning time to calculate usage statistics on compute and
storage resources. The date and time stamp format is as follows:
::
CCYY-MM-DDThh:mm:ss.NNNNNN
For example, ``2015-08-27T09:49:58.123456``.
in: body
required: true
type: string
start_time:
description: |
The date and time when the action was started. The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
started_at:
description: |
The date and time when the server was launched.
The date and time stamp format is as follows:
::
CCYY-MM-DDThh:mm:ss.NNNNNN
For example, ``2015-08-27T09:49:58.123456``.
in: body
required: true
type: string
started_at_optional:
description: |
The date and time when the server was launched.
The date and time stamp format is as follows:
::
CCYY-MM-DDThh:mm:ss.NNNNNN
For example, ``2015-08-27T09:49:58.123456``.
in: body
required: false
type: string
stop_simple_tenant_usage:
description: |
The ending time to calculate usage statistics on compute and
storage resources. The date and time stamp format is as follows:
::
CCYY-MM-DDThh:mm:ss.NNNNNN
For example, ``2015-08-27T09:49:58.123456``.
in: body
required: true
type: string
subnet_id:
description: |
The UUID of the subnet.
in: body
required: true
type: string
suspend:
description: |
The action to suspend a server.
in: body
required: true
type: none
tags:
description: |
A list of tags. The maximum count of tags in this list is 50.
in: body
required: true
type: array
min_version: 2.26
tags_no_min:
description: |
A list of tags. The maximum count of tags in this list is 50.
in: body
required: true
type: array
tenant_id_body:
description: |
The UUID of the tenant in a multi-tenancy cloud.
in: body
required: true
type: string
tenant_id_optional:
description: |
The UUID of the tenant in a multi-tenancy cloud.
in: body
required: false
type: string
tenant_usage:
description: |
The tenant usage object.
in: body
required: true
type: object
tenant_usages:
description: |
A list of the tenant usage objects.
in: body
required: true
type: array
tls_port_number:
description: |
The port number of a port requiring a TLS connection.
in: body
required: false
type: integer
to_port:
description: |
The port at end of range.
in: body
required: true
type: integer
total_cores_used:
description: |
The number of used server cores in each tenant.
If ``reserved`` query parameter is specified and it is not 0,
the number of reserved server cores are also included.
in: body
required: true
type: integer
total_errors:
description: |
The total number of instance audit task errors.
in: body
required: true
type: integer
total_floatingips_used:
description: |
The number of used floating IP addresses in each tenant.
If ``reserved`` query parameter is specified and it is not 0,
the number of reserved floating IP addresses are also included.
in: body
required: true
type: integer
max_version: 2.35
total_hours:
description: |
The total duration that servers exist (in hours).
in: body
required: true
type: float
total_instances:
description: |
The total number of VM instances in the period.
in: body
required: true
type: integer
total_instances_used:
description: |
The number of servers in each tenant.
If ``reserved`` query parameter is specified and it is not 0,
the number of reserved servers are also included.
in: body
required: true
type: integer
total_local_gb_usage:
description: |
Multiplying the server disk size (in GiB) by hours the server exists,
and then adding that all together for each server.
in: body
required: true
type: float
total_memory_mb_usage:
description: |
Multiplying the server memory size (in MiB) by hours the server exists,
and then adding that all together for each server.
in: body
required: true
type: float
total_ram_used:
description: |
The amount of used server RAM in each tenant.
If ``reserved`` query parameter is specified and it is not 0,
the amount of reserved server RAM is also included.
in: body
required: true
type: integer
total_security_groups_used:
description: |
The number of used security groups in each tenant.
If ``reserved`` query parameter is specified and it is not 0,
the number of reserved security groups are also included.
in: body
required: true
type: integer
max_version: 2.35
total_server_groups_used:
description: |
The number of used server groups in each tenant.
If ``reserved`` query parameter is specified and it is not 0,
the number of reserved server groups are also included.
in: body
required: true
type: integer
total_vcpus_usage:
description: |
Multiplying the number of virtual CPUs of the server by hours the server exists,
and then adding that all together for each server.
in: body
required: true
type: float
trigger_crash_dump:
in: body
required: true
type: none
description: |
Specifies the trigger crash dump action should be run
type-os-assisted-volume-snapshot:
description: |
The snapshot type. A valid value is ``qcow2``.
in: body
required: true
type: string
unlock:
description: |
The action to unlock a locked server.
in: body
required: true
type: none
unpause:
description: |
The action to unpause a paused server.
in: body
required: true
type: none
unrescue:
description: |
The action to unrescue a server in rescue mode.
in: body
required: true
type: none
unshelve:
description: |
The action.
in: body
required: true
type: none
updated:
description: |
The date and time when the resource was updated. The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
updated_consider_null:
description: |
The date and time when the resource was updated, if the resource has
not been updated, this field will show as ``null``. The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
updated_instance_action:
description: |
The date and time when the instance action or the action event of
instance action was updated. The date and time stamp format is
`ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm``
value, if included, is the time zone as an offset from UTC. In
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
min_version: 2.58
updated_version:
description: |
This is a fixed string. It is ``2011-01-21T11:33:21Z`` in version 2.0,
``2013-07-23T11:33:21Z`` in version 2.1.
.. note::
It is vestigial and provides no useful information.
It will be deprecated and removed in the future.
in: body
required: true
type: string
uptime:
description: |
The total uptime of the hypervisor and information about average
load.
in: body
required: true
type: string
uptime_diagnostics:
description: |
The amount of time in seconds that the VM has been running.
in: body
required: true
type: integer
min_version: 2.48
uptime_simple_tenant_usage:
description: |
The uptime of the server.
in: body
required: true
type: integer
uptime_simple_tenant_usage_optional:
description: |
The uptime of the server.
in: body
required: false
type: integer
url:
description: |
The URL associated with the agent.
in: body
required: true
type: string
usage_links:
description: |
Links pertaining to usage. See `API Guide / Links and
References
<https://docs.openstack.org/api-guide/compute/links_and_references.html>`_
for more info.
in: body
type: array
required: false
min_version: 2.40
user_data:
description: |
Configuration information or scripts to use upon launch.
Must be Base64 encoded. Restricted to 65535 bytes.
.. note::
The ``null`` value allowed in Nova legacy v2 API, but due to the strict
input validation, it isn't allowed in Nova v2.1 API.
in: body
required: false
type: string
user_data_rebuild_req:
description: |
Configuration information or scripts to use upon rebuild.
Must be Base64 encoded. Restricted to 65535 bytes.
If ``null`` is specified, the existing user_data is unset.
in: body
required: false
type: string
min_version: 2.57
user_data_rebuild_resp:
in: body
required: true
type: string
description: |
The current user_data for the instance.
min_version: 2.57
user_id:
description: |
The user ID of the user who owns the server.
in: body
required: true
type: string
user_id_migration_2_80:
description: |
The ID of the user which initiated the server migration. The value
may be ``null`` for older migration records.
in: body
required: true
type: string
min_version: 2.80
user_id_server_action:
description: |
The ID of the user which initiated the server action.
in: body
required: true
type: string
user_id_server_group:
description: |
The user ID who owns the server group.
min_version: 2.13
in: body
required: true
type: string
vcpus:
description: |
The number of virtual CPUs that the server uses.
in: body
required: true
type: integer
vcpus_optional:
description: |
The number of virtual CPUs that the server uses.
in: body
required: false
type: integer
version:
description: |
The version.
in: body
required: true
type: string
version_id:
type: string
in: body
required: true
description: >
A common name for the version in question. Informative only, it
has no real semantic meaning.
version_ip:
description: |
The IP version of the address associated with server.
in: body
required: true
type: integer
version_max:
type: string
in: body
required: true
description: >
If this version of the API supports microversions, the maximum
microversion that is supported. This will be the empty string if
microversions are not supported.
version_min:
type: string
in: body
required: true
description: >
If this version of the API supports microversions, the minimum
microversion that is supported. This will be the empty string if
microversions are not supported.
version_status:
type: string
in: body
required: true
description: |
The status of this API version. This can be one of:
- ``CURRENT``: this is the preferred version of the API to use
- ``SUPPORTED``: this is an older, but still supported version of the API
- ``DEPRECATED``: a deprecated version of the API that is slated for removal
versions:
type: array
in: body
required: true
description: >
A list of version objects that describe the API versions available.
virtual_interface:
description: |
Virtual interface for the floating ip address.
in: body
required: true
type: string
virtual_interface_id:
description: |
The UUID of the virtual interface.
in: body
required: true
type: string
virtual_interface_id_optional:
description: |
Virtual interface for the floating ip address
in: body
required: false
type: string
virtual_interfaces:
description: |
An array of virtual interfaces.
in: body
required: true
type: array
vm_state_diagnostics:
description: |
A string enum denoting the current state of the VM. Possible values are:
- ``pending``
- ``running``
- ``paused``
- ``shutdown``
- ``crashed``
- ``suspended``
in: body
required: true
type: string
min_version: 2.48
vm_state_optional:
description: |
The VM state.
in: body
required: false
type: string
volume:
description: |
The ``volume`` object.
in: body
required: true
type: object
volume_attachment_id_resp:
description: |
The volume ID of the attachment.
in: body
required: true
type: string
max_version: 2.88
volume_id:
description: |
The source volume ID.
in: body
required: true
type: string
volume_id_resp:
description: |
The UUID of the volume.
in: body
required: true
type: string
volume_size:
description: |
The size of the volume (in GiB).
This is integer value from range 1 to 2147483647
which can be requested as integer and string.
This parameter must be specified in the following cases:
- An image to volume case
* ``block_device_mapping_v2.source_type`` is ``image``
* ``block_device_mapping_v2.destination_type`` is ``volume``
- A blank to volume case
* ``block_device_mapping_v2.source_type`` is ``blank``
* ``block_device_mapping_v2.destination_type`` is ``volume``
in: body
required: false
type: integer
volume_status:
description: |
The status of the volume.
in: body
required: true
type: string
volume_type:
description: |
The name or unique identifier for a volume type.
in: body
required: true
type: string
volume_type_optional:
description: |
The unique identifier for a volume type.
in: body
required: false
type: string
# This is the volumeAttachment in a response body.
volumeAttachment:
description: |
A dictionary representation of a volume attachment containing the fields
``device``, ``id``, ``serverId`` and ``volumeId``.
in: body
required: true
type: object
# This is the volumeAttachment in a POST (attach volume) request body.
volumeAttachment_post:
description: |
A dictionary representation of a volume attachment containing the fields
``device`` and ``volumeId``.
in: body
required: true
type: object
# This is the volumeAttachment in a PUT (swap volume) request body.
volumeAttachment_put:
description: |
A dictionary representation of a volume attachment containing the field
``volumeId`` which is the UUID of the replacement volume, and other fields
to update in the attachment.
in: body
required: true
type: object
volumeAttachments:
description: |
The list of volume attachments.
in: body
required: true
type: array
volumeId:
description: |
The UUID of the volume to attach.
in: body
required: true
type: string
volumeId_resp:
description: |
The UUID of the attached volume.
in: body
required: true
type: string
volumeId_swap:
description: |
The UUID of the volume to attach instead of the attached volume.
in: body
required: true
type: string
volumes:
description: |
The list of ``volume`` objects.
in: body
required: true
type: array
vpn_public_ip:
description: |
The VPN IP address.
in: body
required: true
type: string
vpn_public_ip_resp:
description: |
The VPN public IP address.
in: body
required: false
type: string
vpn_public_port:
description: |
The VPN port.
in: body
required: true
type: string
vpn_public_port_resp:
description: |
The VPN public port.
in: body
required: false
type: string
vpn_state:
description: |
The VPN state.
in: body
required: false
type: string
|