github.com/loafoe/cli@v7.1.0+incompatible/command/v7/unshare_private_domain_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/command/flag" 5 ) 6 7 type UnsharePrivateDomainCommand struct { 8 BaseCommand 9 10 RequiredArgs flag.OrgDomain `positional-args:"yes"` 11 usage interface{} `usage:"CF_NAME unshare-private-domain ORG DOMAIN"` 12 relatedCommands interface{} `related_commands:"delete-private-domain, domains"` 13 } 14 15 func (cmd UnsharePrivateDomainCommand) 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 domain := cmd.RequiredArgs.Domain 27 orgName := cmd.RequiredArgs.Organization 28 29 cmd.UI.DisplayTextWithFlavor("Warning: org {{.Organization}} will no longer be able to access private domain {{.Domain}}", 30 map[string]interface{}{ 31 "Domain": domain, 32 "Organization": orgName, 33 }) 34 35 response, err := cmd.UI.DisplayBoolPrompt(false, 36 "Really unshare private domain {{.Domain}}?", 37 map[string]interface{}{ 38 "Domain": domain, 39 }, 40 ) 41 42 if err != nil { 43 return err 44 } 45 46 if !response { 47 cmd.UI.DisplayTextWithFlavor("Domain {{.Domain}} has not been unshared from organization {{.Organization}}", 48 map[string]interface{}{ 49 "Domain": domain, 50 "Organization": orgName, 51 }) 52 return nil 53 } 54 55 cmd.UI.DisplayTextWithFlavor("Unsharing domain {{.Domain}} from org {{.Organization}} as {{.User}}...", 56 map[string]interface{}{ 57 "Domain": domain, 58 "User": user.Name, 59 "Organization": orgName, 60 }) 61 62 warnings, err := cmd.Actor.UnsharePrivateDomain(domain, orgName) 63 cmd.UI.DisplayWarnings(warnings) 64 if err != nil { 65 return err 66 } 67 68 cmd.UI.DisplayOK() 69 70 return nil 71 }