@@ -1555,47 +1555,7 @@ _docker_service() {
1555
1555
}
1556
1556
1557
1557
_docker_service_create () {
1558
- local options_with_args="
1559
- --constraint
1560
- --endpoint-mode
1561
- --env -e
1562
- --label -l
1563
- --limit-cpu
1564
- --limit-memory
1565
- --mode
1566
- --mount -m
1567
- --name
1568
- --network
1569
- --publish -p
1570
- --replicas
1571
- --reserve-cpu
1572
- --reserve-memory
1573
- --restart-condition
1574
- --restart-delay
1575
- --restart-max-attempts
1576
- --restart-window
1577
- --stop-grace-period
1578
- --update-delay
1579
- --update-parallelism
1580
- --user -u
1581
- --workdir -w
1582
- "
1583
-
1584
- local boolean_options="
1585
- --help
1586
- "
1587
-
1588
- case " $prev " in
1589
- $( __docker_to_extglob " $options_with_args " ) )
1590
- return
1591
- ;;
1592
- esac
1593
-
1594
- case " $cur " in
1595
- -* )
1596
- COMPREPLY=( $( compgen -W " $boolean_options $options_with_args " -- " $cur " ) )
1597
- ;;
1598
- esac
1558
+ _docker_service_update
1599
1559
}
1600
1560
1601
1561
_docker_service_inspect () {
@@ -1675,13 +1635,12 @@ _docker_service_tasks() {
1675
1635
}
1676
1636
1677
1637
_docker_service_update () {
1638
+ local $subcommand =" ${words[$subcommand_pos]} "
1639
+
1678
1640
local options_with_args="
1679
- --arg
1680
- --command
1681
1641
--constraint
1682
1642
--endpoint-mode
1683
1643
--env -e
1684
- --image
1685
1644
--label -l
1686
1645
--limit-cpu
1687
1646
--limit-memory
@@ -1708,7 +1667,47 @@ _docker_service_update() {
1708
1667
--help
1709
1668
"
1710
1669
1670
+ if [ " $subcommand " = " update" ] ; then
1671
+ options_with_args=" $options_with_args
1672
+ --arg
1673
+ --command
1674
+ --image
1675
+ "
1676
+
1677
+ case " $prev " in
1678
+ --image)
1679
+ __docker_complete_image_repos_and_tags
1680
+ return
1681
+ ;;
1682
+ esac
1683
+ fi
1684
+
1711
1685
case " $prev " in
1686
+ --endpoint-mode)
1687
+ COMPREPLY=( $( compgen -W " DNSRR VIP" -- " $cur " ) )
1688
+ return
1689
+ ;;
1690
+ --env|-e)
1691
+ COMPREPLY=( $( compgen -e -S = -- " $cur " ) )
1692
+ __docker_nospace
1693
+ return
1694
+ ;;
1695
+ --mode)
1696
+ COMPREPLY=( $( compgen -W " global replicated" -- " $cur " ) )
1697
+ return
1698
+ ;;
1699
+ --network)
1700
+ __docker_complete_networks
1701
+ return
1702
+ ;;
1703
+ --restart-condition)
1704
+ COMPREPLY=( $( compgen -W " any none on_failure" -- " $cur " ) )
1705
+ return
1706
+ ;;
1707
+ --user|-u)
1708
+ __docker_complete_user_group
1709
+ return
1710
+ ;;
1712
1711
$( __docker_to_extglob " $options_with_args " ) )
1713
1712
return
1714
1713
;;
@@ -1719,7 +1718,9 @@ _docker_service_update() {
1719
1718
COMPREPLY=( $( compgen -W " $boolean_options $options_with_args " -- " $cur " ) )
1720
1719
;;
1721
1720
* )
1722
- __docker_complete_services
1721
+ if [ " $subcommand " = " update" ] ; then
1722
+ __docker_complete_services
1723
+ fi
1723
1724
esac
1724
1725
}
1725
1726
@@ -1745,7 +1746,11 @@ _docker_swarm() {
1745
1746
1746
1747
_docker_swarm_init () {
1747
1748
case " $prev " in
1748
- --auto-accept|--listen-addr|--secret)
1749
+ --auto-accept)
1750
+ COMPREPLY=( $( compgen -W " manager none worker" -- " $cur " ) )
1751
+ return
1752
+ ;;
1753
+ --listen-addr|--secret)
1749
1754
return
1750
1755
;;
1751
1756
esac
@@ -1795,7 +1800,11 @@ _docker_swarm_leave() {
1795
1800
1796
1801
_docker_swarm_update () {
1797
1802
case " $prev " in
1798
- --auto-accept|--cert-expiry|--dispatcher-heartbeat|--secret|--task-history-limit)
1803
+ --auto-accept)
1804
+ COMPREPLY=( $( compgen -W " manager none worker" -- " $cur " ) )
1805
+ return
1806
+ ;;
1807
+ --cert-expiry|--dispatcher-heartbeat|--secret|--task-history-limit)
1799
1808
return
1800
1809
;;
1801
1810
esac
@@ -1926,7 +1935,16 @@ _docker_node_tasks() {
1926
1935
1927
1936
_docker_node_update () {
1928
1937
case " $prev " in
1929
- --availability|--membership|--role)
1938
+ --availability)
1939
+ COMPREPLY=( $( compgen -W " active drain pause" -- " $cur " ) )
1940
+ return
1941
+ ;;
1942
+ --membership)
1943
+ COMPREPLY=( $( compgen -W " accepted rejected" -- " $cur " ) )
1944
+ return
1945
+ ;;
1946
+ --role)
1947
+ COMPREPLY=( $( compgen -W " manager worker" -- " $cur " ) )
1930
1948
return
1931
1949
;;
1932
1950
esac
0 commit comments