github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+incompatible/cf/api/resources/service_instances.go (about) 1 package resources 2 3 import "github.com/cloudfoundry/cli/cf/models" 4 5 type PaginatedServiceInstanceResources struct { 6 TotalResults int `json:"total_results"` 7 Resources []ServiceInstanceResource 8 } 9 10 type ServiceInstanceResource struct { 11 Resource 12 Entity ServiceInstanceEntity 13 } 14 15 type ServiceInstanceEntity struct { 16 Name string 17 DashboardUrl string `json:"dashboard_url"` 18 ServiceBindings []ServiceBindingResource `json:"service_bindings"` 19 ServicePlan ServicePlanResource `json:"service_plan"` 20 State string `json:"state"` 21 StateDescription string `json:"state_description"` 22 } 23 24 func (resource ServiceInstanceResource) ToFields() (fields models.ServiceInstanceFields) { 25 fields.Guid = resource.Metadata.Guid 26 fields.Name = resource.Entity.Name 27 fields.State = resource.Entity.State 28 fields.StateDescription = resource.Entity.StateDescription 29 fields.DashboardUrl = resource.Entity.DashboardUrl 30 return 31 } 32 33 func (resource ServiceInstanceResource) ToModel() (instance models.ServiceInstance) { 34 instance.ServiceInstanceFields = resource.ToFields() 35 instance.ServicePlan = resource.Entity.ServicePlan.ToFields() 36 37 instance.ServiceBindings = []models.ServiceBindingFields{} 38 for _, bindingResource := range resource.Entity.ServiceBindings { 39 instance.ServiceBindings = append(instance.ServiceBindings, bindingResource.ToFields()) 40 } 41 return 42 }