本文整理汇总了Golang中code/cloudfoundry/org/cli/cf/models.SecurityGroup.Spaces方法的典型用法代码示例。如果您正苦于以下问题:Golang SecurityGroup.Spaces方法的具体用法?Golang SecurityGroup.Spaces怎么用?Golang SecurityGroup.Spaces使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类code/cloudfoundry/org/cli/cf/models.SecurityGroup
的用法示例。
在下文中一共展示了SecurityGroup.Spaces方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Read
func (repo cloudControllerSecurityGroupRepo) Read(name string) (models.SecurityGroup, error) {
path := fmt.Sprintf("/v2/security_groups?q=%s", url.QueryEscape("name:"+name))
group := models.SecurityGroup{}
foundGroup := false
err := repo.gateway.ListPaginatedResources(
repo.config.APIEndpoint(),
path,
resources.SecurityGroupResource{},
func(resource interface{}) bool {
if asgr, ok := resource.(resources.SecurityGroupResource); ok {
group = asgr.ToModel()
foundGroup = true
}
return false
},
)
if err != nil {
return group, err
}
if !foundGroup {
return group, errors.NewModelNotFoundError("security group", name)
}
err = repo.gateway.ListPaginatedResources(
repo.config.APIEndpoint(),
group.SpaceURL+"?inline-relations-depth=1",
resources.SpaceResource{},
func(resource interface{}) bool {
if asgr, ok := resource.(resources.SpaceResource); ok {
group.Spaces = append(group.Spaces, asgr.ToModel())
return true
}
return false
},
)
return group, err
}