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  }