github.com/loafoe/cli@v7.1.0+incompatible/command/v7/set_org_default_isolation_segment_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  )
     6  
     7  type SetOrgDefaultIsolationSegmentCommand struct {
     8  	BaseCommand
     9  
    10  	RequiredArgs    flag.OrgIsolationArgs `positional-args:"yes"`
    11  	usage           interface{}           `usage:"CF_NAME set-org-default-isolation-segment ORG_NAME SEGMENT_NAME"`
    12  	relatedCommands interface{}           `related_commands:"org, set-space-isolation-segment"`
    13  }
    14  
    15  func (cmd SetOrgDefaultIsolationSegmentCommand) Execute(args []string) error {
    16  	err := cmd.SharedActor.CheckTarget(false, 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("Setting isolation segment {{.IsolationSegmentName}} to default on org {{.OrgName}} as {{.CurrentUser}}...", map[string]interface{}{
    27  		"IsolationSegmentName": cmd.RequiredArgs.IsolationSegmentName,
    28  		"OrgName":              cmd.RequiredArgs.OrganizationName,
    29  		"CurrentUser":          user.Name,
    30  	})
    31  
    32  	org, warnings, err := cmd.Actor.GetOrganizationByName(cmd.RequiredArgs.OrganizationName)
    33  	cmd.UI.DisplayWarnings(warnings)
    34  	if err != nil {
    35  		return err
    36  	}
    37  
    38  	isoSeg, warnings, err := cmd.Actor.GetIsolationSegmentByName(cmd.RequiredArgs.IsolationSegmentName)
    39  	cmd.UI.DisplayWarnings(warnings)
    40  	if err != nil {
    41  		return err
    42  	}
    43  
    44  	warnings, err = cmd.Actor.SetOrganizationDefaultIsolationSegment(org.GUID, isoSeg.GUID)
    45  	cmd.UI.DisplayWarnings(warnings)
    46  	if err != nil {
    47  		return err
    48  	}
    49  
    50  	cmd.UI.DisplayOK()
    51  	cmd.UI.DisplayText("TIP: Restart applications in this organization to relocate them to this isolation segment.")
    52  
    53  	return nil
    54  }