github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+incompatible/cf/api/resources/spaces.go (about) 1 package resources 2 3 import "github.com/cloudfoundry/cli/cf/models" 4 5 type SpaceResource struct { 6 Resource 7 Entity SpaceEntity 8 } 9 10 type SpaceEntity struct { 11 Name string 12 Organization OrganizationResource 13 Applications []ApplicationResource `json:"apps"` 14 Domains []DomainResource 15 ServiceInstances []ServiceInstanceResource `json:"service_instances"` 16 SecurityGroups []SecurityGroupResource `json:"security_groups"` 17 SpaceQuotaGuid string `json:"space_quota_definition_guid"` 18 } 19 20 func (resource SpaceResource) ToFields() (fields models.SpaceFields) { 21 fields.Guid = resource.Metadata.Guid 22 fields.Name = resource.Entity.Name 23 return 24 } 25 26 func (resource SpaceResource) ToModel() (space models.Space) { 27 space.SpaceFields = resource.ToFields() 28 for _, app := range resource.Entity.Applications { 29 space.Applications = append(space.Applications, app.ToFields()) 30 } 31 32 for _, domainResource := range resource.Entity.Domains { 33 space.Domains = append(space.Domains, domainResource.ToFields()) 34 } 35 36 for _, serviceResource := range resource.Entity.ServiceInstances { 37 space.ServiceInstances = append(space.ServiceInstances, serviceResource.ToFields()) 38 } 39 40 for _, securityGroupResource := range resource.Entity.SecurityGroups { 41 space.SecurityGroups = append(space.SecurityGroups, securityGroupResource.ToFields()) 42 } 43 44 space.Organization = resource.Entity.Organization.ToFields() 45 space.SpaceQuotaGuid = resource.Entity.SpaceQuotaGuid 46 return 47 }