Skip to content

Commit

Permalink
Removed _instance postfix and added docs for ups data source
Browse files Browse the repository at this point in the history
  • Loading branch information
Useurmind committed Feb 11, 2020
1 parent 41a7566 commit 69a0098
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ import (
"github.com/terraform-providers/terraform-provider-cloudfoundry/cloudfoundry/managers"
)

func dataSourceUserProvidedServiceInstance() *schema.Resource {
func dataSourceUserProvidedService() *schema.Resource {

return &schema.Resource{

Read: dataSourceUserProvidedServiceInstanceRead,
Read: dataSourceUserProvidedServiceRead,

Schema: map[string]*schema.Schema{
"space": &schema.Schema{
Expand All @@ -22,6 +22,18 @@ func dataSourceUserProvidedServiceInstance() *schema.Resource {
Type: schema.TypeString,
Required: true,
},
"credentials": &schema.Schema{
Type: schema.TypeMap,
Computed: true,
},
"route_service_url": &schema.Schema{
Type: schema.TypeString,
Computed: true,
},
"syslog_drain_url": &schema.Schema{
Type: schema.TypeString,
Computed: true,
},
"tags": &schema.Schema{
Type: schema.TypeList,
Computed: true,
Expand All @@ -31,18 +43,18 @@ func dataSourceUserProvidedServiceInstance() *schema.Resource {
}
}

func dataSourceUserProvidedServiceInstanceRead(d *schema.ResourceData, meta interface{}) error {
func dataSourceUserProvidedServiceRead(d *schema.ResourceData, meta interface{}) error {
session := meta.(*managers.Session)

var (
name string
space string
serviceInstance ccv2.ServiceInstance
serviceInstance ccv2.UserProvidedServiceInstance
)

name = d.Get("name").(string)
space = d.Get("space").(string)
serviceInstances, _, err := session.ClientV2.GetUserProvidedServiceInstances(ccv2.FilterByName(name), ccv2.FilterEqual(constant.SpaceGUIDFilter, space))
serviceInstances, _, err := session.ClientV2.GetUserProvServiceInstances(ccv2.FilterByName(name), ccv2.FilterEqual(constant.SpaceGUIDFilter, space))
if err != nil {
return err
}
Expand All @@ -53,6 +65,9 @@ func dataSourceUserProvidedServiceInstanceRead(d *schema.ResourceData, meta inte

d.SetId(serviceInstance.GUID)
d.Set("name", serviceInstance.Name)
d.Set("credentials", serviceInstance.Credentials)
d.Set("route_service_url", serviceInstance.RouteServiceUrl)
d.Set("syslog_drain_url", serviceInstance.SyslogDrainUrl)
d.Set("tags", serviceInstance.Tags)

return nil
Expand Down
34 changes: 17 additions & 17 deletions cloudfoundry/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,23 +85,23 @@ func Provider() terraform.ResourceProvider {
},

DataSourcesMap: map[string]*schema.Resource{
"cloudfoundry_info": dataSourceInfo(),
"cloudfoundry_stack": dataSourceStack(),
"cloudfoundry_router_group": dataSourceRouterGroup(),
"cloudfoundry_user": dataSourceUser(),
"cloudfoundry_domain": dataSourceDomain(),
"cloudfoundry_route": dataSourceRoute(),
"cloudfoundry_asg": dataSourceAsg(),
"cloudfoundry_org": dataSourceOrg(),
"cloudfoundry_org_quota": dataSourceOrgQuota(),
"cloudfoundry_space_quota": dataSourceSpaceQuota(),
"cloudfoundry_isolation_segment": dataSourceIsolationSegment(),
"cloudfoundry_space": dataSourceSpace(),
"cloudfoundry_service_instance": dataSourceServiceInstance(),
"cloudfoundry_user_provided_service_instance": dataSourceUserProvidedServiceInstance(),
"cloudfoundry_service_key": dataSourceServiceKey(),
"cloudfoundry_service": dataSourceService(),
"cloudfoundry_app": dataSourceApp(),
"cloudfoundry_info": dataSourceInfo(),
"cloudfoundry_stack": dataSourceStack(),
"cloudfoundry_router_group": dataSourceRouterGroup(),
"cloudfoundry_user": dataSourceUser(),
"cloudfoundry_domain": dataSourceDomain(),
"cloudfoundry_route": dataSourceRoute(),
"cloudfoundry_asg": dataSourceAsg(),
"cloudfoundry_org": dataSourceOrg(),
"cloudfoundry_org_quota": dataSourceOrgQuota(),
"cloudfoundry_space_quota": dataSourceSpaceQuota(),
"cloudfoundry_isolation_segment": dataSourceIsolationSegment(),
"cloudfoundry_space": dataSourceSpace(),
"cloudfoundry_service_instance": dataSourceServiceInstance(),
"cloudfoundry_user_provided_service": dataSourceUserProvidedService(),
"cloudfoundry_service_key": dataSourceServiceKey(),
"cloudfoundry_service": dataSourceService(),
"cloudfoundry_app": dataSourceApp(),
},

ResourcesMap: map[string]*schema.Resource{
Expand Down
38 changes: 38 additions & 0 deletions docs/data-sources/user_provided_service.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
layout: "cloudfoundry"
page_title: "Cloud Foundry: user_provided_service"
sidebar_current: "docs-cf-datasource-user-provided-service"
description: |-
Get information on a Cloud Foundry User Provided Service.
---

# cloudfoundry\_user\_provided\_service

Gets information on a Cloud Foundry user provided service (see https://docs.cloudfoundry.org/devguide/services/user-provided.html).

## Example Usage

```hcl
data "cloudfoundry_user_provided_service" "my-instance" {
name = "my-service-instance"
space = "space-id"
}
```

## Argument Reference

The following arguments are supported:

* `name` - (Required) The name of the user provided service (NOT its guid).
* `space` - (Required) The space GUID in which the user provided service is defined.

## Attributes Reference

The following attributes are exported:

* `id` - The GUID of the service instance.
* `name` - The name of the service instance.
* `credentials` - A map of fields that was defined as input to the user provided service via the `-p` option in cf cli.
* `route_service_url` - The url of the route service that should proxy requests to an app (see https://docs.cloudfoundry.org/devguide/services/route-binding.html).
* `syslog_drain_url` - The url of the syslog service to which app logs should be streamed.
* `tags` - Tags set during service instance creations.

0 comments on commit 69a0098

Please sign in to comment.