/
source_gnews_resource_sdk.go
181 lines (176 loc) · 6.17 KB
/
source_gnews_resource_sdk.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
package provider
import (
"github.com/airbytehq/terraform-provider-airbyte/internal/sdk/pkg/models/shared"
"github.com/hashicorp/terraform-plugin-framework/types"
)
func (r *SourceGnewsResourceModel) ToSharedSourceGnewsCreateRequest() *shared.SourceGnewsCreateRequest {
apiKey := r.Configuration.APIKey.ValueString()
country := new(shared.SourceGnewsCountry)
if !r.Configuration.Country.IsUnknown() && !r.Configuration.Country.IsNull() {
*country = shared.SourceGnewsCountry(r.Configuration.Country.ValueString())
} else {
country = nil
}
endDate := new(string)
if !r.Configuration.EndDate.IsUnknown() && !r.Configuration.EndDate.IsNull() {
*endDate = r.Configuration.EndDate.ValueString()
} else {
endDate = nil
}
var in []shared.SourceGnewsIn = nil
for _, inItem := range r.Configuration.In {
in = append(in, shared.SourceGnewsIn(inItem.ValueString()))
}
language := new(shared.SourceGnewsLanguage)
if !r.Configuration.Language.IsUnknown() && !r.Configuration.Language.IsNull() {
*language = shared.SourceGnewsLanguage(r.Configuration.Language.ValueString())
} else {
language = nil
}
var nullable []shared.SourceGnewsNullable = nil
for _, nullableItem := range r.Configuration.Nullable {
nullable = append(nullable, shared.SourceGnewsNullable(nullableItem.ValueString()))
}
query := r.Configuration.Query.ValueString()
sortby := new(shared.SourceGnewsSortBy)
if !r.Configuration.Sortby.IsUnknown() && !r.Configuration.Sortby.IsNull() {
*sortby = shared.SourceGnewsSortBy(r.Configuration.Sortby.ValueString())
} else {
sortby = nil
}
startDate := new(string)
if !r.Configuration.StartDate.IsUnknown() && !r.Configuration.StartDate.IsNull() {
*startDate = r.Configuration.StartDate.ValueString()
} else {
startDate = nil
}
topHeadlinesQuery := new(string)
if !r.Configuration.TopHeadlinesQuery.IsUnknown() && !r.Configuration.TopHeadlinesQuery.IsNull() {
*topHeadlinesQuery = r.Configuration.TopHeadlinesQuery.ValueString()
} else {
topHeadlinesQuery = nil
}
topHeadlinesTopic := new(shared.SourceGnewsTopHeadlinesTopic)
if !r.Configuration.TopHeadlinesTopic.IsUnknown() && !r.Configuration.TopHeadlinesTopic.IsNull() {
*topHeadlinesTopic = shared.SourceGnewsTopHeadlinesTopic(r.Configuration.TopHeadlinesTopic.ValueString())
} else {
topHeadlinesTopic = nil
}
configuration := shared.SourceGnews{
APIKey: apiKey,
Country: country,
EndDate: endDate,
In: in,
Language: language,
Nullable: nullable,
Query: query,
Sortby: sortby,
StartDate: startDate,
TopHeadlinesQuery: topHeadlinesQuery,
TopHeadlinesTopic: topHeadlinesTopic,
}
definitionID := new(string)
if !r.DefinitionID.IsUnknown() && !r.DefinitionID.IsNull() {
*definitionID = r.DefinitionID.ValueString()
} else {
definitionID = nil
}
name := r.Name.ValueString()
secretID := new(string)
if !r.SecretID.IsUnknown() && !r.SecretID.IsNull() {
*secretID = r.SecretID.ValueString()
} else {
secretID = nil
}
workspaceID := r.WorkspaceID.ValueString()
out := shared.SourceGnewsCreateRequest{
Configuration: configuration,
DefinitionID: definitionID,
Name: name,
SecretID: secretID,
WorkspaceID: workspaceID,
}
return &out
}
func (r *SourceGnewsResourceModel) RefreshFromSharedSourceResponse(resp *shared.SourceResponse) {
r.Name = types.StringValue(resp.Name)
r.SourceID = types.StringValue(resp.SourceID)
r.SourceType = types.StringValue(resp.SourceType)
r.WorkspaceID = types.StringValue(resp.WorkspaceID)
}
func (r *SourceGnewsResourceModel) ToSharedSourceGnewsPutRequest() *shared.SourceGnewsPutRequest {
apiKey := r.Configuration.APIKey.ValueString()
country := new(shared.Country)
if !r.Configuration.Country.IsUnknown() && !r.Configuration.Country.IsNull() {
*country = shared.Country(r.Configuration.Country.ValueString())
} else {
country = nil
}
endDate := new(string)
if !r.Configuration.EndDate.IsUnknown() && !r.Configuration.EndDate.IsNull() {
*endDate = r.Configuration.EndDate.ValueString()
} else {
endDate = nil
}
var in []shared.In = nil
for _, inItem := range r.Configuration.In {
in = append(in, shared.In(inItem.ValueString()))
}
language := new(shared.Language)
if !r.Configuration.Language.IsUnknown() && !r.Configuration.Language.IsNull() {
*language = shared.Language(r.Configuration.Language.ValueString())
} else {
language = nil
}
var nullable []shared.Nullable = nil
for _, nullableItem := range r.Configuration.Nullable {
nullable = append(nullable, shared.Nullable(nullableItem.ValueString()))
}
query := r.Configuration.Query.ValueString()
sortby := new(shared.SortBy)
if !r.Configuration.Sortby.IsUnknown() && !r.Configuration.Sortby.IsNull() {
*sortby = shared.SortBy(r.Configuration.Sortby.ValueString())
} else {
sortby = nil
}
startDate := new(string)
if !r.Configuration.StartDate.IsUnknown() && !r.Configuration.StartDate.IsNull() {
*startDate = r.Configuration.StartDate.ValueString()
} else {
startDate = nil
}
topHeadlinesQuery := new(string)
if !r.Configuration.TopHeadlinesQuery.IsUnknown() && !r.Configuration.TopHeadlinesQuery.IsNull() {
*topHeadlinesQuery = r.Configuration.TopHeadlinesQuery.ValueString()
} else {
topHeadlinesQuery = nil
}
topHeadlinesTopic := new(shared.TopHeadlinesTopic)
if !r.Configuration.TopHeadlinesTopic.IsUnknown() && !r.Configuration.TopHeadlinesTopic.IsNull() {
*topHeadlinesTopic = shared.TopHeadlinesTopic(r.Configuration.TopHeadlinesTopic.ValueString())
} else {
topHeadlinesTopic = nil
}
configuration := shared.SourceGnewsUpdate{
APIKey: apiKey,
Country: country,
EndDate: endDate,
In: in,
Language: language,
Nullable: nullable,
Query: query,
Sortby: sortby,
StartDate: startDate,
TopHeadlinesQuery: topHeadlinesQuery,
TopHeadlinesTopic: topHeadlinesTopic,
}
name := r.Name.ValueString()
workspaceID := r.WorkspaceID.ValueString()
out := shared.SourceGnewsPutRequest{
Configuration: configuration,
Name: name,
WorkspaceID: workspaceID,
}
return &out
}