本文整理匯總了Golang中github.com/juju/juju/state.Application.IsExposed方法的典型用法代碼示例。如果您正苦於以下問題:Golang Application.IsExposed方法的具體用法?Golang Application.IsExposed怎麽用?Golang Application.IsExposed使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/juju/juju/state.Application
的用法示例。
在下文中一共展示了Application.IsExposed方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: matchExposure
func matchExposure(patterns []string, s *state.Application) (bool, bool, error) {
if len(patterns) >= 1 && patterns[0] == "exposed" {
return s.IsExposed(), true, nil
} else if len(patterns) >= 2 && patterns[0] == "not" && patterns[1] == "exposed" {
return !s.IsExposed(), true, nil
}
return false, false, nil
}
示例2: processApplication
func (context *statusContext) processApplication(service *state.Application) params.ApplicationStatus {
serviceCharm, _, err := service.Charm()
if err != nil {
return params.ApplicationStatus{Err: common.ServerError(err)}
}
var processedStatus = params.ApplicationStatus{
Charm: serviceCharm.URL().String(),
Series: service.Series(),
Exposed: service.IsExposed(),
Life: processLife(service),
}
if latestCharm, ok := context.latestCharms[*serviceCharm.URL().WithRevision(-1)]; ok && latestCharm != nil {
if latestCharm.Revision() > serviceCharm.URL().Revision {
processedStatus.CanUpgradeTo = latestCharm.String()
}
}
processedStatus.Relations, processedStatus.SubordinateTo, err = context.processServiceRelations(service)
if err != nil {
processedStatus.Err = common.ServerError(err)
return processedStatus
}
units := context.units[service.Name()]
if service.IsPrincipal() {
processedStatus.Units = context.processUnits(units, serviceCharm.URL().String())
}
applicationStatus, err := service.Status()
if err != nil {
processedStatus.Err = common.ServerError(err)
return processedStatus
}
processedStatus.Status.Status = applicationStatus.Status.String()
processedStatus.Status.Info = applicationStatus.Message
processedStatus.Status.Data = applicationStatus.Data
processedStatus.Status.Since = applicationStatus.Since
metrics := serviceCharm.Metrics()
planRequired := metrics != nil && metrics.Plan != nil && metrics.Plan.Required
if planRequired || len(service.MetricCredentials()) > 0 {
processedStatus.MeterStatuses = context.processUnitMeterStatuses(units)
}
versions := make([]status.StatusInfo, 0, len(units))
for _, unit := range units {
statuses, err := unit.WorkloadVersionHistory().StatusHistory(
status.StatusHistoryFilter{Size: 1},
)
if err != nil {
processedStatus.Err = common.ServerError(err)
return processedStatus
}
// Even though we fully expect there to be historical values there,
// even the first should be the empty string, the status history
// collection is not added to in a transactional manner, so it may be
// not there even though we'd really like it to be. Such is mongo.
if len(statuses) > 0 {
versions = append(versions, statuses[0])
}
}
if len(versions) > 0 {
sort.Sort(bySinceDescending(versions))
processedStatus.WorkloadVersion = versions[0].Message
}
return processedStatus
}