Skip to content

Commit 39f1c26

Browse files
fix: orgID handling
1 parent 8ee2168 commit 39f1c26

File tree

5 files changed

+499
-524
lines changed

5 files changed

+499
-524
lines changed

internal/meta/errors.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,3 @@ import "errors"
44

55
// ErrProjectIDNotFound is returned when no project ID can be detected
66
var ErrProjectIDNotFound = errors.New("could not detect project id")
7-
8-
// ErrOrganizationIDNotFound is returned when no organization ID can be detected
9-
var ErrOrganizationIDNotFound = errors.New("could not detect organization id")

internal/meta/extractors.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -116,24 +116,6 @@ func ExtractProjectID(d terraformResourceData, m any) (projectID string, isDefau
116116
return "", false, ErrProjectIDNotFound
117117
}
118118

119-
// ExtractOrganizationID will try to guess the organization id from the following:
120-
// - organization_id field of the resource data
121-
// - default organization_id from config
122-
func ExtractOrganizationID(d terraformResourceData, m any) (organizationID string, err error) {
123-
rawOrgID, exist := d.GetOk("organization_id")
124-
125-
if exist {
126-
return rawOrgID.(string), nil
127-
}
128-
129-
defaultOrgID, defaultOrgIDExists := m.(*Meta).ScwClient().GetDefaultOrganizationID()
130-
if defaultOrgIDExists {
131-
return defaultOrgID, nil
132-
}
133-
134-
return "", ErrOrganizationIDNotFound
135-
}
136-
137119
func ExtractScwClient(m any) *scw.Client {
138120
return m.(*Meta).ScwClient()
139121
}

internal/services/audittrail/event_data_source.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/scaleway/scaleway-sdk-go/scw"
1414
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality"
1515
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional"
16+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account"
1617
"github.com/scaleway/terraform-provider-scaleway/v2/internal/types"
1718
"github.com/scaleway/terraform-provider-scaleway/v2/internal/verify"
1819
)
@@ -25,6 +26,7 @@ func DataSourceEvent() *schema.Resource {
2526
Type: schema.TypeString,
2627
Description: "ID of the organization containing the Audit Trail events.",
2728
Optional: true,
29+
Computed: true,
2830
ValidateDiagFunc: verify.IsUUID(),
2931
},
3032
"region": regional.Schema(),
@@ -214,13 +216,13 @@ func DataSourceEvent() *schema.Resource {
214216
}
215217

216218
func DataSourceEventsRead(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics {
217-
auditTrailAPI, region, orgID, err := newAPIWithRegionAndOrgID(d, m)
219+
auditTrailAPI, region, err := newAPIWithRegion(d, m)
218220
if err != nil {
219221
return diag.FromErr(err)
220222
}
221223

222224
req := audittrailSDK.ListEventsRequest{
223-
OrganizationID: orgID,
225+
OrganizationID: types.FlattenStringPtr(account.GetOrganizationID(m, d)).(string),
224226
Region: region,
225227
}
226228

@@ -235,7 +237,6 @@ func DataSourceEventsRead(ctx context.Context, d *schema.ResourceData, m any) di
235237
}
236238

237239
d.SetId(uuid.New().String())
238-
_ = d.Set("organization_id", orgID)
239240
_ = d.Set("region", region)
240241

241242
flattenedEvents, err := flattenEvents(res.Events)

internal/services/audittrail/helpers.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,17 @@ import (
1111
)
1212

1313
// newAPIWithRegionAndProjectID returns a new Audit Trail API, with region and projectID
14-
func newAPIWithRegionAndOrgID(d *schema.ResourceData, m any) (*audittrailSDK.API, scw.Region, string, error) {
14+
func newAPIWithRegion(d *schema.ResourceData, m any) (*audittrailSDK.API, scw.Region, error) {
1515
api := audittrailSDK.NewAPI(meta.ExtractScwClient(m))
1616

1717
region, err := meta.ExtractRegion(d, m)
1818
if err != nil {
19-
return nil, "", "", err
19+
return nil, "", err
2020
}
2121
// In audit trail sdk-go so far only fr-par and nl-ams are supported
2222
if !slices.Contains(api.Regions(), region) {
23-
return nil, "", "", fmt.Errorf("invalid api region, expected one of %s, got: %s", api.Regions(), region)
23+
return nil, "", fmt.Errorf("invalid api region, expected one of %s, got: %s", api.Regions(), region)
2424
}
2525

26-
orgID, err := meta.ExtractOrganizationID(d, m)
27-
if err != nil {
28-
return nil, "", "", err
29-
}
30-
31-
return api, region, orgID, nil
26+
return api, region, nil
3227
}

0 commit comments

Comments
 (0)