Skip to content

Commit 1ea5cbe

Browse files
committed
reverting field renames and renaming newer fields to match
1 parent 81948ec commit 1ea5cbe

3 files changed

Lines changed: 105 additions & 206 deletions

File tree

internal/provider/curl_ephemeral_resource.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,7 +1087,7 @@ func (e *EphemeralCurlResource) Renew(ctx context.Context, req ephemeral.RenewRe
10871087
}
10881088
}
10891089

1090-
tflog.Debug(ctx, fmt.Sprintf("Parameters: %v\n", privateData.RenewRequestParameters.Elements()))
1090+
tflog.Debug(ctx, fmt.Sprintf("RequestParameters: %v\n", privateData.RenewRequestParameters.Elements()))
10911091

10921092
// Add query parameters
10931093
if !privateData.RenewRequestParameters.IsNull() && !privateData.RenewRequestParameters.IsUnknown() {
@@ -1447,7 +1447,7 @@ func (e *EphemeralCurlResource) Close(ctx context.Context, req ephemeral.CloseRe
14471447
tflog.Debug(ctx, "No CloseHeaders provided, proceeding without headers")
14481448
}
14491449

1450-
// Add Query Parameters
1450+
// Add Query RequestParameters
14511451
if !privateData.CloseRequestParameters.IsNull() && !privateData.CloseRequestParameters.IsUnknown() {
14521452
params := request.URL.Query()
14531453
for k, v := range privateData.CloseRequestParameters.Elements() {

internal/provider/curl_resource.go

Lines changed: 69 additions & 170 deletions
Original file line numberDiff line numberDiff line change
@@ -44,55 +44,55 @@ type CurlResource struct {
4444

4545
// CurlResourceModel describes the resource data model.
4646
type CurlResourceModel struct {
47-
Id types.String `tfsdk:"id"`
48-
Name types.String `tfsdk:"name"`
49-
Url types.String `tfsdk:"url"`
50-
Method types.String `tfsdk:"method"`
51-
RequestBody types.String `tfsdk:"request_body"`
52-
Headers types.Map `tfsdk:"headers"`
53-
Parameters types.Map `tfsdk:"parameters"`
54-
RequestUrlString types.String `tfsdk:"request_url_string"`
55-
CertFile types.String `tfsdk:"cert_file"`
56-
KeyFile types.String `tfsdk:"key_file"`
57-
CaCertFile types.String `tfsdk:"ca_cert_file"`
58-
CaCertDirectory types.String `tfsdk:"ca_cert_directory"`
59-
SkipTlsVerify types.Bool `tfsdk:"skip_tls_verify"`
60-
RetryInterval types.Int64 `tfsdk:"retry_interval"`
61-
MaxRetry types.Int64 `tfsdk:"max_retry"`
62-
Timeout types.Int64 `tfsdk:"timeout"`
63-
Response types.String `tfsdk:"response"`
64-
ResponseCodes types.List `tfsdk:"response_codes"`
65-
StatusCode types.String `tfsdk:"status_code"`
66-
SkipDestroy types.Bool `tfsdk:"skip_destroy"`
67-
DestroyUrl types.String `tfsdk:"destroy_url"`
68-
DestroyMethod types.String `tfsdk:"destroy_method"`
69-
DestroyRequestBody types.String `tfsdk:"destroy_request_body"`
70-
DestroyHeaders types.Map `tfsdk:"destroy_headers"`
71-
DestroyParameters types.Map `tfsdk:"destroy_parameters"`
72-
DestroyRequestUrlString types.String `tfsdk:"destroy_request_url_string"`
73-
DestroyCertFile types.String `tfsdk:"destroy_cert_file"`
74-
DestroyKeyFile types.String `tfsdk:"destroy_key_file"`
75-
DestroyCaCertFile types.String `tfsdk:"destroy_ca_cert_file"`
76-
DestroyCaCertDirectory types.String `tfsdk:"destroy_ca_cert_directory"`
77-
DestroySkipTlsVerify types.Bool `tfsdk:"destroy_skip_tls_verify"`
78-
DestroyRetryInterval types.Int64 `tfsdk:"destroy_retry_interval"`
79-
DestroyMaxRetry types.Int64 `tfsdk:"destroy_max_retry"`
80-
DestroyTimeout types.Int64 `tfsdk:"destroy_timeout"`
81-
DestroyResponseCodes types.List `tfsdk:"destroy_response_codes"`
82-
SkipRead types.Bool `tfsdk:"skip_read"`
83-
ReadUrl types.String `tfsdk:"read_url"`
84-
ReadMethod types.String `tfsdk:"read_method"`
85-
ReadHeaders types.Map `tfsdk:"read_headers"`
86-
ReadParameters types.Map `tfsdk:"read_parameters"`
87-
ReadRequestBody types.String `tfsdk:"read_request_body"`
88-
ReadCertFile types.String `tfsdk:"read_cert_file"`
89-
ReadKeyFile types.String `tfsdk:"read_key_file"`
90-
ReadCaCertFile types.String `tfsdk:"read_ca_cert_file"`
91-
ReadCaCertDirectory types.String `tfsdk:"read_ca_cert_directory"`
92-
ReadSkipTlsVerify types.Bool `tfsdk:"read_skip_tls_verify"`
93-
ReadResponseCodes types.List `tfsdk:"read_response_codes"`
94-
DriftMarker types.String `tfsdk:"drift_marker"`
95-
IgnoreResponseFields types.List `tfsdk:"ignore_response_fields"`
47+
Id types.String `tfsdk:"id"`
48+
Name types.String `tfsdk:"name"`
49+
Url types.String `tfsdk:"url"`
50+
Method types.String `tfsdk:"method"`
51+
RequestBody types.String `tfsdk:"request_body"`
52+
Headers types.Map `tfsdk:"headers"`
53+
RequestParameters types.Map `tfsdk:"request_parameters"`
54+
RequestUrlString types.String `tfsdk:"request_url_string"`
55+
CertFile types.String `tfsdk:"cert_file"`
56+
KeyFile types.String `tfsdk:"key_file"`
57+
CaCertFile types.String `tfsdk:"ca_cert_file"`
58+
CaCertDirectory types.String `tfsdk:"ca_cert_directory"`
59+
SkipTlsVerify types.Bool `tfsdk:"skip_tls_verify"`
60+
RetryInterval types.Int64 `tfsdk:"retry_interval"`
61+
MaxRetry types.Int64 `tfsdk:"max_retry"`
62+
Timeout types.Int64 `tfsdk:"timeout"`
63+
Response types.String `tfsdk:"response"`
64+
ResponseCodes types.List `tfsdk:"response_codes"`
65+
StatusCode types.String `tfsdk:"status_code"`
66+
SkipDestroy types.Bool `tfsdk:"skip_destroy"`
67+
DestroyUrl types.String `tfsdk:"destroy_url"`
68+
DestroyMethod types.String `tfsdk:"destroy_method"`
69+
DestroyRequestBody types.String `tfsdk:"destroy_request_body"`
70+
DestroyHeaders types.Map `tfsdk:"destroy_headers"`
71+
DestroyRequestParameters types.Map `tfsdk:"destroy_request_parameters"`
72+
DestroyRequestUrlString types.String `tfsdk:"destroy_request_url_string"`
73+
DestroyCertFile types.String `tfsdk:"destroy_cert_file"`
74+
DestroyKeyFile types.String `tfsdk:"destroy_key_file"`
75+
DestroyCaCertFile types.String `tfsdk:"destroy_ca_cert_file"`
76+
DestroyCaCertDirectory types.String `tfsdk:"destroy_ca_cert_directory"`
77+
DestroySkipTlsVerify types.Bool `tfsdk:"destroy_skip_tls_verify"`
78+
DestroyRetryInterval types.Int64 `tfsdk:"destroy_retry_interval"`
79+
DestroyMaxRetry types.Int64 `tfsdk:"destroy_max_retry"`
80+
DestroyTimeout types.Int64 `tfsdk:"destroy_timeout"`
81+
DestroyResponseCodes types.List `tfsdk:"destroy_response_codes"`
82+
SkipRead types.Bool `tfsdk:"skip_read"`
83+
ReadUrl types.String `tfsdk:"read_url"`
84+
ReadMethod types.String `tfsdk:"read_method"`
85+
ReadHeaders types.Map `tfsdk:"read_headers"`
86+
ReadRequestParameters types.Map `tfsdk:"read_request_parameters"`
87+
ReadRequestBody types.String `tfsdk:"read_request_body"`
88+
ReadCertFile types.String `tfsdk:"read_cert_file"`
89+
ReadKeyFile types.String `tfsdk:"read_key_file"`
90+
ReadCaCertFile types.String `tfsdk:"read_ca_cert_file"`
91+
ReadCaCertDirectory types.String `tfsdk:"read_ca_cert_directory"`
92+
ReadSkipTlsVerify types.Bool `tfsdk:"read_skip_tls_verify"`
93+
ReadResponseCodes types.List `tfsdk:"read_response_codes"`
94+
DriftMarker types.String `tfsdk:"drift_marker"`
95+
IgnoreResponseFields types.List `tfsdk:"ignore_response_fields"`
9696
}
9797

9898
func (r *CurlResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
@@ -145,7 +145,7 @@ func (r *CurlResource) Schema(ctx context.Context, req resource.SchemaRequest, r
145145
mapplanmodifier.RequiresReplace(),
146146
},
147147
},
148-
"parameters": schema.MapAttribute{
148+
"request_parameters": schema.MapAttribute{
149149
ElementType: types.StringType,
150150
Optional: true,
151151
MarkdownDescription: "Map of parameters to attach to the API call",
@@ -258,7 +258,7 @@ func (r *CurlResource) Schema(ctx context.Context, req resource.SchemaRequest, r
258258
mapplanmodifier.RequiresReplace(),
259259
},
260260
},
261-
"destroy_parameters": schema.MapAttribute{
261+
"destroy_request_parameters": schema.MapAttribute{
262262
ElementType: types.StringType,
263263
Optional: true,
264264
MarkdownDescription: "Map of parameters to attach to the destroy API call",
@@ -353,7 +353,7 @@ func (r *CurlResource) Schema(ctx context.Context, req resource.SchemaRequest, r
353353
MarkdownDescription: "Optional request body to use for the read request.",
354354
},
355355

356-
"read_parameters": schema.MapAttribute{
356+
"read_request_parameters": schema.MapAttribute{
357357
Optional: true,
358358
ElementType: types.StringType,
359359
MarkdownDescription: "Optional request parameters to add to the URL",
@@ -521,9 +521,9 @@ func (r *CurlResource) Create(ctx context.Context, req resource.CreateRequest, r
521521
}
522522

523523
// Add query parameters
524-
if !data.Parameters.IsNull() && !data.Parameters.IsUnknown() {
524+
if !data.RequestParameters.IsNull() && !data.RequestParameters.IsUnknown() {
525525
params := request.URL.Query()
526-
for k, v := range data.Parameters.Elements() {
526+
for k, v := range data.RequestParameters.Elements() {
527527
if strVal, ok := v.(types.String); ok {
528528
params.Add(k, strVal.ValueString())
529529
}
@@ -672,10 +672,10 @@ func (r *CurlResource) Read(ctx context.Context, req resource.ReadRequest, resp
672672
}
673673
}
674674

675-
// ======= Add Query Parameters =======
676-
if !data.ReadParameters.IsNull() && !data.ReadParameters.IsUnknown() {
675+
// ======= Add Query RequestParameters =======
676+
if !data.ReadRequestParameters.IsNull() && !data.ReadRequestParameters.IsUnknown() {
677677
params := request.URL.Query()
678-
for k, v := range data.ReadParameters.Elements() {
678+
for k, v := range data.ReadRequestParameters.Elements() {
679679
if strVal, ok := v.(types.String); ok {
680680
params.Add(k, strVal.ValueString())
681681
}
@@ -828,10 +828,10 @@ func (r *CurlResource) Delete(ctx context.Context, req resource.DeleteRequest, r
828828
}
829829
}
830830

831-
// Add Query Parameters
832-
if !data.DestroyParameters.IsNull() && !data.DestroyParameters.IsUnknown() {
831+
// Add Query RequestParameters
832+
if !data.DestroyRequestParameters.IsNull() && !data.DestroyRequestParameters.IsUnknown() {
833833
params := request.URL.Query()
834-
for k, v := range data.DestroyParameters.Elements() {
834+
for k, v := range data.DestroyRequestParameters.Elements() {
835835
if strVal, ok := v.(types.String); ok {
836836
params.Add(k, strVal.ValueString())
837837
}
@@ -942,126 +942,25 @@ func (r CurlResource) ConfigValidators(ctx context.Context) []resource.ConfigVal
942942
}
943943
}
944944

945-
//func (r *CurlResource) UpgradeState(ctx context.Context) map[int64]resource.StateUpgrader {
946-
// return map[int64]resource.StateUpgrader{
947-
// resourceSchemaV0: {
948-
// StateUpgrader: func(ctx context.Context, req resource.UpgradeStateRequest, resp *resource.UpgradeStateResponse) {
949-
// tflog.Debug(ctx, "Beginning state upgrade from v0 to v1")
950-
//
951-
// var oldState CurlResourceModel
952-
// diags := req.State.Get(ctx, &oldState)
953-
// resp.Diagnostics.Append(diags...)
954-
// if resp.Diagnostics.HasError() {
955-
// return
956-
// }
957-
//
958-
// // Set skip_read to true and clear read-related fields
959-
// oldState.SkipRead = types.BoolValue(true)
960-
// oldState.ReadUrl = types.StringNull()
961-
// oldState.ReadMethod = types.StringNull()
962-
// oldState.ReadHeaders = types.MapNull(types.StringType)
963-
// oldState.ReadParameters = types.MapNull(types.StringType)
964-
// oldState.ReadRequestBody = types.StringNull()
965-
// oldState.ReadCertFile = types.StringNull()
966-
// oldState.ReadKeyFile = types.StringNull()
967-
// oldState.ReadCaCertFile = types.StringNull()
968-
// oldState.ReadCaCertDirectory = types.StringNull()
969-
// oldState.ReadSkipTlsVerify = types.BoolNull()
970-
// oldState.ReadResponseCodes = types.ListNull(types.StringType)
971-
//
972-
// // Set the upgraded state
973-
// diags = resp.State.Set(ctx, oldState)
974-
// resp.Diagnostics.Append(diags...)
975-
// tflog.Debug(ctx, "Completed state upgrade from v0 to v1")
976-
// },
977-
// },
978-
// }
979-
//}
980-
981945
func (r *CurlResource) UpgradeState(ctx context.Context) map[int64]resource.StateUpgrader {
982946
return map[int64]resource.StateUpgrader{
983947
0: {
984948
StateUpgrader: func(ctx context.Context, req resource.UpgradeStateRequest, resp *resource.UpgradeStateResponse) {
985-
// Check if the state is nil
986-
if req.State == nil {
987-
resp.Diagnostics.AddError(
988-
"Unable to Upgrade Resource State",
989-
"State is nil, cannot perform upgrade.",
990-
)
991-
return
992-
}
993-
994-
var oldState CurlResourceModel
995-
diags := req.State.Get(ctx, &oldState)
949+
var state CurlResourceModel
950+
diags := req.State.Get(ctx, &state)
996951
if diags.HasError() {
997952
resp.Diagnostics.Append(diags...)
998953
return
999954
}
1000955

1001-
// Create new state with the same schema
1002-
newState := CurlResourceModel{
1003-
// Preserve required and important fields
1004-
Id: oldState.Id,
1005-
Name: oldState.Name,
1006-
Url: oldState.Url,
1007-
Method: oldState.Method,
1008-
1009-
// Initialize maps with non-nil values or empty maps
1010-
Headers: oldState.Headers,
1011-
Parameters: oldState.Parameters,
1012-
DestroyHeaders: oldState.DestroyHeaders,
1013-
1014-
// Initialize lists with non-nil values or empty lists
1015-
ResponseCodes: oldState.ResponseCodes,
1016-
DestroyResponseCodes: oldState.DestroyResponseCodes,
1017-
IgnoreResponseFields: oldState.IgnoreResponseFields,
1018-
1019-
// Preserve or set to null other fields
1020-
RequestBody: oldState.RequestBody,
1021-
CertFile: types.StringNull(),
1022-
KeyFile: types.StringNull(),
1023-
CaCertFile: types.StringNull(),
1024-
CaCertDirectory: types.StringNull(),
1025-
SkipTlsVerify: types.BoolNull(),
1026-
Timeout: types.Int64Null(),
1027-
MaxRetry: types.Int64Null(),
1028-
RetryInterval: types.Int64Null(),
1029-
StatusCode: types.StringNull(),
1030-
Response: types.StringNull(),
1031-
RequestUrlString: types.StringNull(),
1032-
DriftMarker: types.StringNull(),
1033-
1034-
// Clear read-related fields
1035-
ReadUrl: types.StringNull(),
1036-
ReadMethod: types.StringNull(),
1037-
ReadHeaders: types.MapValueMust(types.StringType, map[string]attr.Value{}),
1038-
ReadParameters: types.MapValueMust(types.StringType, map[string]attr.Value{}),
1039-
ReadRequestBody: types.StringNull(),
1040-
ReadResponseCodes: types.ListValueMust(types.StringType, []attr.Value{}),
1041-
ReadCertFile: types.StringNull(),
1042-
ReadKeyFile: types.StringNull(),
1043-
ReadCaCertFile: types.StringNull(),
1044-
ReadCaCertDirectory: types.StringNull(),
1045-
ReadSkipTlsVerify: types.BoolNull(),
1046-
1047-
// Initialize destroy-related fields
1048-
DestroyUrl: oldState.DestroyUrl,
1049-
DestroyMethod: oldState.DestroyMethod,
1050-
DestroyParameters: oldState.DestroyParameters,
1051-
DestroyRequestBody: oldState.DestroyRequestBody,
1052-
DestroyTimeout: types.Int64Null(),
1053-
DestroyMaxRetry: types.Int64Null(),
1054-
DestroyRetryInterval: types.Int64Null(),
1055-
DestroyRequestUrlString: types.StringNull(),
1056-
DestroyCertFile: types.StringNull(),
1057-
DestroyKeyFile: types.StringNull(),
1058-
DestroyCaCertFile: types.StringNull(),
1059-
DestroyCaCertDirectory: types.StringNull(),
1060-
DestroySkipTlsVerify: types.BoolNull(),
1061-
}
956+
// Clear read-related fields as part of the upgrade
957+
state.ReadUrl = types.StringNull()
958+
state.ReadResponseCodes = types.ListValueMust(
959+
types.StringType,
960+
[]attr.Value{},
961+
)
1062962

1063-
// Set the new state
1064-
diags = resp.State.Set(ctx, &newState)
963+
diags = resp.State.Set(ctx, &state)
1065964
resp.Diagnostics.Append(diags...)
1066965
},
1067966
},

0 commit comments

Comments
 (0)