|
1 | 1 | package cloudfoundry
|
2 | 2 |
|
3 | 3 | import (
|
4 |
| - "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2" |
5 |
| - "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2/constant" |
6 | 4 | "context"
|
| 5 | + |
| 6 | + "code.cloudfoundry.org/cli/api/cloudcontroller/ccv3" |
| 7 | + "code.cloudfoundry.org/cli/resources" |
7 | 8 | "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
|
8 | 9 | "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
9 | 10 | "github.com/terraform-providers/terraform-provider-cloudfoundry/cloudfoundry/managers"
|
@@ -36,22 +37,35 @@ func dataSourceServiceKey() *schema.Resource {
|
36 | 37 |
|
37 | 38 | func dataSourceServiceKeyRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
|
38 | 39 | session := meta.(*managers.Session)
|
| 40 | + var serviceKeys []resources.ServiceCredentialBinding |
| 41 | + var err error |
39 | 42 |
|
40 |
| - serviceKeys, _, err := session.ClientV2.GetServiceKeys( |
41 |
| - ccv2.FilterByName(d.Get("name").(string)), |
42 |
| - ccv2.FilterEqual(constant.ServiceInstanceGUIDFilter, d.Get("service_instance").(string)), |
| 43 | + serviceKeys, _, err = session.ClientV3.GetServiceCredentialBindings( |
| 44 | + ccv3.Query{ |
| 45 | + Key: ccv3.QueryKey("service_instance_guids"), |
| 46 | + Values: []string{d.Get("service_instance").(string)}, |
| 47 | + }, ccv3.Query{ |
| 48 | + Key: ccv3.NameFilter, |
| 49 | + Values: []string{d.Get("name").(string)}, |
| 50 | + }, |
43 | 51 | )
|
| 52 | + |
44 | 53 | if err != nil {
|
45 | 54 | return diag.FromErr(err)
|
46 | 55 | }
|
47 | 56 | if len(serviceKeys) == 0 {
|
48 | 57 | return diag.FromErr(NotFound)
|
49 | 58 | }
|
50 | 59 | serviceKey := serviceKeys[0]
|
| 60 | + serviceKeyDetails, _, err := session.ClientV3.GetServiceCredentialBindingDetails(serviceKey.GUID) |
| 61 | + if err != nil { |
| 62 | + return diag.FromErr(err) |
| 63 | + } |
| 64 | + |
51 | 65 | d.SetId(serviceKey.GUID)
|
52 | 66 | d.Set("name", serviceKey.Name)
|
53 | 67 | d.Set("service_instance", serviceKey.ServiceInstanceGUID)
|
54 |
| - d.Set("credentials", normalizeMap(serviceKey.Credentials, make(map[string]interface{}), "", "_")) |
| 68 | + d.Set("credentials", normalizeMap(serviceKeyDetails.Credentials, make(map[string]interface{}), "", "_")) |
55 | 69 |
|
56 | 70 | return nil
|
57 | 71 | }
|
0 commit comments