github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/swarmkit/cmd/swarmctl/service/flagparser/network.go (about)

     1  package flagparser
     2  
     3  import (
     4  	"github.com/docker/swarmkit/api"
     5  	"github.com/docker/swarmkit/cmd/swarmctl/common"
     6  	"github.com/docker/swarmkit/cmd/swarmctl/network"
     7  	"github.com/spf13/cobra"
     8  )
     9  
    10  func parseNetworks(cmd *cobra.Command, spec *api.ServiceSpec, c api.ControlClient) error {
    11  	flags := cmd.Flags()
    12  
    13  	if !flags.Changed("network") {
    14  		return nil
    15  	}
    16  	input, err := flags.GetString("network")
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	n, err := network.GetNetwork(common.Context(cmd), c, input)
    22  	if err != nil {
    23  		return err
    24  	}
    25  
    26  	spec.Task.Networks = []*api.NetworkAttachmentConfig{
    27  		{
    28  			Target: n.ID,
    29  		},
    30  	}
    31  	return nil
    32  }