github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+incompatible/cf/api/resources/security_groups.go (about)

     1  package resources
     2  
     3  import "github.com/cloudfoundry/cli/cf/models"
     4  
     5  type PaginatedSecurityGroupResources struct {
     6  	Resources []SecurityGroupResource
     7  }
     8  
     9  type SecurityGroupResource struct {
    10  	Resource
    11  	Entity SecurityGroup
    12  }
    13  
    14  type SecurityGroup struct {
    15  	models.SecurityGroupFields
    16  	Spaces []SpaceResource
    17  }
    18  
    19  func (resource SecurityGroupResource) ToFields() (fields models.SecurityGroupFields) {
    20  	fields.Name = resource.Entity.Name
    21  	fields.Rules = resource.Entity.Rules
    22  	fields.Guid = resource.Metadata.Guid
    23  
    24  	return
    25  }
    26  
    27  func (resource SecurityGroupResource) ToModel() (asg models.SecurityGroup) {
    28  	asg.SecurityGroupFields = resource.ToFields()
    29  
    30  	spaces := []models.Space{}
    31  	for _, s := range resource.Entity.Spaces {
    32  		spaces = append(spaces, s.ToModel())
    33  	}
    34  	asg.Spaces = spaces
    35  
    36  	return
    37  }