Skip to content

Commit 4c52381

Browse files
committed
made customer_context optional
1 parent 69dc4a8 commit 4c52381

File tree

10 files changed

+65
-42
lines changed

10 files changed

+65
-42
lines changed

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ terraform {
1717
required_providers {
1818
doit = {
1919
source = "doitintl/doit"
20-
version = "0.18.0"
20+
version = "0.21.0"
2121
}
2222
}
2323
}

examples/main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ terraform {
22
required_providers {
33
doit = {
44
source = "doitintl/doit"
5-
version = "0.18.0"
5+
version = "0.21.0"
66
}
77
}
88
}
@@ -47,7 +47,7 @@ resource "doit_attribution" "attri" {
4747
name = "attritestnewname"
4848
description = "attritestdesc"
4949
formula = "A"
50-
components = [{ type = "label", key = "iris_region", values = ["us-central1"] }]
50+
components = [{ type = "system_label", key = "aws/region_code", values = ["us-east-1"] }]
5151
}
5252

5353
resource "doit_attribution_group" "attributeGroup" {

examples/provider/provider.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ terraform {
22
required_providers {
33
doit = {
44
source = "doitintl/doit"
5-
version = "0.18.0"
5+
version = "0.21.0"
66
}
77
}
88
}

internal/provider/attribution.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ func (c *ClientTest) CreateAttribution(attribution Attribution) (*Attribution, e
1414
if err != nil {
1515
return nil, err
1616
}
17-
18-
req, err := http.NewRequest("POST", fmt.Sprintf("%s/analytics/v1/attributions?customerContext=%s", c.HostURL, c.Auth.CustomerContext), strings.NewReader(string(rb)))
17+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/attributions", c.HostURL)
18+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
19+
req, err := http.NewRequest("POST", urlRequestContext, strings.NewReader(string(rb)))
1920
log.Println("URL----------------")
2021
log.Println(req.URL)
2122
if err != nil {
@@ -47,7 +48,9 @@ func (c *ClientTest) UpdateAttribution(attributionID string, attribution Attribu
4748
if err != nil {
4849
return nil, err
4950
}
50-
req, err := http.NewRequest("PATCH", fmt.Sprintf("%s/analytics/v1/attributions/%s?customerContext=%s", c.HostURL, attributionID, c.Auth.CustomerContext), strings.NewReader(string(rb)))
51+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/attributions/%s", c.HostURL, attributionID)
52+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
53+
req, err := http.NewRequest("PATCH", urlRequestContext, strings.NewReader(string(rb)))
5154
if err != nil {
5255
return nil, err
5356
}
@@ -69,7 +72,10 @@ func (c *ClientTest) UpdateAttribution(attributionID string, attribution Attribu
6972
}
7073

7174
func (c *ClientTest) DeleteAttribution(attributionID string) error {
72-
req, err := http.NewRequest("DELETE", fmt.Sprintf("%s/analytics/v1/attributions/%s?customerContext=%s", c.HostURL, attributionID, c.Auth.CustomerContext), nil)
75+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/attributions/%s", c.HostURL, attributionID)
76+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
77+
78+
req, err := http.NewRequest("DELETE", urlRequestContext, nil)
7379
if err != nil {
7480
return err
7581
}
@@ -84,7 +90,9 @@ func (c *ClientTest) DeleteAttribution(attributionID string) error {
8490

8591
// GetAttribution - Returns a specifc attribution
8692
func (c *ClientTest) GetAttribution(orderID string) (*Attribution, error) {
87-
req, err := http.NewRequest("GET", fmt.Sprintf("%s/analytics/v1/attributions/%s?customerContext=%s", c.HostURL, orderID, c.Auth.CustomerContext), nil)
93+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/attributions/%s", c.HostURL, orderID)
94+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
95+
req, err := http.NewRequest("GET", urlRequestContext, nil)
8896
if err != nil {
8997
return nil, err
9098
}

internal/provider/attribution_group.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ func (c *ClientTest) CreateAttributionGroup(attributionGroup AttributionGroup) (
1818
}
1919
log.Println(strings.NewReader(string(rb)))
2020

21-
req, err := http.NewRequest("POST", fmt.Sprintf("%s/analytics/v1/attributiongroups?customerContext=%s", c.HostURL, c.Auth.CustomerContext), strings.NewReader(string(rb)))
21+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/attributiongroups", c.HostURL)
22+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
23+
24+
req, err := http.NewRequest("POST", urlRequestContext, strings.NewReader(string(rb)))
2225
log.Println("URL:")
2326
log.Println(req.URL)
2427
if err != nil {
@@ -48,7 +51,9 @@ func (c *ClientTest) UpdateAttributionGroup(attributionGroupID string, attributi
4851
if err != nil {
4952
return nil, err
5053
}
51-
req, err := http.NewRequest("PATCH", fmt.Sprintf("%s/analytics/v1/attributiongroups/%s?customerContext=%s", c.HostURL, attributionGroupID, c.Auth.CustomerContext), strings.NewReader(string(rb)))
54+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/attributiongroups/%s", c.HostURL, attributionGroupID)
55+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
56+
req, err := http.NewRequest("PATCH", urlRequestContext, strings.NewReader(string(rb)))
5257
if err != nil {
5358
return nil, err
5459
}
@@ -65,7 +70,9 @@ func (c *ClientTest) UpdateAttributionGroup(attributionGroupID string, attributi
6570
}
6671

6772
func (c *ClientTest) DeleteAttributionGroup(attributionGroupID string) error {
68-
req, err := http.NewRequest("DELETE", fmt.Sprintf("%s/analytics/v1/attributiongroups/%s?customerContext=%s", c.HostURL, attributionGroupID, c.Auth.CustomerContext), nil)
73+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/attributiongroups/%s", c.HostURL, attributionGroupID)
74+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
75+
req, err := http.NewRequest("DELETE", urlRequestContext, nil)
6976
if err != nil {
7077
return err
7178
}
@@ -80,7 +87,9 @@ func (c *ClientTest) DeleteAttributionGroup(attributionGroupID string) error {
8087

8188
// GetAttributionGroup - Returns a specifc attribution
8289
func (c *ClientTest) GetAttributionGroup(attributionGroupID string) (*AttributionGroup, error) {
83-
req, err := http.NewRequest("GET", fmt.Sprintf("%s/analytics/v1/attributiongroups/%s?customerContext=%s", c.HostURL, attributionGroupID, c.Auth.CustomerContext), nil)
90+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/attributiongroups/%s", c.HostURL, attributionGroupID)
91+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
92+
req, err := http.NewRequest("GET", urlRequestContext, nil)
8493
if err != nil {
8594
return nil, err
8695
}

internal/provider/budget.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ func (c *ClientTest) CreateBudget(budget Budget) (*Budget, error) {
1414
if err != nil {
1515
return nil, err
1616
}
17-
18-
req, err := http.NewRequest("POST", fmt.Sprintf("%s/analytics/v1/budgets?customerContext=%s", c.HostURL, c.Auth.CustomerContext), strings.NewReader(string(rb)))
17+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/budgets", c.HostURL)
18+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
19+
req, err := http.NewRequest("POST", urlRequestContext, strings.NewReader(string(rb)))
1920
log.Println("URL----------------")
2021
log.Println(req.URL)
2122
if err != nil {
@@ -47,7 +48,9 @@ func (c *ClientTest) UpdateBudget(budgetID string, budget Budget) (*Budget, erro
4748
if err != nil {
4849
return nil, err
4950
}
50-
req, err := http.NewRequest("PATCH", fmt.Sprintf("%s/analytics/v1/budgets/%s?customerContext=%s", c.HostURL, budgetID, c.Auth.CustomerContext), strings.NewReader(string(rb)))
51+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/budgets/%s", c.HostURL, budgetID)
52+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
53+
req, err := http.NewRequest("PATCH",urlRequestContext, strings.NewReader(string(rb)))
5154
if err != nil {
5255
return nil, err
5356
}
@@ -72,7 +75,9 @@ func (c *ClientTest) UpdateBudget(budgetID string, budget Budget) (*Budget, erro
7275
}
7376

7477
func (c *ClientTest) DeleteBudget(budgetID string) error {
75-
req, err := http.NewRequest("DELETE", fmt.Sprintf("%s/analytics/v1/budgets/%s?customerContext=%s", c.HostURL, budgetID, c.Auth.CustomerContext), nil)
78+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/budgets/%s", c.HostURL, budgetID)
79+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
80+
req, err := http.NewRequest("DELETE", urlRequestContext, nil)
7681
if err != nil {
7782
return err
7883
}
@@ -87,7 +92,9 @@ func (c *ClientTest) DeleteBudget(budgetID string) error {
8792

8893
// GetBudget - Returns a specifc budget
8994
func (c *ClientTest) GetBudget(orderID string) (*Budget, error) {
90-
req, err := http.NewRequest("GET", fmt.Sprintf("%s/analytics/v1/budgets/%s?customerContext=%s", c.HostURL, orderID, c.Auth.CustomerContext), nil)
95+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/budgets/%s", c.HostURL, orderID)
96+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
97+
req, err := http.NewRequest("GET", urlRequestContext, nil)
9198
if err != nil {
9299
return nil, err
93100
}

internal/provider/budget_resource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ func (r *budgetResource) Delete(ctx context.Context, req resource.DeleteRequest,
579579
err := r.client.DeleteBudget(state.Id.ValueString())
580580
if err != nil {
581581
resp.Diagnostics.AddError(
582-
"Error Deleting DoiT Attribution",
582+
"Error Deleting DoiT Budget",
583583
"Could not delete budge, unexpected error: "+err.Error(),
584584
)
585585
return

internal/provider/client.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"io"
77
"log"
88
"net/http"
9+
"strings"
910
"time"
1011

1112
"github.com/cenkalti/backoff/v4"
@@ -144,3 +145,11 @@ func (c *ClientTest) doRequest(req *http.Request) ([]byte, error) {
144145

145146
return body, err
146147
}
148+
149+
func addContextToURL(context, url string) (urlContext string) {
150+
urlContext = url
151+
if len(strings.TrimSpace(context)) != 0 {
152+
urlContext = fmt.Sprintf("url?customerContext=%s", context)
153+
}
154+
return urlContext
155+
}

internal/provider/provider.go

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,6 @@ func (p *doitProvider) Configure(ctx context.Context, req provider.ConfigureRequ
123123
)
124124
}
125125

126-
if config.CustomerContext.IsUnknown() {
127-
resp.Diagnostics.AddAttributeError(
128-
path.Root("CustomerContext"),
129-
"Unknown DoiT API CustomerContext",
130-
"-The provider cannot create the DoiT API client as there is an unknown configuration value for the DoiT API customerContext. "+
131-
"Either target apply the source of the value first, set the value statically in the configuration, or use the DOIT_CUSTOMER_CONTEXT environment variable.",
132-
)
133-
}
134-
135126
if config.DoiTAPITOken.IsUnknown() {
136127
resp.Diagnostics.AddAttributeError(
137128
path.Root("doiTAPITOken"),
@@ -179,16 +170,6 @@ func (p *doitProvider) Configure(ctx context.Context, req provider.ConfigureRequ
179170
host = HostURL
180171
}
181172

182-
if customerContext == "" {
183-
resp.Diagnostics.AddAttributeError(
184-
path.Root("customerContext"),
185-
"Missing DoiT Customer Context",
186-
"The provider cannot create the DoiT API client as there is a missing or empty value for the DoiT API customer Context. "+
187-
"Set the CustomerContext value in the configuration or use the DOIT_CUSTOMER_CONTEXT environment variable. "+
188-
"If either is already set, ensure the value is not empty.",
189-
)
190-
}
191-
192173
if doiTAPIToken == "" {
193174
resp.Diagnostics.AddAttributeError(
194175
path.Root("doiTAPIToken"),

internal/provider/report.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ func (c *ClientTest) CreateReport(report Report) (*Report, error) {
1919
log.Print("Report body----------------")
2020
log.Println(string(rb))
2121

22-
req, err := http.NewRequest("POST", fmt.Sprintf("%s/analytics/v1/reports?customerContext=%s", c.HostURL, c.Auth.CustomerContext), strings.NewReader(string(rb)))
22+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/reports", c.HostURL)
23+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
24+
req, err := http.NewRequest("POST", urlRequestContext, strings.NewReader(string(rb)))
2325
log.Println("URL----------------")
2426
log.Println(req.URL)
2527
if err != nil {
@@ -53,7 +55,9 @@ func (c *ClientTest) UpdateReport(reportID string, report Report) (*Report, erro
5355
}
5456
log.Print("Report body----------------")
5557
log.Println(string(rb))
56-
req, err := http.NewRequest("PATCH", fmt.Sprintf("%s/analytics/v1/reports/%s?customerContext=%s", c.HostURL, reportID, c.Auth.CustomerContext), strings.NewReader(string(rb)))
58+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/reports/%s", c.HostURL, reportID)
59+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
60+
req, err := http.NewRequest("PATCH", urlRequestContext, strings.NewReader(string(rb)))
5761
if err != nil {
5862
return nil, err
5963
}
@@ -75,7 +79,9 @@ func (c *ClientTest) UpdateReport(reportID string, report Report) (*Report, erro
7579
}
7680

7781
func (c *ClientTest) DeleteReport(reportID string) error {
78-
req, err := http.NewRequest("DELETE", fmt.Sprintf("%s/analytics/v1/reports/%s?customerContext=%s", c.HostURL, reportID, c.Auth.CustomerContext), nil)
82+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/reports/%s", c.HostURL, reportID)
83+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
84+
req, err := http.NewRequest("DELETE", urlRequestContext, nil)
7985
if err != nil {
8086
return err
8187
}
@@ -91,7 +97,10 @@ func (c *ClientTest) DeleteReport(reportID string) error {
9197

9298
// GetReport - Returns a specifc report
9399
func (c *ClientTest) GetReport(orderID string) (*Report, error) {
94-
req, err := http.NewRequest("GET", fmt.Sprintf("%s/analytics/v1/reports/%s/config?customerContext=%s", c.HostURL, orderID, c.Auth.CustomerContext), nil)
100+
101+
urlRequestBase := fmt.Sprintf("%s/analytics/v1/reports/%s/config", c.HostURL, orderID)
102+
urlRequestContext := addContextToURL(c.Auth.CustomerContext, urlRequestBase)
103+
req, err := http.NewRequest("GET", urlRequestContext, nil)
95104
if err != nil {
96105
return nil, err
97106
}

0 commit comments

Comments
 (0)