Skip to content

Commit 4276250

Browse files
committed
Make hub_id part of the provider again
1 parent 0d0dd9d commit 4276250

8 files changed

Lines changed: 77 additions & 115 deletions

amplience/data_source_content_repository.go

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ package amplience
33
import (
44
"context"
55

6-
"github.com/davecgh/go-spew/spew"
76
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
8-
"github.com/labd/amplience-go-sdk/content"
97

108
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
119
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -31,10 +29,6 @@ func dataSourceContentRepository() *schema.Resource {
3129
Type: schema.TypeString,
3230
Computed: true,
3331
},
34-
"hub_id": {
35-
Type: schema.TypeString,
36-
Computed: true,
37-
},
3832
"name": {
3933
Type: schema.TypeString,
4034
Computed: true,
@@ -45,24 +39,16 @@ func dataSourceContentRepository() *schema.Resource {
4539

4640
func dataSourceContentRepositoryRead(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
4741
var diags diag.Diagnostics
48-
c := meta.(*content.Client)
42+
ci := getClient(meta)
4943

5044
repository_id := data.Get("id").(string)
51-
repository, err := c.ContentRepositoryGet(repository_id)
52-
if err != nil {
53-
return diag.FromErr(err)
54-
}
55-
56-
hub, err := repository.GetHub(c)
45+
repository, err := ci.client.ContentRepositoryGet(repository_id)
5746
if err != nil {
5847
return diag.FromErr(err)
5948
}
6049

61-
spew.Dump(repository)
62-
6350
data.SetId(repository.ID)
6451
data.Set("label", repository.Label)
65-
data.Set("hub_id", hub.ID)
6652
data.Set("name", repository.Name)
6753
return diags
6854
}

amplience/data_source_hub.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ package amplience
33
import (
44
"context"
55

6-
"github.com/labd/amplience-go-sdk/content"
7-
86
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
97
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
108
)
@@ -32,11 +30,11 @@ func dataSourceHub() *schema.Resource {
3230

3331
func dataSourceHubRead(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
3432
var diags diag.Diagnostics
35-
c := meta.(*content.Client)
33+
ci := getClient(meta)
3634

3735
hub_id := data.Get("id").(string)
3836

39-
hub, err := c.HubGet(hub_id)
37+
hub, err := ci.client.HubGet(hub_id)
4038
if err != nil {
4139
return diag.FromErr(err)
4240
}

amplience/provider.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/davecgh/go-spew/spew"
77
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
88
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
9+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
910
"github.com/labd/amplience-go-sdk/content"
1011
)
1112

@@ -41,6 +42,12 @@ func Provider() *schema.Provider {
4142
DefaultFunc: schema.EnvDefaultFunc("AMPLIENCE_AUTH_URL", "https://auth.adis.ws/oauth/token"),
4243
Sensitive: false,
4344
},
45+
"hub_id": {
46+
Description: "ID of the Hub to manage",
47+
Type: schema.TypeString,
48+
Required: true,
49+
ValidateDiagFunc: ValidateDiagWrapper(validation.StringDoesNotContainAny(" ")),
50+
},
4451
},
4552
ResourcesMap: map[string]*schema.Resource{
4653
"amplience_content_repository": resourceContentRepository(),
@@ -79,5 +86,10 @@ func providerConfigure(ctx context.Context, d *schema.ResourceData) (interface{}
7986
return nil, diag.FromErr(err)
8087
}
8188

82-
return client, diags
89+
client_info := &ClientInfo{
90+
client: client,
91+
hubID: d.Get("hub_id").(string),
92+
}
93+
94+
return client_info, diags
8395
}

amplience/resource_content_repository.go

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ func resourceContentRepository() *schema.Resource {
2727
StateContext: schema.ImportStatePassthroughContext,
2828
},
2929
Schema: map[string]*schema.Schema{
30-
"hub_id": {
31-
Type: schema.TypeString,
32-
Required: true,
33-
ForceNew: true,
34-
ValidateDiagFunc: ValidateDiagWrapper(validation.StringDoesNotContainAny(" ")),
35-
},
3630
"name": {
3731
Type: schema.TypeString,
3832
Required: true,
@@ -48,15 +42,14 @@ func resourceContentRepository() *schema.Resource {
4842

4943
func resourceContentRepositoryCreate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
5044
var diags diag.Diagnostics
51-
c := meta.(*content.Client)
45+
ci := getClient(meta)
5246

53-
hub_id := data.Get("hub_id").(string)
5447
input := content.ContentRepositoryInput{
5548
Name: data.Get("name").(string),
5649
Label: data.Get("label").(string),
5750
}
5851

59-
repository, err := c.ContentRepositoryCreate(hub_id, input)
52+
repository, err := ci.client.ContentRepositoryCreate(ci.hubID, input)
6053

6154
if err != nil {
6255
return diag.FromErr(err)
@@ -65,40 +58,33 @@ func resourceContentRepositoryCreate(ctx context.Context, data *schema.ResourceD
6558
data.SetId(repository.ID)
6659
data.Set("name", repository.Name)
6760
data.Set("label", repository.Label)
68-
data.Set("hub_id", hub_id)
6961
return diags
7062
}
7163

7264
func resourceContentRepositoryRead(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
7365
var diags diag.Diagnostics
74-
c := meta.(*content.Client)
66+
ci := getClient(meta)
7567

7668
repository_id := data.Id()
7769

78-
repository, err := c.ContentRepositoryGet(repository_id)
79-
if err != nil {
80-
return diag.FromErr(err)
81-
}
82-
83-
hub, err := repository.GetHub(c)
70+
repository, err := ci.client.ContentRepositoryGet(repository_id)
8471
if err != nil {
8572
return diag.FromErr(err)
8673
}
8774

8875
data.Set("name", repository.Name)
8976
data.Set("label", repository.Label)
90-
data.Set("hub_id", hub.ID)
9177
return diags
9278
}
9379

9480
func resourceContentRepositoryUpdate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
9581
var diags diag.Diagnostics
96-
c := meta.(*content.Client)
82+
ci := getClient(meta)
9783

9884
repository_id := data.Id()
9985

10086
if data.HasChange("label") || data.HasChange("name") {
101-
current, err := c.ContentRepositoryGet(repository_id)
87+
current, err := ci.client.ContentRepositoryGet(repository_id)
10288
if err != nil {
10389
return diag.FromErr(err)
10490
}
@@ -108,7 +94,7 @@ func resourceContentRepositoryUpdate(ctx context.Context, data *schema.ResourceD
10894
Label: data.Get("label").(string),
10995
}
11096

111-
repository, err := c.ContentRepositoryUpdate(current, input)
97+
repository, err := ci.client.ContentRepositoryUpdate(current, input)
11298
if err != nil {
11399
return diag.FromErr(err)
114100
}

amplience/resource_content_type.go

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,6 @@ func resourceContentType() *schema.Resource {
2525
StateContext: schema.ImportStatePassthroughContext,
2626
},
2727
Schema: map[string]*schema.Schema{
28-
"hub_id": {
29-
Description: "ID of the Hub the Content Type should be registered to",
30-
Type: schema.TypeString,
31-
Required: true,
32-
ForceNew: true,
33-
ValidateDiagFunc: ValidateDiagWrapper(validation.StringDoesNotContainAny(" ")),
34-
},
3528
"content_type_uri": {
3629
Type: schema.TypeString,
3730
Required: true,
@@ -89,54 +82,51 @@ func resourceContentType() *schema.Resource {
8982

9083
func resourceContentTypeCreate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
9184
var diags diag.Diagnostics
92-
c := meta.(*content.Client)
85+
ci := getClient(meta)
9386

94-
hub_id := data.Get("hub_id").(string)
9587
input := resourceContentTypeCreateInput(data)
96-
content_type, err := c.ContentTypeCreate(hub_id, input)
88+
content_type, err := ci.client.ContentTypeCreate(ci.hubID, input)
9789

9890
if err != nil {
9991
return diag.FromErr(err)
10092
}
10193

102-
resourceContentTypeSaveState(data, hub_id, content_type)
94+
resourceContentTypeSaveState(data, content_type)
10395
return diags
10496
}
10597

10698
func resourceContentTypeRead(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
10799
var diags diag.Diagnostics
108-
c := meta.(*content.Client)
100+
ci := getClient(meta)
109101

110102
content_type_id := data.Id()
111-
hub_id := data.Get("hub_id").(string)
112-
content_type, err := c.ContentTypeGet(content_type_id)
103+
content_type, err := ci.client.ContentTypeGet(content_type_id)
113104
if err != nil {
114105
return diag.FromErr(err)
115106
}
116107

117-
resourceContentTypeSaveState(data, hub_id, content_type)
108+
resourceContentTypeSaveState(data, content_type)
118109
return diags
119110
}
120111

121112
func resourceContentTypeUpdate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
122113
var diags diag.Diagnostics
123-
c := meta.(*content.Client)
114+
ci := getClient(meta)
124115

125116
content_type_id := data.Id()
126-
hub_id := data.Get("hub_id").(string)
127117

128-
current, err := c.ContentTypeGet(content_type_id)
118+
current, err := ci.client.ContentTypeGet(content_type_id)
129119
if err != nil {
130120
return diag.FromErr(err)
131121
}
132122

133123
input := resourceContentTypeCreateInput(data)
134-
content_type, err := c.ContentTypeUpdate(current, input)
124+
content_type, err := ci.client.ContentTypeUpdate(current, input)
135125
if err != nil {
136126
return diag.FromErr(err)
137127
}
138128

139-
resourceContentTypeSaveState(data, hub_id, content_type)
129+
resourceContentTypeSaveState(data, content_type)
140130
return diags
141131
}
142132

@@ -156,12 +146,11 @@ func resourceContentTypeDelete(ctx context.Context, data *schema.ResourceData, m
156146
return diags
157147
}
158148

159-
func resourceContentTypeSaveState(data *schema.ResourceData, hub_id string, resource content.ContentType) {
149+
func resourceContentTypeSaveState(data *schema.ResourceData, resource content.ContentType) {
160150
data.SetId(resource.ID)
161151
data.Set("content_type_uri", resource.ContentTypeURI)
162152
data.Set("status", resource.Status)
163153
data.Set("label", resource.Settings.Label)
164-
data.Set("hub_id", hub_id)
165154
}
166155

167156
func resourceContentTypeCreateInput(data *schema.ResourceData) content.ContentTypeInput {

amplience/resource_content_type_schema.go

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@ func resourceContentTypeSchema() *schema.Resource {
2424
StateContext: schema.ImportStatePassthroughContext,
2525
},
2626
Schema: map[string]*schema.Schema{
27-
"hub_id": {
28-
Type: schema.TypeString,
29-
Required: true,
30-
ForceNew: true,
31-
ValidateDiagFunc: ValidateDiagWrapper(validation.StringDoesNotContainAny(" ")),
32-
},
3327
"body": {
3428
Type: schema.TypeString,
3529
Required: true,
@@ -54,49 +48,45 @@ func resourceContentTypeSchema() *schema.Resource {
5448

5549
func resourceContentTypeSchemaCreate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
5650
var diags diag.Diagnostics
57-
c := meta.(*content.Client)
51+
ci := getClient(meta)
5852

59-
hub_id := data.Get("hub_id").(string)
6053
input := content.ContentTypeSchemaInput{
6154
SchemaID: data.Get("schema_id").(string),
6255
Body: data.Get("body").(string),
6356
ValidationLevel: data.Get("validation_level").(string),
6457
}
6558

66-
schema, err := c.ContentTypeSchemaCreate(hub_id, input)
59+
schema, err := ci.client.ContentTypeSchemaCreate(ci.hubID, input)
6760

6861
if err != nil {
6962
return diag.FromErr(err)
7063
}
7164

72-
resourceContentTypeSchemaSaveState(data, hub_id, schema)
65+
resourceContentTypeSchemaSaveState(data, schema)
7366
return diags
7467
}
7568

7669
func resourceContentTypeSchemaRead(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
7770
var diags diag.Diagnostics
78-
c := meta.(*content.Client)
71+
ci := getClient(meta)
7972

8073
schema_id := data.Id()
81-
hub_id := data.Get("hub_id").(string)
82-
83-
schema, err := c.ContentTypeSchemaGet(schema_id)
74+
schema, err := ci.client.ContentTypeSchemaGet(schema_id)
8475
if err != nil {
8576
return diag.FromErr(err)
8677
}
8778

88-
resourceContentTypeSchemaSaveState(data, hub_id, schema)
79+
resourceContentTypeSchemaSaveState(data, schema)
8980
return diags
9081
}
9182

9283
func resourceContentTypeSchemaUpdate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
9384
var diags diag.Diagnostics
94-
c := meta.(*content.Client)
85+
ci := getClient(meta)
9586

9687
schema_id := data.Id()
97-
hub_id := data.Get("hub_id").(string)
9888
if data.HasChange("body") || data.HasChange("validation_level") {
99-
current, err := c.ContentTypeSchemaGet(schema_id)
89+
current, err := ci.client.ContentTypeSchemaGet(schema_id)
10090
if err != nil {
10191
return diag.FromErr(err)
10292
}
@@ -107,26 +97,26 @@ func resourceContentTypeSchemaUpdate(ctx context.Context, data *schema.ResourceD
10797
ValidationLevel: data.Get("validation_level").(string),
10898
}
10999

110-
schema, err := c.ContentTypeSchemaUpdate(current, input)
100+
schema, err := ci.client.ContentTypeSchemaUpdate(current, input)
111101
if err != nil {
112102
return diag.FromErr(err)
113103
}
114104

115-
resourceContentTypeSchemaSaveState(data, hub_id, schema)
105+
resourceContentTypeSchemaSaveState(data, schema)
116106
}
117107

118108
return diags
119109
}
120110

121111
// The amplience API does not have a repository delete functionality. Setting ID to "" and returning nil
122-
func resourceContentTypeSchemaDelete(ctx context.Context, data *schema.ResourceData, m interface{}) diag.Diagnostics {
112+
func resourceContentTypeSchemaDelete(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
123113
var diags diag.Diagnostics
124-
c := m.(*content.Client)
114+
ci := getClient(meta)
125115

126116
id := data.Id()
127117
version := data.Get("version").(int)
128118

129-
_, err := c.ContentTypeSchemaArchive(id, version)
119+
_, err := ci.client.ContentTypeSchemaArchive(id, version)
130120
if err != nil {
131121
return diag.FromErr(err)
132122
}
@@ -135,9 +125,8 @@ func resourceContentTypeSchemaDelete(ctx context.Context, data *schema.ResourceD
135125
return diags
136126
}
137127

138-
func resourceContentTypeSchemaSaveState(data *schema.ResourceData, hub_id string, resource content.ContentTypeSchema) {
128+
func resourceContentTypeSchemaSaveState(data *schema.ResourceData, resource content.ContentTypeSchema) {
139129
data.SetId(resource.ID)
140-
data.Set("hub_id", hub_id)
141130
data.Set("schema_id", resource.SchemaID)
142131
data.Set("body", resource.Body)
143132
data.Set("validation_level", resource.ValidationLevel)

0 commit comments

Comments
 (0)