本文整理汇总了Golang中github.com/juju/juju/state.Service.IsExposed方法的典型用法代码示例。如果您正苦于以下问题:Golang Service.IsExposed方法的具体用法?Golang Service.IsExposed怎么用?Golang Service.IsExposed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/juju/juju/state.Service
的用法示例。
在下文中一共展示了Service.IsExposed方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: matchExposure
func matchExposure(patterns []string, s *state.Service) (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: processService
func (context *statusContext) processService(service *state.Service) (status params.ServiceStatus) {
serviceCharmURL, _ := service.CharmURL()
status.Charm = serviceCharmURL.String()
status.Exposed = service.IsExposed()
status.Life = processLife(service)
latestCharm, ok := context.latestCharms[*serviceCharmURL.WithRevision(-1)]
if ok && latestCharm != serviceCharmURL.String() {
status.CanUpgradeTo = latestCharm
}
var err error
status.Relations, status.SubordinateTo, err = context.processServiceRelations(service)
if err != nil {
status.Err = err
return
}
networks, err := service.Networks()
if err != nil {
status.Err = err
return
}
var cons constraints.Value
if service.IsPrincipal() {
// Only principals can have constraints.
cons, err = service.Constraints()
if err != nil {
status.Err = err
return
}
}
// TODO(dimitern): Drop support for this in a follow-up.
if len(networks) > 0 || cons.HaveNetworks() {
// Only the explicitly requested networks (using "juju deploy
// <svc> --networks=...") will be enabled, and altough when
// specified, networks constraints will be used for instance
// selection, they won't be actually enabled.
status.Networks = params.NetworksSpecification{
Enabled: networks,
Disabled: append(cons.IncludeNetworks(), cons.ExcludeNetworks()...),
}
}
if service.IsPrincipal() {
status.Units = context.processUnits(context.units[service.Name()], serviceCharmURL.String())
serviceStatus, err := service.Status()
if err != nil {
status.Err = err
return
}
status.Status.Status = params.Status(serviceStatus.Status)
status.Status.Info = serviceStatus.Message
status.Status.Data = serviceStatus.Data
status.Status.Since = serviceStatus.Since
status.MeterStatuses = context.processUnitMeterStatuses(context.units[service.Name()])
}
return status
}
示例3: GetExposed
// GetExposed returns the exposed flag value for each given service.
func (f *FirewallerAPI) GetExposed(args params.Entities) (params.BoolResults, error) {
result := params.BoolResults{
Results: make([]params.BoolResult, len(args.Entities)),
}
canAccess, err := f.accessService()
if err != nil {
return params.BoolResults{}, err
}
for i, entity := range args.Entities {
var service *state.Service
service, err = f.getService(canAccess, entity.Tag)
if err == nil {
result.Results[i].Result = service.IsExposed()
}
result.Results[i].Error = common.ServerError(err)
}
return result, nil
}
示例4: processService
func (context *statusContext) processService(service *state.Service) params.ServiceStatus {
serviceCharmURL, _ := service.CharmURL()
var processedStatus = params.ServiceStatus{
Charm: serviceCharmURL.String(),
Exposed: service.IsExposed(),
Life: processLife(service),
}
if latestCharm, ok := context.latestCharms[*serviceCharmURL.WithRevision(-1)]; ok && latestCharm != nil {
if latestCharm.Revision() > serviceCharmURL.Revision {
processedStatus.CanUpgradeTo = latestCharm.String()
}
}
var err error
processedStatus.Relations, processedStatus.SubordinateTo, err = context.processServiceRelations(service)
if err != nil {
processedStatus.Err = err
return processedStatus
}
if service.IsPrincipal() {
processedStatus.Units = context.processUnits(context.units[service.Name()], serviceCharmURL.String())
serviceStatus, err := service.Status()
if err != nil {
processedStatus.Err = err
return processedStatus
}
processedStatus.Status.Status = serviceStatus.Status
processedStatus.Status.Info = serviceStatus.Message
processedStatus.Status.Data = serviceStatus.Data
processedStatus.Status.Since = serviceStatus.Since
processedStatus.MeterStatuses = context.processUnitMeterStatuses(context.units[service.Name()])
}
return processedStatus
}