github.com/niteshexa/cloudfoundry_cli@v7.1.0+incompatible/command/v7/set_space_isolation_segment_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  )
     6  
     7  type SetSpaceIsolationSegmentCommand struct {
     8  	BaseCommand
     9  
    10  	RequiredArgs    flag.SpaceIsolationArgs `positional-args:"yes"`
    11  	usage           interface{}             `usage:"CF_NAME set-space-isolation-segment SPACE_NAME SEGMENT_NAME"`
    12  	relatedCommands interface{}             `related_commands:"org, reset-space-isolation-segment, restart, set-org-default-isolation-segment, space"`
    13  }
    14  
    15  func (cmd SetSpaceIsolationSegmentCommand) Execute(args []string) error {
    16  	err := cmd.SharedActor.CheckTarget(true, false)
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	user, err := cmd.Config.CurrentUser()
    22  	if err != nil {
    23  		return err
    24  	}
    25  
    26  	cmd.UI.DisplayTextWithFlavor("Updating isolation segment of space {{.SpaceName}} in org {{.OrgName}} as {{.CurrentUser}}...", map[string]interface{}{
    27  		"SegmentName": cmd.RequiredArgs.IsolationSegmentName,
    28  		"SpaceName":   cmd.RequiredArgs.SpaceName,
    29  		"OrgName":     cmd.Config.TargetedOrganization().Name,
    30  		"CurrentUser": user.Name,
    31  	})
    32  
    33  	space, warnings, err := cmd.Actor.GetSpaceByNameAndOrganization(cmd.RequiredArgs.SpaceName, cmd.Config.TargetedOrganization().GUID)
    34  	cmd.UI.DisplayWarnings(warnings)
    35  	if err != nil {
    36  		return err
    37  	}
    38  
    39  	warnings, err = cmd.Actor.AssignIsolationSegmentToSpaceByNameAndSpace(cmd.RequiredArgs.IsolationSegmentName, space.GUID)
    40  	cmd.UI.DisplayWarnings(warnings)
    41  	if err != nil {
    42  		return err
    43  	}
    44  
    45  	cmd.UI.DisplayOK()
    46  	cmd.UI.DisplayText("TIP: Restart applications in this space to relocate them to this isolation segment.")
    47  
    48  	return nil
    49  }