本文整理匯總了Golang中github.com/cloudfoundry/cli/cf/terminal.HeaderColor函數的典型用法代碼示例。如果您正苦於以下問題:Golang HeaderColor函數的具體用法?Golang HeaderColor怎麽用?Golang HeaderColor使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了HeaderColor函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: ApplicationWatchStaging
func (cmd *Start) ApplicationWatchStaging(app models.Application, orgName, spaceName string, start func(app models.Application) (models.Application, error)) (updatedApp models.Application, err error) {
stopChan := make(chan bool, 1)
loggingStartedWait := &sync.WaitGroup{}
loggingStartedWait.Add(1)
loggingDoneWait := &sync.WaitGroup{}
loggingDoneWait.Add(1)
go cmd.tailStagingLogs(app, stopChan, loggingStartedWait, loggingDoneWait)
loggingStartedWait.Wait()
updatedApp, apiErr := start(app)
if apiErr != nil {
cmd.ui.Failed(apiErr.Error())
return
}
isStaged := cmd.waitForInstancesToStage(updatedApp)
stopChan <- true
loggingDoneWait.Wait()
cmd.ui.Say("")
if !isStaged {
cmd.ui.Failed(fmt.Sprintf("%s failed to stage within %f minutes", app.Name, cmd.StagingTimeout.Minutes()))
}
cmd.waitForOneRunningInstance(updatedApp)
cmd.ui.Say(terminal.HeaderColor(T("\nApp started\n")))
cmd.ui.Say("")
cmd.ui.Ok()
//detectedstartcommand on first push is not present until starting completes
startedApp, apiErr := cmd.appRepo.GetApp(updatedApp.GUID)
if err != nil {
cmd.ui.Failed(apiErr.Error())
return
}
var appStartCommand string
if app.Command == "" {
appStartCommand = startedApp.DetectedStartCommand
} else {
appStartCommand = startedApp.Command
}
cmd.ui.Say(T("\nApp {{.AppName}} was started using this command `{{.Command}}`\n",
map[string]interface{}{
"AppName": terminal.EntityNameColor(startedApp.Name),
"Command": appStartCommand,
}))
cmd.appDisplayer.ShowApp(startedApp, orgName, spaceName)
return
}
示例2: Run
func (cmd *OrgUsers) Run(c *cli.Context) {
org := cmd.orgReq.GetOrganization()
all := c.Bool("a")
cmd.ui.Say("Getting users in org %s as %s...",
terminal.EntityNameColor(org.Name),
terminal.EntityNameColor(cmd.config.Username()),
)
roles := orgRoles
if all {
roles = []string{models.ORG_USER}
}
for _, role := range roles {
displayName := orgRoleToDisplayName[role]
users, apiErr := cmd.userRepo.ListUsersInOrgForRole(org.Guid, role)
cmd.ui.Say("")
cmd.ui.Say("%s", terminal.HeaderColor(displayName))
for _, user := range users {
cmd.ui.Say(" %s", user.Username)
}
if apiErr != nil {
cmd.ui.Failed("Failed fetching org-users for role %s.\n%s", apiErr.Error(), displayName)
return
}
}
}
示例3: ApplicationWatchStaging
func (cmd *Start) ApplicationWatchStaging(app models.Application, start func(app models.Application) (models.Application, error)) (updatedApp models.Application, err error) {
stopLoggingChan := make(chan bool, 1)
loggingStartedChan := make(chan bool)
go cmd.tailStagingLogs(app, loggingStartedChan, stopLoggingChan)
<-loggingStartedChan // block until we have established connection to Loggregator
updatedApp, apiErr := start(app)
if apiErr != nil {
cmd.ui.Failed(apiErr.Error())
return
}
cmd.ui.Ok()
cmd.waitForInstancesToStage(updatedApp)
stopLoggingChan <- true
cmd.ui.Say("")
cmd.waitForOneRunningInstance(updatedApp)
cmd.ui.Say(terminal.HeaderColor(T("\nApp started\n")))
cmd.appDisplayer.ShowApp(updatedApp)
return
}
示例4: Run
func (cmd *SpaceUsers) Run(c *cli.Context) {
spaceName := c.Args()[1]
org := cmd.orgReq.GetOrganization()
space, apiErr := cmd.spaceRepo.FindByNameInOrg(spaceName, org.Guid)
if apiErr != nil {
cmd.ui.Failed(apiErr.Error())
}
cmd.ui.Say("Getting users in org %s / space %s as %s",
terminal.EntityNameColor(org.Name),
terminal.EntityNameColor(space.Name),
terminal.EntityNameColor(cmd.config.Username()),
)
for _, role := range spaceRoles {
displayName := spaceRoleToDisplayName[role]
users, apiErr := cmd.userRepo.ListUsersInSpaceForRole(space.Guid, role)
cmd.ui.Say("")
cmd.ui.Say("%s", terminal.HeaderColor(displayName))
for _, user := range users {
cmd.ui.Say(" %s", user.Username)
}
if apiErr != nil {
cmd.ui.Failed("Failed fetching space-users for role %s.\n%s", apiErr.Error(), displayName)
return
}
}
}
示例5: dumpResponse
func dumpResponse(res *http.Response) {
dumpedResponse, err := httputil.DumpResponse(res, true)
if err != nil {
trace.Logger.Printf(T("Error dumping response\n{{.Err}}\n", map[string]interface{}{"Err": err}))
} else {
trace.Logger.Printf("\n%s [%s]\n%s\n", terminal.HeaderColor(T("RESPONSE:")), time.Now().Format(time.RFC3339), Sanitize(string(dumpedResponse)))
}
}
示例6: dumpRequest
func dumpRequest(req *http.Request) {
shouldDisplayBody := !strings.Contains(req.Header.Get("Content-Type"), "multipart/form-data")
dumpedRequest, err := httputil.DumpRequest(req, shouldDisplayBody)
if err != nil {
trace.Logger.Printf(T("Error dumping request\n{{.Err}}\n", map[string]interface{}{"Err": err}))
} else {
trace.Logger.Printf("\n%s [%s]\n%s\n", terminal.HeaderColor(T("REQUEST:")), time.Now().Format(time.RFC3339), Sanitize(string(dumpedRequest)))
if !shouldDisplayBody {
trace.Logger.Println(T("[MULTIPART/FORM-DATA CONTENT HIDDEN]"))
}
}
}
示例7: Run
func (cmd *OrgUsers) Run(c *cli.Context) {
org := cmd.orgReq.GetOrganization()
all := c.Bool("a")
cmd.ui.Say(T("Getting users in org {{.TargetOrg}} as {{.CurrentUser}}...",
map[string]interface{}{
"TargetOrg": terminal.EntityNameColor(org.Name),
"CurrentUser": terminal.EntityNameColor(cmd.config.Username()),
}))
roles := orgRoles
if all {
roles = []string{models.ORG_USER}
}
var orgRoleToDisplayName = map[string]string{
models.ORG_USER: T("USERS"),
models.ORG_MANAGER: T("ORG MANAGER"),
models.BILLING_MANAGER: T("BILLING MANAGER"),
models.ORG_AUDITOR: T("ORG AUDITOR"),
}
var users []models.UserFields
var apiErr error
for _, role := range roles {
displayName := orgRoleToDisplayName[role]
if cmd.config.IsMinApiVersion("2.21.0") {
users, apiErr = cmd.userRepo.ListUsersInOrgForRoleWithNoUAA(org.Guid, role)
} else {
users, apiErr = cmd.userRepo.ListUsersInOrgForRole(org.Guid, role)
}
cmd.ui.Say("")
cmd.ui.Say("%s", terminal.HeaderColor(displayName))
for _, user := range users {
cmd.ui.Say(" %s", user.Username)
}
if apiErr != nil {
cmd.ui.Failed(T("Failed fetching org-users for role {{.OrgRoleToDisplayName}}.\n{{.Error}}",
map[string]interface{}{
"Error": apiErr.Error(),
"OrgRoleToDisplayName": displayName,
}))
return
}
}
}
示例8: Run
func (cmd *SpaceUsers) Run(c *cli.Context) {
spaceName := c.Args()[1]
org := cmd.orgReq.GetOrganization()
space, apiErr := cmd.spaceRepo.FindByNameInOrg(spaceName, org.Guid)
if apiErr != nil {
cmd.ui.Failed(apiErr.Error())
}
cmd.ui.Say(T("Getting users in org {{.TargetOrg}} / space {{.TargetSpace}} as {{.CurrentUser}}",
map[string]interface{}{
"TargetOrg": terminal.EntityNameColor(org.Name),
"TargetSpace": terminal.EntityNameColor(space.Name),
"CurrentUser": terminal.EntityNameColor(cmd.config.Username()),
}))
var spaceRoleToDisplayName = map[string]string{
models.SPACE_MANAGER: T("SPACE MANAGER"),
models.SPACE_DEVELOPER: T("SPACE DEVELOPER"),
models.SPACE_AUDITOR: T("SPACE AUDITOR"),
}
var users []models.UserFields
for _, role := range spaceRoles {
displayName := spaceRoleToDisplayName[role]
if cmd.config.IsMinApiVersion("2.21.0") {
users, apiErr = cmd.userRepo.ListUsersInSpaceForRoleWithNoUAA(space.Guid, role)
} else {
users, apiErr = cmd.userRepo.ListUsersInSpaceForRole(space.Guid, role)
}
cmd.ui.Say("")
cmd.ui.Say("%s", terminal.HeaderColor(displayName))
for _, user := range users {
cmd.ui.Say(" %s", user.Username)
}
if apiErr != nil {
cmd.ui.Failed(T("Failed fetching space-users for role {{.SpaceRoleToDisplayName}}.\n{{.Error}}",
map[string]interface{}{
"Error": apiErr.Error(),
"SpaceRoleToDisplayName": displayName,
}))
return
}
}
}
示例9: NewApp
func NewApp(cmdRunner command_runner.Runner, metadatas ...command_metadata.CommandMetadata) (app *cli.App) {
helpCommand := cli.Command{
Name: "help",
ShortName: "h",
Description: T("Show help"),
Usage: fmt.Sprintf(T("{{.Command}} help [COMMAND]", map[string]interface{}{"Command": cf.Name()})),
Action: func(c *cli.Context) {
args := c.Args()
if len(args) > 0 {
cli.ShowCommandHelp(c, args[0])
} else {
showAppHelp(appHelpTemplate(), c.App)
}
},
}
cli.AppHelpTemplate = appHelpTemplate()
cli.HelpPrinter = ShowHelp
trace.Logger.Printf("\n%s\n%s\n\n", terminal.HeaderColor(T("VERSION:")), cf.Version)
app = cli.NewApp()
app.Usage = Usage()
app.Version = cf.Version + "-" + cf.BuiltOnDate
app.Action = helpCommand.Action
app.CommandNotFound = func(c *cli.Context, command string) {
panic(errors.Exception{
Message: fmt.Sprintf(UnknownCommand, command),
DisplayCrashDialog: false,
})
}
compiledAtTime, err := time.Parse("2006-01-02T03:04:05+00:00", cf.BuiltOnDate)
if err == nil {
app.Compiled = compiledAtTime
} else {
err = nil
app.Compiled = time.Now()
}
app.Commands = []cli.Command{helpCommand}
for _, metadata := range metadatas {
app.Commands = append(app.Commands, getCommand(metadata, cmdRunner))
}
return
}
示例10: NewApp
func NewApp(cmdRunner command_runner.Runner, metadatas ...command_metadata.CommandMetadata) (app *cli.App) {
helpCommand := cli.Command{
Name: "help",
ShortName: "h",
Description: "Show help",
Usage: fmt.Sprintf("%s help [COMMAND]", cf.Name()),
Action: func(c *cli.Context) {
args := c.Args()
if len(args) > 0 {
cli.ShowCommandHelp(c, args[0])
} else {
showAppHelp(appHelpTemplate, c.App)
}
},
}
cli.HelpPrinter = showAppHelp
cli.AppHelpTemplate = appHelpTemplate
trace.Logger.Printf("\n%s\n%s\n\n", terminal.HeaderColor("VERSION:"), cf.Version)
app = cli.NewApp()
app.Usage = cf.Usage
app.Version = cf.Version + "-" + cf.BuiltOnDate
app.Action = helpCommand.Action
compiledAtTime, err := time.Parse("2006-01-02T03:04:05+00:00", cf.BuiltOnDate)
if err == nil {
app.Compiled = compiledAtTime
} else {
err = nil
app.Compiled = time.Now()
}
app.Commands = []cli.Command{helpCommand}
for _, metadata := range metadatas {
app.Commands = append(app.Commands, getCommand(metadata, cmdRunner))
}
return
}
示例11: ApplicationStart
func (cmd *Start) ApplicationStart(app models.Application) (updatedApp models.Application, err error) {
if app.State == "started" {
cmd.ui.Say(terminal.WarningColor("App " + app.Name + " is already started"))
return
}
stopLoggingChan := make(chan bool, 1)
loggingStartedChan := make(chan bool)
go cmd.tailStagingLogs(app, loggingStartedChan, stopLoggingChan)
<-loggingStartedChan // block until we have established connection to Loggregator
cmd.ui.Say("Starting app %s in org %s / space %s as %s...",
terminal.EntityNameColor(app.Name),
terminal.EntityNameColor(cmd.config.OrganizationFields().Name),
terminal.EntityNameColor(cmd.config.SpaceFields().Name),
terminal.EntityNameColor(cmd.config.Username()),
)
state := "STARTED"
updatedApp, apiErr := cmd.appRepo.Update(app.Guid, models.AppParams{State: &state})
if apiErr != nil {
cmd.ui.Failed(apiErr.Error())
return
}
cmd.ui.Ok()
cmd.waitForInstancesToStage(updatedApp)
stopLoggingChan <- true
cmd.ui.Say("")
cmd.waitForOneRunningInstance(updatedApp)
cmd.ui.Say(terminal.HeaderColor("\nApp started\n"))
cmd.appDisplayer.ShowApp(updatedApp)
return
}
示例12: PrintUsers
func (p *SpaceUsersUIPrinter) PrintUsers(guid string, username string) {
for _, role := range p.Roles {
displayName := p.RoleDisplayNames[role]
users, err := p.UserLister(guid, role)
if err != nil {
p.UI.Failed(T("Failed fetching space-users for role {{.SpaceRoleToDisplayName}}.\n{{.Error}}",
map[string]interface{}{
"Error": err.Error(),
"SpaceRoleToDisplayName": displayName,
}))
return
}
p.UI.Say("")
p.UI.Say("%s", terminal.HeaderColor(displayName))
if len(users) == 0 {
p.UI.Say(fmt.Sprintf(" "+T("No %s found"), displayName))
} else {
for _, user := range users {
p.UI.Say(" %s", user.Username)
}
}
}
}
示例13: Execute
func (cmd *Scale) Execute(c flags.FlagContext) {
currentApp := cmd.appReq.GetApplication()
if !anyFlagsSet(c) {
cmd.ui.Say(T("Showing current scale of app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.CurrentUser}}...",
map[string]interface{}{
"AppName": terminal.EntityNameColor(currentApp.Name),
"OrgName": terminal.EntityNameColor(cmd.config.OrganizationFields().Name),
"SpaceName": terminal.EntityNameColor(cmd.config.SpaceFields().Name),
"CurrentUser": terminal.EntityNameColor(cmd.config.Username()),
}))
cmd.ui.Ok()
cmd.ui.Say("")
cmd.ui.Say("%s %s", terminal.HeaderColor(T("memory:")), formatters.ByteSize(currentApp.Memory*bytesInAMegabyte))
cmd.ui.Say("%s %s", terminal.HeaderColor(T("disk:")), formatters.ByteSize(currentApp.DiskQuota*bytesInAMegabyte))
cmd.ui.Say("%s %d", terminal.HeaderColor(T("instances:")), currentApp.InstanceCount)
return
}
params := models.AppParams{}
shouldRestart := false
if c.String("m") != "" {
memory, err := formatters.ToMegabytes(c.String("m"))
if err != nil {
cmd.ui.Failed(T("Invalid memory limit: {{.Memory}}\n{{.ErrorDescription}}",
map[string]interface{}{
"Memory": c.String("m"),
"ErrorDescription": err,
}))
}
params.Memory = &memory
shouldRestart = true
}
if c.String("k") != "" {
diskQuota, err := formatters.ToMegabytes(c.String("k"))
if err != nil {
cmd.ui.Failed(T("Invalid disk quota: {{.DiskQuota}}\n{{.ErrorDescription}}",
map[string]interface{}{
"DiskQuota": c.String("k"),
"ErrorDescription": err,
}))
}
params.DiskQuota = &diskQuota
shouldRestart = true
}
if c.IsSet("i") {
instances := c.Int("i")
if instances > 0 {
params.InstanceCount = &instances
} else {
cmd.ui.Failed(T("Invalid instance count: {{.InstanceCount}}\nInstance count must be a positive integer",
map[string]interface{}{
"InstanceCount": instances,
}))
}
}
if shouldRestart && !cmd.confirmRestart(c, currentApp.Name) {
return
}
cmd.ui.Say(T("Scaling app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.CurrentUser}}...",
map[string]interface{}{
"AppName": terminal.EntityNameColor(currentApp.Name),
"OrgName": terminal.EntityNameColor(cmd.config.OrganizationFields().Name),
"SpaceName": terminal.EntityNameColor(cmd.config.SpaceFields().Name),
"CurrentUser": terminal.EntityNameColor(cmd.config.Username()),
}))
updatedApp, apiErr := cmd.appRepo.Update(currentApp.Guid, params)
if apiErr != nil {
cmd.ui.Failed(apiErr.Error())
return
}
cmd.ui.Ok()
if shouldRestart {
cmd.restarter.ApplicationRestart(updatedApp, cmd.config.OrganizationFields().Name, cmd.config.SpaceFields().Name)
}
}
示例14: Execute
func (cmd *SpaceUsers) Execute(c flags.FlagContext) {
spaceName := c.Args()[1]
org := cmd.orgReq.GetOrganization()
space, apiErr := cmd.spaceRepo.FindByNameInOrg(spaceName, org.Guid)
if apiErr != nil {
cmd.ui.Failed(apiErr.Error())
}
cmd.ui.Say(T("Getting users in org {{.TargetOrg}} / space {{.TargetSpace}} as {{.CurrentUser}}",
map[string]interface{}{
"TargetOrg": terminal.EntityNameColor(org.Name),
"TargetSpace": terminal.EntityNameColor(space.Name),
"CurrentUser": terminal.EntityNameColor(cmd.config.Username()),
}))
var spaceRoleToDisplayName = map[string]string{
models.SPACE_MANAGER: T("SPACE MANAGER"),
models.SPACE_DEVELOPER: T("SPACE DEVELOPER"),
models.SPACE_AUDITOR: T("SPACE AUDITOR"),
}
var usersMap = make(map[string]plugin_models.GetSpaceUsers_Model)
var users []models.UserFields
for _, role := range spaceRoles {
displayName := spaceRoleToDisplayName[role]
if cmd.config.IsMinApiVersion("2.21.0") {
users, apiErr = cmd.userRepo.ListUsersInSpaceForRoleWithNoUAA(space.Guid, role)
} else {
users, apiErr = cmd.userRepo.ListUsersInSpaceForRole(space.Guid, role)
}
cmd.ui.Say("")
cmd.ui.Say("%s", terminal.HeaderColor(displayName))
for _, user := range users {
cmd.ui.Say(" %s", user.Username)
if cmd.pluginCall {
u, found := usersMap[user.Username]
if !found {
u = plugin_models.GetSpaceUsers_Model{}
u.Username = user.Username
u.Guid = user.Guid
u.IsAdmin = user.IsAdmin
u.Roles = make([]string, 1)
u.Roles[0] = role
usersMap[user.Username] = u
} else {
u.Roles = append(u.Roles, role)
usersMap[user.Username] = u
}
}
}
if apiErr != nil {
cmd.ui.Failed(T("Failed fetching space-users for role {{.SpaceRoleToDisplayName}}.\n{{.Error}}",
map[string]interface{}{
"Error": apiErr.Error(),
"SpaceRoleToDisplayName": displayName,
}))
return
}
}
if cmd.pluginCall {
for _, v := range usersMap {
*(cmd.pluginModel) = append(*(cmd.pluginModel), v)
}
}
}
示例15: ShowApp
func (cmd *ShowApp) ShowApp(app models.Application, orgName, spaceName string) {
cmd.ui.Say(T("Showing health and status for app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...",
map[string]interface{}{
"AppName": terminal.EntityNameColor(app.Name),
"OrgName": terminal.EntityNameColor(orgName),
"SpaceName": terminal.EntityNameColor(spaceName),
"Username": terminal.EntityNameColor(cmd.config.Username())}))
application, apiErr := cmd.appSummaryRepo.GetSummary(app.Guid)
appIsStopped := (application.State == "stopped")
if err, ok := apiErr.(errors.HttpError); ok {
if err.ErrorCode() == errors.APP_STOPPED || err.ErrorCode() == errors.APP_NOT_STAGED {
appIsStopped = true
}
}
if apiErr != nil && !appIsStopped {
cmd.ui.Failed(apiErr.Error())
return
}
var instances []models.AppInstanceFields
instances, apiErr = cmd.appInstancesRepo.GetInstances(app.Guid)
if apiErr != nil && !appIsStopped {
cmd.ui.Failed(apiErr.Error())
return
}
if apiErr != nil && !appIsStopped {
cmd.ui.Failed(apiErr.Error())
return
}
cmd.ui.Ok()
cmd.ui.Say("\n%s %s", terminal.HeaderColor(T("requested state:")), ui_helpers.ColoredAppState(application.ApplicationFields))
cmd.ui.Say("%s %s", terminal.HeaderColor(T("instances:")), ui_helpers.ColoredAppInstances(application.ApplicationFields))
cmd.ui.Say(T("{{.Usage}} {{.FormattedMemory}} x {{.InstanceCount}} instances",
map[string]interface{}{
"Usage": terminal.HeaderColor(T("usage:")),
"FormattedMemory": formatters.ByteSize(application.Memory * formatters.MEGABYTE),
"InstanceCount": application.InstanceCount}))
var urls []string
for _, route := range application.Routes {
urls = append(urls, route.URL())
}
cmd.ui.Say("%s %s", terminal.HeaderColor(T("urls:")), strings.Join(urls, ", "))
var lastUpdated string
if application.PackageUpdatedAt != nil {
lastUpdated = application.PackageUpdatedAt.Format("Mon Jan 2 15:04:05 MST 2006")
} else {
lastUpdated = "unknown"
}
cmd.ui.Say("%s %s", terminal.HeaderColor(T("last uploaded:")), lastUpdated)
if app.Stack != nil {
cmd.ui.Say("%s %s", terminal.HeaderColor(T("stack:")), app.Stack.Name)
} else {
cmd.ui.Say("%s %s", terminal.HeaderColor(T("stack:")), "unknown")
}
if app.Buildpack != "" {
cmd.ui.Say("%s %s\n", terminal.HeaderColor(T("buildpack:")), app.Buildpack)
} else if app.DetectedBuildpack != "" {
cmd.ui.Say("%s %s\n", terminal.HeaderColor(T("buildpack:")), app.DetectedBuildpack)
} else {
cmd.ui.Say("%s %s\n", terminal.HeaderColor(T("buildpack:")), "unknown")
}
if appIsStopped {
cmd.ui.Say(T("There are no running instances of this app."))
return
}
table := terminal.NewTable(cmd.ui, []string{"", T("state"), T("since"), T("cpu"), T("memory"), T("disk"), T("details")})
for index, instance := range instances {
table.Add(
fmt.Sprintf("#%d", index),
ui_helpers.ColoredInstanceState(instance),
instance.Since.Format("2006-01-02 03:04:05 PM"),
fmt.Sprintf("%.1f%%", instance.CpuUsage*100),
fmt.Sprintf(T("{{.MemUsage}} of {{.MemQuota}}",
map[string]interface{}{
"MemUsage": formatters.ByteSize(instance.MemUsage),
"MemQuota": formatters.ByteSize(instance.MemQuota)})),
fmt.Sprintf(T("{{.DiskUsage}} of {{.DiskQuota}}",
map[string]interface{}{
"DiskUsage": formatters.ByteSize(instance.DiskUsage),
"DiskQuota": formatters.ByteSize(instance.DiskQuota)})),
fmt.Sprintf("%s", instance.Details),
)
if cmd.pluginCall {
i := plugin_models.GetApp_AppInstanceFields{}
i.State = fmt.Sprintf("%s", instance.State)
i.Details = instance.Details
i.Since = instance.Since
i.CpuUsage = instance.CpuUsage
//.........這裏部分代碼省略.........