github.com/osrg/gobgp/v3@v3.30.0/tools/completion/gobgp-dynamic-completion.bash (about) 1 # bash completion for gobgp -*- shell-script -*- 2 3 __gobgp_q() 4 { 5 gobgp 2>/dev/null "$@" 6 } 7 8 # Get bgp neighbors use gobgp command. 9 __gobgp_q_neighbor() 10 { 11 local neighbors=( $(__gobgp_q $url $port --quiet neighbor) ) 12 case "${neighbors[*]}" in 13 "grpc: timed out"* | "rpc error:"* ) 14 req_faild="True" 15 return 16 ;; 17 esac 18 for n in ${neighbors[*]}; do 19 commands+=($n) 20 done 21 searched="True" 22 } 23 24 # Get gobgp configration of vrfs use gobgp command. 25 __gobgp_q_vrf() 26 { 27 local vrfs=( $(__gobgp_q $url $port --quiet vrf) ) 28 case "${vrfs[*]}" in 29 "grpc: timed out"* | "rpc error:"* ) 30 req_faild="True" 31 return 32 ;; 33 esac 34 for n in ${vrfs[*]}; do 35 commands+=($n) 36 done 37 searched="True" 38 } 39 40 # Get gobgp configration of policies use gobgp command. 41 __gobgp_q_policy() 42 { 43 local parg=$1 44 local policies=( $(__gobgp_q $url $port --quiet policy $parg) ) 45 case "${policies[*]}" in 46 "grpc: timed out"* | "rpc error:"* ) 47 req_faild="True" 48 return 49 ;; 50 esac 51 for ps in ${policies[*]}; do 52 commands+=($ps) 53 done 54 searched="True" 55 } 56 57 # Get gobgp configration of policiy statements use gobgp command. 58 __gobgp_q_statement() 59 { 60 local statements=( $(__gobgp_q $url $port --quiet policy statement ) ) 61 case "${statements[*]}" in 62 "grpc: timed out"* | "rpc error:"* ) 63 req_faild="True" 64 return 65 ;; 66 esac 67 for sts in ${statements[*]}; do 68 commands+=($sts) 69 done 70 searched="True" 71 } 72 73 # Handler for controlling obtained when the dynamic complement. 74 # This function checks the last command to control the next operation. 75 __handle_gobgp_command() 76 { 77 if [[ ${searched} == "True" ]]; then 78 case "${last_command}" in 79 # Control after dynamic complement of bgp neighbor command 80 gobgp_neighbor ) 81 next_command="_${last_command}_addr" 82 ;; 83 84 # Control after dynamic complement of bgp policy command 85 gobgp_policy_prefix_* | gobgp_policy_neighbor_* | gobgp_policy_as-path_* | gobgp_policy_community_* | gobgp_policy_ext-community_* ) 86 next_command="__gobgp_null" 87 ;; 88 gobgp_policy_del | gobgp_policy_set ) 89 next_command="__gobgp_null" 90 ;; 91 gobgp_policy_statement ) 92 if [[ ${words[c]} == "del" || ${words[c]} == "add" ]]; then 93 return 94 fi 95 next_command="_gobgp_policy_statement_sname" 96 ;; 97 gobgp_policy_statement_del ) 98 next_command="__gobgp_null" 99 ;; 100 *_condition_prefix | *_condition_neighbor | *_condition_as-path | *_condition_community | *_ext-condition_community ) 101 next_command="__gobgp_null" 102 ;; 103 104 # Control after dynamic complement of bgp vrf command 105 gobgp_vrf ) 106 if [[ ${words[c]} == "del" || ${words[c]} == "add" ]]; then 107 return 108 fi 109 next_command="_global_vrf_vname" 110 ;; 111 gobgp_vrf_del ) 112 next_command="__gobgp_null" 113 ;; 114 115 # Control after dynamic complement of bgp mrt command 116 gobgp_mrt_dump_rib_neighbor ) 117 next_command="__gobgp_null" 118 ;; 119 gobgp_monitor_neighbor ) 120 next_command="__gobgp_null" 121 ;; 122 esac 123 through="True" 124 fi 125 } 126 127 __gobgp_null() 128 { 129 last_command="gobgp_null" 130 commands=() 131 132 flags=() 133 two_word_flags=() 134 flags_with_completion=() 135 flags_completion=() 136 137 flags+=("--bash-cmpl-file=") 138 flags+=("--debug") 139 flags+=("-d") 140 flags+=("--gen-cmpl") 141 flags+=("-c") 142 flags+=("--host=") 143 two_word_flags+=("-u") 144 flags+=("--json") 145 flags+=("-j") 146 flags+=("--port=") 147 two_word_flags+=("-p") 148 flags+=("--quiet") 149 flags+=("-q") 150 151 must_have_one_flag=() 152 must_have_one_noun=() 153 } 154 155 156 _gobgp_neighbor_addr_local() 157 { 158 last_command="gobgp_neighbor_addr_local" 159 commands=() 160 161 flags=() 162 two_word_flags=() 163 flags_with_completion=() 164 flags_completion=() 165 166 flags+=("--address-family=") 167 two_word_flags+=("-a") 168 flags+=("--bash-cmpl-file=") 169 flags+=("--debug") 170 flags+=("-d") 171 flags+=("--gen-cmpl") 172 flags+=("-c") 173 flags+=("--host=") 174 two_word_flags+=("-u") 175 flags+=("--json") 176 flags+=("-j") 177 flags+=("--port=") 178 two_word_flags+=("-p") 179 flags+=("--quiet") 180 flags+=("-q") 181 182 must_have_one_flag=() 183 must_have_one_noun=() 184 } 185 186 _gobgp_neighbor_addr_adj-in() 187 { 188 last_command="gobgp_neighbor_addr_adj-in" 189 commands=() 190 191 flags=() 192 two_word_flags=() 193 flags_with_completion=() 194 flags_completion=() 195 196 flags+=("--address-family=") 197 two_word_flags+=("-a") 198 flags+=("--bash-cmpl-file=") 199 flags+=("--debug") 200 flags+=("-d") 201 flags+=("--gen-cmpl") 202 flags+=("-c") 203 flags+=("--host=") 204 two_word_flags+=("-u") 205 flags+=("--json") 206 flags+=("-j") 207 flags+=("--port=") 208 two_word_flags+=("-p") 209 flags+=("--quiet") 210 flags+=("-q") 211 212 must_have_one_flag=() 213 must_have_one_noun=() 214 } 215 216 _gobgp_neighbor_addr_adj-out() 217 { 218 last_command="gobgp_neighbor_addr_adj-out" 219 commands=() 220 221 flags=() 222 two_word_flags=() 223 flags_with_completion=() 224 flags_completion=() 225 226 flags+=("--address-family=") 227 two_word_flags+=("-a") 228 flags+=("--bash-cmpl-file=") 229 flags+=("--debug") 230 flags+=("-d") 231 flags+=("--gen-cmpl") 232 flags+=("-c") 233 flags+=("--host=") 234 two_word_flags+=("-u") 235 flags+=("--json") 236 flags+=("-j") 237 flags+=("--port=") 238 two_word_flags+=("-p") 239 flags+=("--quiet") 240 flags+=("-q") 241 242 must_have_one_flag=() 243 must_have_one_noun=() 244 } 245 246 _gobgp_neighbor_addr_reset() 247 { 248 last_command="gobgp_neighbor_addr_reset" 249 commands=() 250 251 flags=() 252 two_word_flags=() 253 flags_with_completion=() 254 flags_completion=() 255 256 flags+=("--bash-cmpl-file=") 257 flags+=("--debug") 258 flags+=("-d") 259 flags+=("--gen-cmpl") 260 flags+=("-c") 261 flags+=("--host=") 262 two_word_flags+=("-u") 263 flags+=("--json") 264 flags+=("-j") 265 flags+=("--port=") 266 two_word_flags+=("-p") 267 flags+=("--quiet") 268 flags+=("-q") 269 270 must_have_one_flag=() 271 must_have_one_noun=() 272 } 273 274 _gobgp_neighbor_addr_softreset() 275 { 276 last_command="gobgp_neighbor_addr_softreset" 277 commands=() 278 279 flags=() 280 two_word_flags=() 281 flags_with_completion=() 282 flags_completion=() 283 284 flags+=("--bash-cmpl-file=") 285 flags+=("--debug") 286 flags+=("-d") 287 flags+=("--gen-cmpl") 288 flags+=("-c") 289 flags+=("--host=") 290 two_word_flags+=("-u") 291 flags+=("--json") 292 flags+=("-j") 293 flags+=("--port=") 294 two_word_flags+=("-p") 295 flags+=("--quiet") 296 flags+=("-q") 297 298 must_have_one_flag=() 299 must_have_one_noun=() 300 } 301 302 _gobgp_neighbor_addr_softresetin() 303 { 304 last_command="gobgp_neighbor_addr_softresetin" 305 commands=() 306 307 flags=() 308 two_word_flags=() 309 flags_with_completion=() 310 flags_completion=() 311 312 flags+=("--bash-cmpl-file=") 313 flags+=("--debug") 314 flags+=("-d") 315 flags+=("--gen-cmpl") 316 flags+=("-c") 317 flags+=("--host=") 318 two_word_flags+=("-u") 319 flags+=("--json") 320 flags+=("-j") 321 flags+=("--port=") 322 two_word_flags+=("-p") 323 flags+=("--quiet") 324 flags+=("-q") 325 326 must_have_one_flag=() 327 must_have_one_noun=() 328 } 329 330 _gobgp_neighbor_addr_softresetout() 331 { 332 last_command="gobgp_neighbor_addr_softresetout" 333 commands=() 334 335 flags=() 336 two_word_flags=() 337 flags_with_completion=() 338 flags_completion=() 339 340 flags+=("--bash-cmpl-file=") 341 flags+=("--debug") 342 flags+=("-d") 343 flags+=("--gen-cmpl") 344 flags+=("-c") 345 flags+=("--host=") 346 two_word_flags+=("-u") 347 flags+=("--json") 348 flags+=("-j") 349 flags+=("--port=") 350 two_word_flags+=("-p") 351 flags+=("--quiet") 352 flags+=("-q") 353 354 must_have_one_flag=() 355 must_have_one_noun=() 356 } 357 358 _gobgp_neighbor_addr_shutdown() 359 { 360 last_command="gobgp_neighbor_addr_shutdown" 361 commands=() 362 363 flags=() 364 two_word_flags=() 365 flags_with_completion=() 366 flags_completion=() 367 368 flags+=("--bash-cmpl-file=") 369 flags+=("--debug") 370 flags+=("-d") 371 flags+=("--gen-cmpl") 372 flags+=("-c") 373 flags+=("--host=") 374 two_word_flags+=("-u") 375 flags+=("--json") 376 flags+=("-j") 377 flags+=("--port=") 378 two_word_flags+=("-p") 379 flags+=("--quiet") 380 flags+=("-q") 381 382 must_have_one_flag=() 383 must_have_one_noun=() 384 } 385 386 _gobgp_neighbor_addr_enable() 387 { 388 last_command="gobgp_neighbor_addr_enable" 389 commands=() 390 391 flags=() 392 two_word_flags=() 393 flags_with_completion=() 394 flags_completion=() 395 396 flags+=("--bash-cmpl-file=") 397 flags+=("--debug") 398 flags+=("-d") 399 flags+=("--gen-cmpl") 400 flags+=("-c") 401 flags+=("--host=") 402 two_word_flags+=("-u") 403 flags+=("--json") 404 flags+=("-j") 405 flags+=("--port=") 406 two_word_flags+=("-p") 407 flags+=("--quiet") 408 flags+=("-q") 409 410 must_have_one_flag=() 411 must_have_one_noun=() 412 } 413 414 _gobgp_neighbor_addr_disable() 415 { 416 last_command="gobgp_neighbor_addr_disable" 417 commands=() 418 419 flags=() 420 two_word_flags=() 421 flags_with_completion=() 422 flags_completion=() 423 424 flags+=("--bash-cmpl-file=") 425 flags+=("--debug") 426 flags+=("-d") 427 flags+=("--gen-cmpl") 428 flags+=("-c") 429 flags+=("--host=") 430 two_word_flags+=("-u") 431 flags+=("--json") 432 flags+=("-j") 433 flags+=("--port=") 434 two_word_flags+=("-p") 435 flags+=("--quiet") 436 flags+=("-q") 437 438 must_have_one_flag=() 439 must_have_one_noun=() 440 } 441 442 _gobgp_neighbor_addr_policy_in_add() 443 { 444 last_command="gobgp_neighbor_addr_policy_in_add" 445 commands=() 446 447 flags=() 448 two_word_flags=() 449 flags_with_completion=() 450 flags_completion=() 451 452 flags+=("--bash-cmpl-file=") 453 flags+=("--debug") 454 flags+=("-d") 455 flags+=("--gen-cmpl") 456 flags+=("-c") 457 flags+=("--host=") 458 two_word_flags+=("-u") 459 flags+=("--json") 460 flags+=("-j") 461 flags+=("--port=") 462 two_word_flags+=("-p") 463 flags+=("--quiet") 464 flags+=("-q") 465 466 must_have_one_flag=() 467 must_have_one_noun=() 468 } 469 470 _gobgp_neighbor_addr_policy_in_del() 471 { 472 last_command="gobgp_neighbor_addr_policy_in_del" 473 commands=() 474 475 flags=() 476 two_word_flags=() 477 flags_with_completion=() 478 flags_completion=() 479 480 flags+=("--bash-cmpl-file=") 481 flags+=("--debug") 482 flags+=("-d") 483 flags+=("--gen-cmpl") 484 flags+=("-c") 485 flags+=("--host=") 486 two_word_flags+=("-u") 487 flags+=("--json") 488 flags+=("-j") 489 flags+=("--port=") 490 two_word_flags+=("-p") 491 flags+=("--quiet") 492 flags+=("-q") 493 494 must_have_one_flag=() 495 must_have_one_noun=() 496 } 497 498 _gobgp_neighbor_addr_policy_in_set() 499 { 500 last_command="gobgp_neighbor_addr_policy_in_set" 501 commands=() 502 503 flags=() 504 two_word_flags=() 505 flags_with_completion=() 506 flags_completion=() 507 508 flags+=("--bash-cmpl-file=") 509 flags+=("--debug") 510 flags+=("-d") 511 flags+=("--gen-cmpl") 512 flags+=("-c") 513 flags+=("--host=") 514 two_word_flags+=("-u") 515 flags+=("--json") 516 flags+=("-j") 517 flags+=("--port=") 518 two_word_flags+=("-p") 519 flags+=("--quiet") 520 flags+=("-q") 521 522 must_have_one_flag=() 523 must_have_one_noun=() 524 } 525 526 _gobgp_neighbor_addr_policy_in() 527 { 528 last_command="gobgp_neighbor_addr_policy_in" 529 commands=() 530 commands+=("add") 531 commands+=("del") 532 commands+=("set") 533 534 flags=() 535 two_word_flags=() 536 flags_with_completion=() 537 flags_completion=() 538 539 flags+=("--bash-cmpl-file=") 540 flags+=("--debug") 541 flags+=("-d") 542 flags+=("--gen-cmpl") 543 flags+=("-c") 544 flags+=("--host=") 545 two_word_flags+=("-u") 546 flags+=("--json") 547 flags+=("-j") 548 flags+=("--port=") 549 two_word_flags+=("-p") 550 flags+=("--quiet") 551 flags+=("-q") 552 553 must_have_one_flag=() 554 must_have_one_noun=() 555 } 556 557 _gobgp_neighbor_addr_policy_import_add() 558 { 559 last_command="gobgp_neighbor_addr_policy_import_add" 560 commands=() 561 562 flags=() 563 two_word_flags=() 564 flags_with_completion=() 565 flags_completion=() 566 567 flags+=("--bash-cmpl-file=") 568 flags+=("--debug") 569 flags+=("-d") 570 flags+=("--gen-cmpl") 571 flags+=("-c") 572 flags+=("--host=") 573 two_word_flags+=("-u") 574 flags+=("--json") 575 flags+=("-j") 576 flags+=("--port=") 577 two_word_flags+=("-p") 578 flags+=("--quiet") 579 flags+=("-q") 580 581 must_have_one_flag=() 582 must_have_one_noun=() 583 } 584 585 _gobgp_neighbor_addr_policy_import_del() 586 { 587 last_command="gobgp_neighbor_addr_policy_import_del" 588 commands=() 589 590 flags=() 591 two_word_flags=() 592 flags_with_completion=() 593 flags_completion=() 594 595 flags+=("--bash-cmpl-file=") 596 flags+=("--debug") 597 flags+=("-d") 598 flags+=("--gen-cmpl") 599 flags+=("-c") 600 flags+=("--host=") 601 two_word_flags+=("-u") 602 flags+=("--json") 603 flags+=("-j") 604 flags+=("--port=") 605 two_word_flags+=("-p") 606 flags+=("--quiet") 607 flags+=("-q") 608 609 must_have_one_flag=() 610 must_have_one_noun=() 611 } 612 613 _gobgp_neighbor_addr_policy_import_set() 614 { 615 last_command="gobgp_neighbor_addr_policy_import_set" 616 commands=() 617 618 flags=() 619 two_word_flags=() 620 flags_with_completion=() 621 flags_completion=() 622 623 flags+=("--bash-cmpl-file=") 624 flags+=("--debug") 625 flags+=("-d") 626 flags+=("--gen-cmpl") 627 flags+=("-c") 628 flags+=("--host=") 629 two_word_flags+=("-u") 630 flags+=("--json") 631 flags+=("-j") 632 flags+=("--port=") 633 two_word_flags+=("-p") 634 flags+=("--quiet") 635 flags+=("-q") 636 637 must_have_one_flag=() 638 must_have_one_noun=() 639 } 640 641 _gobgp_neighbor_addr_policy_import() 642 { 643 last_command="gobgp_neighbor_addr_policy_import" 644 commands=() 645 commands+=("add") 646 commands+=("del") 647 commands+=("set") 648 649 flags=() 650 two_word_flags=() 651 flags_with_completion=() 652 flags_completion=() 653 654 flags+=("--bash-cmpl-file=") 655 flags+=("--debug") 656 flags+=("-d") 657 flags+=("--gen-cmpl") 658 flags+=("-c") 659 flags+=("--host=") 660 two_word_flags+=("-u") 661 flags+=("--json") 662 flags+=("-j") 663 flags+=("--port=") 664 two_word_flags+=("-p") 665 flags+=("--quiet") 666 flags+=("-q") 667 668 must_have_one_flag=() 669 must_have_one_noun=() 670 } 671 672 _gobgp_neighbor_addr_policy_export_add() 673 { 674 last_command="gobgp_neighbor_addr_policy_export_add" 675 commands=() 676 677 flags=() 678 two_word_flags=() 679 flags_with_completion=() 680 flags_completion=() 681 682 flags+=("--bash-cmpl-file=") 683 flags+=("--debug") 684 flags+=("-d") 685 flags+=("--gen-cmpl") 686 flags+=("-c") 687 flags+=("--host=") 688 two_word_flags+=("-u") 689 flags+=("--json") 690 flags+=("-j") 691 flags+=("--port=") 692 two_word_flags+=("-p") 693 flags+=("--quiet") 694 flags+=("-q") 695 696 must_have_one_flag=() 697 must_have_one_noun=() 698 } 699 700 _gobgp_neighbor_addr_policy_export_del() 701 { 702 last_command="gobgp_neighbor_addr_policy_export_del" 703 commands=() 704 705 flags=() 706 two_word_flags=() 707 flags_with_completion=() 708 flags_completion=() 709 710 flags+=("--bash-cmpl-file=") 711 flags+=("--debug") 712 flags+=("-d") 713 flags+=("--gen-cmpl") 714 flags+=("-c") 715 flags+=("--host=") 716 two_word_flags+=("-u") 717 flags+=("--json") 718 flags+=("-j") 719 flags+=("--port=") 720 two_word_flags+=("-p") 721 flags+=("--quiet") 722 flags+=("-q") 723 724 must_have_one_flag=() 725 must_have_one_noun=() 726 } 727 728 _gobgp_neighbor_addr_policy_export_set() 729 { 730 last_command="gobgp_neighbor_addr_policy_export_set" 731 commands=() 732 733 flags=() 734 two_word_flags=() 735 flags_with_completion=() 736 flags_completion=() 737 738 flags+=("--bash-cmpl-file=") 739 flags+=("--debug") 740 flags+=("-d") 741 flags+=("--gen-cmpl") 742 flags+=("-c") 743 flags+=("--host=") 744 two_word_flags+=("-u") 745 flags+=("--json") 746 flags+=("-j") 747 flags+=("--port=") 748 two_word_flags+=("-p") 749 flags+=("--quiet") 750 flags+=("-q") 751 752 must_have_one_flag=() 753 must_have_one_noun=() 754 } 755 756 _gobgp_neighbor_addr_policy_export() 757 { 758 last_command="gobgp_neighbor_addr_policy_export" 759 commands=() 760 commands+=("add") 761 commands+=("del") 762 commands+=("set") 763 764 flags=() 765 two_word_flags=() 766 flags_with_completion=() 767 flags_completion=() 768 769 flags+=("--bash-cmpl-file=") 770 flags+=("--debug") 771 flags+=("-d") 772 flags+=("--gen-cmpl") 773 flags+=("-c") 774 flags+=("--host=") 775 two_word_flags+=("-u") 776 flags+=("--json") 777 flags+=("-j") 778 flags+=("--port=") 779 two_word_flags+=("-p") 780 flags+=("--quiet") 781 flags+=("-q") 782 783 must_have_one_flag=() 784 must_have_one_noun=() 785 } 786 787 _gobgp_neighbor_addr_policy() 788 { 789 last_command="gobgp_neighbor_addr_policy" 790 commands=() 791 commands+=("in") 792 commands+=("import") 793 commands+=("export") 794 795 flags=() 796 two_word_flags=() 797 flags_with_completion=() 798 flags_completion=() 799 800 flags+=("--bash-cmpl-file=") 801 flags+=("--debug") 802 flags+=("-d") 803 flags+=("--gen-cmpl") 804 flags+=("-c") 805 flags+=("--host=") 806 two_word_flags+=("-u") 807 flags+=("--json") 808 flags+=("-j") 809 flags+=("--port=") 810 two_word_flags+=("-p") 811 flags+=("--quiet") 812 flags+=("-q") 813 814 must_have_one_flag=() 815 must_have_one_noun=() 816 } 817 818 _gobgp_neighbor_addr() 819 { 820 last_command="gobgp_neighbor_addr" 821 commands=() 822 commands+=("local") 823 commands+=("adj-in") 824 commands+=("adj-out") 825 commands+=("reset") 826 commands+=("softreset") 827 commands+=("softresetin") 828 commands+=("softresetout") 829 commands+=("shutdown") 830 commands+=("enable") 831 commands+=("disable") 832 commands+=("policy") 833 834 flags=() 835 two_word_flags=() 836 flags_with_completion=() 837 flags_completion=() 838 839 flags+=("--address-family=") 840 two_word_flags+=("-a") 841 flags+=("--bash-cmpl-file=") 842 flags+=("--debug") 843 flags+=("-d") 844 flags+=("--gen-cmpl") 845 flags+=("-c") 846 flags+=("--host=") 847 two_word_flags+=("-u") 848 flags+=("--json") 849 flags+=("-j") 850 flags+=("--port=") 851 two_word_flags+=("-p") 852 flags+=("--quiet") 853 flags+=("-q") 854 855 must_have_one_flag=() 856 must_have_one_noun=() 857 } 858 859 _global_vrf_vname_rib_del() 860 { 861 last_command="global_vrf_vname_rib_del" 862 commands=() 863 864 flags=() 865 two_word_flags=() 866 flags_with_completion=() 867 flags_completion=() 868 869 flags+=("--bash-cmpl-file=") 870 flags+=("--debug") 871 flags+=("-d") 872 flags+=("--gen-cmpl") 873 flags+=("-c") 874 flags+=("--host=") 875 two_word_flags+=("-u") 876 flags+=("--json") 877 flags+=("-j") 878 flags+=("--port=") 879 two_word_flags+=("-p") 880 flags+=("--quiet") 881 flags+=("-q") 882 883 must_have_one_flag=() 884 must_have_one_noun=() 885 } 886 887 _global_vrf_vname_rib() 888 { 889 last_command="global_vrf_vname_rib" 890 commands=() 891 commands+=("del") 892 893 flags=() 894 two_word_flags=() 895 flags_with_completion=() 896 flags_completion=() 897 898 flags+=("--bash-cmpl-file=") 899 flags+=("--debug") 900 flags+=("-d") 901 flags+=("--gen-cmpl") 902 flags+=("-c") 903 flags+=("--host=") 904 two_word_flags+=("-u") 905 flags+=("--json") 906 flags+=("-j") 907 flags+=("--port=") 908 two_word_flags+=("-p") 909 flags+=("--quiet") 910 flags+=("-q") 911 912 must_have_one_flag=() 913 must_have_one_noun=() 914 } 915 916 _global_vrf_vname() 917 { 918 last_command="global_vrf_vname" 919 commands=() 920 commands+=("rib") 921 922 flags=() 923 two_word_flags=() 924 flags_with_completion=() 925 flags_completion=() 926 927 flags+=("--bash-cmpl-file=") 928 flags+=("--debug") 929 flags+=("-d") 930 flags+=("--gen-cmpl") 931 flags+=("-c") 932 flags+=("--host=") 933 two_word_flags+=("-u") 934 flags+=("--json") 935 flags+=("-j") 936 flags+=("--port=") 937 two_word_flags+=("-p") 938 flags+=("--quiet") 939 flags+=("-q") 940 941 must_have_one_flag=() 942 must_have_one_noun=() 943 } 944 945 _gobgp_policy_statement_sname_ope_condition_prefix() 946 { 947 last_command="gobgp_policy_statement_sname_ope_condition_prefix" 948 commands=() 949 950 flags=() 951 two_word_flags=() 952 flags_with_completion=() 953 flags_completion=() 954 955 flags+=("--bash-cmpl-file=") 956 flags+=("--debug") 957 flags+=("-d") 958 flags+=("--gen-cmpl") 959 flags+=("-c") 960 flags+=("--host=") 961 two_word_flags+=("-u") 962 flags+=("--json") 963 flags+=("-j") 964 flags+=("--port=") 965 two_word_flags+=("-p") 966 flags+=("--quiet") 967 flags+=("-q") 968 969 must_have_one_flag=() 970 must_have_one_noun=() 971 __gobgp_q_policy "prefix" 972 } 973 974 _gobgp_policy_statement_sname_ope_condition_neighbor() 975 { 976 last_command="gobgp_policy_statement_sname_ope_condition_neighbor" 977 commands=() 978 979 flags=() 980 two_word_flags=() 981 flags_with_completion=() 982 flags_completion=() 983 984 flags+=("--bash-cmpl-file=") 985 flags+=("--debug") 986 flags+=("-d") 987 flags+=("--gen-cmpl") 988 flags+=("-c") 989 flags+=("--host=") 990 two_word_flags+=("-u") 991 flags+=("--json") 992 flags+=("-j") 993 flags+=("--port=") 994 two_word_flags+=("-p") 995 flags+=("--quiet") 996 flags+=("-q") 997 998 must_have_one_flag=() 999 must_have_one_noun=() 1000 __gobgp_q_policy "neighbor" 1001 } 1002 1003 _gobgp_policy_statement_sname_ope_condition_as-path() 1004 { 1005 last_command="gobgp_policy_statement_sname_ope_condition_as-path" 1006 commands=() 1007 1008 flags=() 1009 two_word_flags=() 1010 flags_with_completion=() 1011 flags_completion=() 1012 1013 flags+=("--bash-cmpl-file=") 1014 flags+=("--debug") 1015 flags+=("-d") 1016 flags+=("--gen-cmpl") 1017 flags+=("-c") 1018 flags+=("--host=") 1019 two_word_flags+=("-u") 1020 flags+=("--json") 1021 flags+=("-j") 1022 flags+=("--port=") 1023 two_word_flags+=("-p") 1024 flags+=("--quiet") 1025 flags+=("-q") 1026 1027 must_have_one_flag=() 1028 must_have_one_noun=() 1029 __gobgp_q_policy "as-path" 1030 } 1031 1032 _gobgp_policy_statement_sname_ope_condition_community() 1033 { 1034 last_command="gobgp_policy_statement_sname_ope_condition_community" 1035 commands=() 1036 1037 flags=() 1038 two_word_flags=() 1039 flags_with_completion=() 1040 flags_completion=() 1041 1042 flags+=("--bash-cmpl-file=") 1043 flags+=("--debug") 1044 flags+=("-d") 1045 flags+=("--gen-cmpl") 1046 flags+=("-c") 1047 flags+=("--host=") 1048 two_word_flags+=("-u") 1049 flags+=("--json") 1050 flags+=("-j") 1051 flags+=("--port=") 1052 two_word_flags+=("-p") 1053 flags+=("--quiet") 1054 flags+=("-q") 1055 1056 must_have_one_flag=() 1057 must_have_one_noun=() 1058 __gobgp_q_policy "community" 1059 } 1060 1061 _gobgp_policy_statement_sname_ope_condition_ext-community() 1062 { 1063 last_command="gobgp_policy_statement_sname_ope_condition_ext-community" 1064 commands=() 1065 1066 flags=() 1067 two_word_flags=() 1068 flags_with_completion=() 1069 flags_completion=() 1070 1071 flags+=("--bash-cmpl-file=") 1072 flags+=("--debug") 1073 flags+=("-d") 1074 flags+=("--gen-cmpl") 1075 flags+=("-c") 1076 flags+=("--host=") 1077 two_word_flags+=("-u") 1078 flags+=("--json") 1079 flags+=("-j") 1080 flags+=("--port=") 1081 two_word_flags+=("-p") 1082 flags+=("--quiet") 1083 flags+=("-q") 1084 1085 must_have_one_flag=() 1086 must_have_one_noun=() 1087 __gobgp_q_policy "ext-community" 1088 } 1089 1090 _gobgp_policy_statement_sname_ope_condition_as-path-length() 1091 { 1092 last_command="gobgp_policy_statement_sname_ope_condition_as-path-length" 1093 commands=() 1094 1095 flags=() 1096 two_word_flags=() 1097 flags_with_completion=() 1098 flags_completion=() 1099 1100 flags+=("--bash-cmpl-file=") 1101 flags+=("--debug") 1102 flags+=("-d") 1103 flags+=("--gen-cmpl") 1104 flags+=("-c") 1105 flags+=("--host=") 1106 two_word_flags+=("-u") 1107 flags+=("--json") 1108 flags+=("-j") 1109 flags+=("--port=") 1110 two_word_flags+=("-p") 1111 flags+=("--quiet") 1112 flags+=("-q") 1113 1114 must_have_one_flag=() 1115 must_have_one_noun=() 1116 } 1117 1118 _gobgp_policy_statement_sname_ope_condition_rpki_valid() 1119 { 1120 last_command="gobgp_policy_statement_sname_ope_condition_rpki_valid" 1121 commands=() 1122 1123 flags=() 1124 two_word_flags=() 1125 flags_with_completion=() 1126 flags_completion=() 1127 1128 flags+=("--bash-cmpl-file=") 1129 flags+=("--debug") 1130 flags+=("-d") 1131 flags+=("--gen-cmpl") 1132 flags+=("-c") 1133 flags+=("--host=") 1134 two_word_flags+=("-u") 1135 flags+=("--json") 1136 flags+=("-j") 1137 flags+=("--port=") 1138 two_word_flags+=("-p") 1139 flags+=("--quiet") 1140 flags+=("-q") 1141 1142 must_have_one_flag=() 1143 must_have_one_noun=() 1144 } 1145 1146 _gobgp_policy_statement_sname_ope_condition_rpki_invalid() 1147 { 1148 last_command="gobgp_policy_statement_sname_ope_condition_rpki_invalid" 1149 commands=() 1150 1151 flags=() 1152 two_word_flags=() 1153 flags_with_completion=() 1154 flags_completion=() 1155 1156 flags+=("--bash-cmpl-file=") 1157 flags+=("--debug") 1158 flags+=("-d") 1159 flags+=("--gen-cmpl") 1160 flags+=("-c") 1161 flags+=("--host=") 1162 two_word_flags+=("-u") 1163 flags+=("--json") 1164 flags+=("-j") 1165 flags+=("--port=") 1166 two_word_flags+=("-p") 1167 flags+=("--quiet") 1168 flags+=("-q") 1169 1170 must_have_one_flag=() 1171 must_have_one_noun=() 1172 } 1173 1174 _gobgp_policy_statement_sname_ope_condition_rpki_not-found() 1175 { 1176 last_command="gobgp_policy_statement_sname_ope_condition_rpki_not-found" 1177 commands=() 1178 1179 flags=() 1180 two_word_flags=() 1181 flags_with_completion=() 1182 flags_completion=() 1183 1184 flags+=("--bash-cmpl-file=") 1185 flags+=("--debug") 1186 flags+=("-d") 1187 flags+=("--gen-cmpl") 1188 flags+=("-c") 1189 flags+=("--host=") 1190 two_word_flags+=("-u") 1191 flags+=("--json") 1192 flags+=("-j") 1193 flags+=("--port=") 1194 two_word_flags+=("-p") 1195 flags+=("--quiet") 1196 flags+=("-q") 1197 1198 must_have_one_flag=() 1199 must_have_one_noun=() 1200 } 1201 1202 _gobgp_policy_statement_sname_ope_condition_rpki() 1203 { 1204 last_command="gobgp_policy_statement_sname_ope_condition_rpki" 1205 commands=() 1206 commands+=("valid") 1207 commands+=("invalid") 1208 commands+=("not-found") 1209 1210 flags=() 1211 two_word_flags=() 1212 flags_with_completion=() 1213 flags_completion=() 1214 1215 flags+=("--bash-cmpl-file=") 1216 flags+=("--debug") 1217 flags+=("-d") 1218 flags+=("--gen-cmpl") 1219 flags+=("-c") 1220 flags+=("--host=") 1221 two_word_flags+=("-u") 1222 flags+=("--json") 1223 flags+=("-j") 1224 flags+=("--port=") 1225 two_word_flags+=("-p") 1226 flags+=("--quiet") 1227 flags+=("-q") 1228 1229 must_have_one_flag=() 1230 must_have_one_noun=() 1231 } 1232 1233 1234 _gobgp_policy_statement_sname_ope_condition() 1235 { 1236 last_command="gobgp_policy_statement_sname_ope_condition" 1237 commands=() 1238 commands+=("prefix") 1239 commands+=("neighbor") 1240 commands+=("as-path") 1241 commands+=("community") 1242 commands+=("ext-community") 1243 commands+=("as-path-length") 1244 commands+=("rpki") 1245 1246 flags=() 1247 two_word_flags=() 1248 flags_with_completion=() 1249 flags_completion=() 1250 1251 flags+=("--bash-cmpl-file=") 1252 flags+=("--debug") 1253 flags+=("-d") 1254 flags+=("--gen-cmpl") 1255 flags+=("-c") 1256 flags+=("--host=") 1257 two_word_flags+=("-u") 1258 flags+=("--json") 1259 flags+=("-j") 1260 flags+=("--port=") 1261 two_word_flags+=("-p") 1262 flags+=("--quiet") 1263 flags+=("-q") 1264 1265 must_have_one_flag=() 1266 must_have_one_noun=() 1267 } 1268 1269 _gobgp_policy_statement_sname_ope_action_reject() 1270 { 1271 last_command="gobgp_policy_statement_sname_ope_action_reject" 1272 commands=() 1273 1274 flags=() 1275 two_word_flags=() 1276 flags_with_completion=() 1277 flags_completion=() 1278 1279 flags+=("--bash-cmpl-file=") 1280 flags+=("--debug") 1281 flags+=("-d") 1282 flags+=("--gen-cmpl") 1283 flags+=("-c") 1284 flags+=("--host=") 1285 two_word_flags+=("-u") 1286 flags+=("--json") 1287 flags+=("-j") 1288 flags+=("--port=") 1289 two_word_flags+=("-p") 1290 flags+=("--quiet") 1291 flags+=("-q") 1292 1293 must_have_one_flag=() 1294 must_have_one_noun=() 1295 } 1296 1297 _gobgp_policy_statement_sname_ope_action_accept() 1298 { 1299 last_command="gobgp_policy_statement_sname_ope_action_accept" 1300 commands=() 1301 1302 flags=() 1303 two_word_flags=() 1304 flags_with_completion=() 1305 flags_completion=() 1306 1307 flags+=("--bash-cmpl-file=") 1308 flags+=("--debug") 1309 flags+=("-d") 1310 flags+=("--gen-cmpl") 1311 flags+=("-c") 1312 flags+=("--host=") 1313 two_word_flags+=("-u") 1314 flags+=("--json") 1315 flags+=("-j") 1316 flags+=("--port=") 1317 two_word_flags+=("-p") 1318 flags+=("--quiet") 1319 flags+=("-q") 1320 1321 must_have_one_flag=() 1322 must_have_one_noun=() 1323 } 1324 1325 _gobgp_policy_statement_sname_ope_action_communities_add() 1326 { 1327 last_command="gobgp_policy_statement_sname_ope_action_communities_add" 1328 commands=() 1329 1330 flags=() 1331 two_word_flags=() 1332 flags_with_completion=() 1333 flags_completion=() 1334 1335 flags+=("--bash-cmpl-file=") 1336 flags+=("--debug") 1337 flags+=("-d") 1338 flags+=("--gen-cmpl") 1339 flags+=("-c") 1340 flags+=("--host=") 1341 two_word_flags+=("-u") 1342 flags+=("--json") 1343 flags+=("-j") 1344 flags+=("--port=") 1345 two_word_flags+=("-p") 1346 flags+=("--quiet") 1347 flags+=("-q") 1348 1349 must_have_one_flag=() 1350 must_have_one_noun=() 1351 } 1352 1353 _gobgp_policy_statement_sname_ope_action_communities_remove() 1354 { 1355 last_command="gobgp_policy_statement_sname_ope_action_communities_remove" 1356 commands=() 1357 1358 flags=() 1359 two_word_flags=() 1360 flags_with_completion=() 1361 flags_completion=() 1362 1363 flags+=("--bash-cmpl-file=") 1364 flags+=("--debug") 1365 flags+=("-d") 1366 flags+=("--gen-cmpl") 1367 flags+=("-c") 1368 flags+=("--host=") 1369 two_word_flags+=("-u") 1370 flags+=("--json") 1371 flags+=("-j") 1372 flags+=("--port=") 1373 two_word_flags+=("-p") 1374 flags+=("--quiet") 1375 flags+=("-q") 1376 1377 must_have_one_flag=() 1378 must_have_one_noun=() 1379 } 1380 1381 _gobgp_policy_statement_sname_ope_action_communities_replace() 1382 { 1383 last_command="gobgp_policy_statement_sname_ope_action_communities_replace" 1384 commands=() 1385 1386 flags=() 1387 two_word_flags=() 1388 flags_with_completion=() 1389 flags_completion=() 1390 1391 flags+=("--bash-cmpl-file=") 1392 flags+=("--debug") 1393 flags+=("-d") 1394 flags+=("--gen-cmpl") 1395 flags+=("-c") 1396 flags+=("--host=") 1397 two_word_flags+=("-u") 1398 flags+=("--json") 1399 flags+=("-j") 1400 flags+=("--port=") 1401 two_word_flags+=("-p") 1402 flags+=("--quiet") 1403 flags+=("-q") 1404 1405 must_have_one_flag=() 1406 must_have_one_noun=() 1407 } 1408 1409 _gobgp_policy_statement_sname_ope_action_communities() 1410 { 1411 last_command="gobgp_policy_statement_sname_ope_action_communities" 1412 commands=() 1413 commands+=("add") 1414 commands+=("remove") 1415 commands+=("replace") 1416 1417 flags=() 1418 two_word_flags=() 1419 flags_with_completion=() 1420 flags_completion=() 1421 1422 flags+=("--bash-cmpl-file=") 1423 flags+=("--debug") 1424 flags+=("-d") 1425 flags+=("--gen-cmpl") 1426 flags+=("-c") 1427 flags+=("--host=") 1428 two_word_flags+=("-u") 1429 flags+=("--json") 1430 flags+=("-j") 1431 flags+=("--port=") 1432 two_word_flags+=("-p") 1433 flags+=("--quiet") 1434 flags+=("-q") 1435 1436 must_have_one_flag=() 1437 must_have_one_noun=() 1438 } 1439 1440 _gobgp_policy_statement_sname_ope_action_community() 1441 { 1442 _gobgp_policy_statement_sname_ope_action_communities 1443 } 1444 1445 _gobgp_policy_statement_sname_ope_action_ext-community() 1446 { 1447 _gobgp_policy_statement_sname_ope_action_communities 1448 } 1449 1450 _gobgp_policy_statement_sname_ope_action_med_add() 1451 { 1452 last_command="gobgp_policy_statement_sname_ope_action_med_add" 1453 commands=() 1454 1455 flags=() 1456 two_word_flags=() 1457 flags_with_completion=() 1458 flags_completion=() 1459 1460 flags+=("--bash-cmpl-file=") 1461 flags+=("--debug") 1462 flags+=("-d") 1463 flags+=("--gen-cmpl") 1464 flags+=("-c") 1465 flags+=("--host=") 1466 two_word_flags+=("-u") 1467 flags+=("--json") 1468 flags+=("-j") 1469 flags+=("--port=") 1470 two_word_flags+=("-p") 1471 flags+=("--quiet") 1472 flags+=("-q") 1473 1474 must_have_one_flag=() 1475 must_have_one_noun=() 1476 } 1477 1478 _gobgp_policy_statement_sname_ope_action_med_sub() 1479 { 1480 last_command="gobgp_policy_statement_sname_ope_action_med_sub" 1481 commands=() 1482 1483 flags=() 1484 two_word_flags=() 1485 flags_with_completion=() 1486 flags_completion=() 1487 1488 flags+=("--bash-cmpl-file=") 1489 flags+=("--debug") 1490 flags+=("-d") 1491 flags+=("--gen-cmpl") 1492 flags+=("-c") 1493 flags+=("--host=") 1494 two_word_flags+=("-u") 1495 flags+=("--json") 1496 flags+=("-j") 1497 flags+=("--port=") 1498 two_word_flags+=("-p") 1499 flags+=("--quiet") 1500 flags+=("-q") 1501 1502 must_have_one_flag=() 1503 must_have_one_noun=() 1504 } 1505 1506 _gobgp_policy_statement_sname_ope_action_med_set() 1507 { 1508 last_command="gobgp_policy_statement_sname_ope_action_med_set" 1509 commands=() 1510 1511 flags=() 1512 two_word_flags=() 1513 flags_with_completion=() 1514 flags_completion=() 1515 1516 flags+=("--bash-cmpl-file=") 1517 flags+=("--debug") 1518 flags+=("-d") 1519 flags+=("--gen-cmpl") 1520 flags+=("-c") 1521 flags+=("--host=") 1522 two_word_flags+=("-u") 1523 flags+=("--json") 1524 flags+=("-j") 1525 flags+=("--port=") 1526 two_word_flags+=("-p") 1527 flags+=("--quiet") 1528 flags+=("-q") 1529 1530 must_have_one_flag=() 1531 must_have_one_noun=() 1532 } 1533 1534 _gobgp_policy_statement_sname_ope_action_med() 1535 { 1536 last_command="gobgp_policy_statement_sname_ope_action_med" 1537 commands=() 1538 commands+=("add") 1539 commands+=("sub") 1540 commands+=("set") 1541 1542 flags=() 1543 two_word_flags=() 1544 flags_with_completion=() 1545 flags_completion=() 1546 1547 flags+=("--bash-cmpl-file=") 1548 flags+=("--debug") 1549 flags+=("-d") 1550 flags+=("--gen-cmpl") 1551 flags+=("-c") 1552 flags+=("--host=") 1553 two_word_flags+=("-u") 1554 flags+=("--json") 1555 flags+=("-j") 1556 flags+=("--port=") 1557 two_word_flags+=("-p") 1558 flags+=("--quiet") 1559 flags+=("-q") 1560 1561 must_have_one_flag=() 1562 must_have_one_noun=() 1563 } 1564 1565 _gobgp_policy_statement_sname_ope_action_as-prepend() 1566 { 1567 last_command="gobgp_policy_statement_sname_ope_action_as-prepend" 1568 commands=() 1569 1570 flags=() 1571 two_word_flags=() 1572 flags_with_completion=() 1573 flags_completion=() 1574 1575 flags+=("--bash-cmpl-file=") 1576 flags+=("--debug") 1577 flags+=("-d") 1578 flags+=("--gen-cmpl") 1579 flags+=("-c") 1580 flags+=("--host=") 1581 two_word_flags+=("-u") 1582 flags+=("--json") 1583 flags+=("-j") 1584 flags+=("--port=") 1585 two_word_flags+=("-p") 1586 flags+=("--quiet") 1587 flags+=("-q") 1588 1589 must_have_one_flag=() 1590 must_have_one_noun=() 1591 } 1592 1593 _gobgp_policy_statement_sname_ope_action() 1594 { 1595 last_command="gobgp_policy_statement_sname_ope_action" 1596 commands=() 1597 commands+=("reject") 1598 commands+=("accept") 1599 commands+=("community") 1600 commands+=("ext-community") 1601 commands+=("med") 1602 commands+=("as-prepend") 1603 1604 flags=() 1605 two_word_flags=() 1606 flags_with_completion=() 1607 flags_completion=() 1608 1609 flags+=("--bash-cmpl-file=") 1610 flags+=("--debug") 1611 flags+=("-d") 1612 flags+=("--gen-cmpl") 1613 flags+=("-c") 1614 flags+=("--host=") 1615 two_word_flags+=("-u") 1616 flags+=("--json") 1617 flags+=("-j") 1618 flags+=("--port=") 1619 two_word_flags+=("-p") 1620 flags+=("--quiet") 1621 flags+=("-q") 1622 1623 must_have_one_flag=() 1624 must_have_one_noun=() 1625 } 1626 1627 _gobgp_policy_statement_sname_ope() 1628 { 1629 last_command="gobgp_policy_statement_sname_ope" 1630 commands=() 1631 commands+=("condition") 1632 commands+=("action") 1633 1634 flags=() 1635 two_word_flags=() 1636 flags_with_completion=() 1637 flags_completion=() 1638 1639 flags+=("--bash-cmpl-file=") 1640 flags+=("--debug") 1641 flags+=("-d") 1642 flags+=("--gen-cmpl") 1643 flags+=("-c") 1644 flags+=("--host=") 1645 two_word_flags+=("-u") 1646 flags+=("--json") 1647 flags+=("-j") 1648 flags+=("--port=") 1649 two_word_flags+=("-p") 1650 flags+=("--quiet") 1651 flags+=("-q") 1652 1653 must_have_one_flag=() 1654 must_have_one_noun=() 1655 } 1656 1657 _gobgp_policy_statement_sname_add() 1658 { 1659 _gobgp_policy_statement_sname_ope 1660 } 1661 1662 _gobgp_policy_statement_sname_del() 1663 { 1664 _gobgp_policy_statement_sname_ope 1665 } 1666 1667 _gobgp_policy_statement_sname_set() 1668 { 1669 _gobgp_policy_statement_sname_ope 1670 } 1671 1672 _gobgp_policy_statement_sname() 1673 { 1674 last_command="gobgp_policy_statement_sname" 1675 commands=() 1676 commands+=("add") 1677 commands+=("del") 1678 commands+=("set") 1679 1680 flags=() 1681 two_word_flags=() 1682 flags_with_completion=() 1683 flags_completion=() 1684 1685 flags+=("--bash-cmpl-file=") 1686 flags+=("--debug") 1687 flags+=("-d") 1688 flags+=("--gen-cmpl") 1689 flags+=("-c") 1690 flags+=("--host=") 1691 two_word_flags+=("-u") 1692 flags+=("--json") 1693 flags+=("-j") 1694 flags+=("--port=") 1695 two_word_flags+=("-p") 1696 flags+=("--quiet") 1697 flags+=("-q") 1698 1699 must_have_one_flag=() 1700 must_have_one_noun=() 1701 }