Skip to content

Commit c02f55e

Browse files
committed
add default project_id
1 parent b3de141 commit c02f55e

File tree

3 files changed

+293
-24
lines changed

3 files changed

+293
-24
lines changed

Diff for: internal/services/tem/helpers.go

+17
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package tem
22

33
import (
4+
"context"
45
"time"
56

67
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
8+
accountSDK "github.com/scaleway/scaleway-sdk-go/api/account/v3"
79
tem "github.com/scaleway/scaleway-sdk-go/api/tem/v1alpha1"
810
"github.com/scaleway/scaleway-sdk-go/scw"
911
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional"
1012
"github.com/scaleway/terraform-provider-scaleway/v2/internal/meta"
13+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account"
14+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/types"
1115
)
1216

1317
const (
@@ -39,3 +43,16 @@ func NewAPIWithRegionAndID(m interface{}, id string) (*tem.API, scw.Region, stri
3943

4044
return api, region, id, nil
4145
}
46+
47+
func getDefaultProjectID(ctx context.Context, m interface{}) (string, error) {
48+
accountAPI := account.NewProjectAPI(m)
49+
50+
res, err := accountAPI.ListProjects(&accountSDK.ProjectAPIListProjectsRequest{
51+
Name: types.ExpandStringPtr("default"),
52+
}, scw.WithContext(ctx))
53+
if err != nil {
54+
return "", err
55+
}
56+
57+
return res.Projects[0].ID, nil
58+
}

Diff for: internal/services/tem/offer_subscription_data_source.go

+7
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,13 @@ func DataSourceOfferSubscriptionRead(ctx context.Context, d *schema.ResourceData
7676

7777
projectID := d.Get("project_id").(string)
7878

79+
if projectID == "" {
80+
_, err = getDefaultProjectID(ctx, m)
81+
if err != nil {
82+
return diag.FromErr(err)
83+
}
84+
}
85+
7986
offer, err := api.ListOfferSubscriptions(&tem.ListOfferSubscriptionsRequest{
8087
Region: region,
8188
ProjectID: projectID,

0 commit comments

Comments
 (0)