From 208f46180eb55d7d716a8adb2ad31d88cfcbd0b3 Mon Sep 17 00:00:00 2001 From: okeyaki Date: Fri, 28 Feb 2025 16:43:30 +0900 Subject: [PATCH] fix import problem --- internal/provider/job_definition_resource.go | 9 +++--- .../provider/model/job_definition/label.go | 28 +++++++++++++++++++ 2 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 internal/provider/model/job_definition/label.go diff --git a/internal/provider/job_definition_resource.go b/internal/provider/job_definition_resource.go index 2b017ce0..4109626d 100644 --- a/internal/provider/job_definition_resource.go +++ b/internal/provider/job_definition_resource.go @@ -198,7 +198,7 @@ type jobDefinitionResourceModel struct { FilterUnixTimeConversions []filter.FilterUnixTimeConversion `tfsdk:"filter_unixtime_conversions"` Notifications []job_definitions.JobDefinitionNotification `tfsdk:"notifications"` Schedules []model.Schedule `tfsdk:"schedules"` - Labels []model.LabelModel `tfsdk:"labels"` + Labels []job_definitions.Label `tfsdk:"labels"` } func (m *jobDefinitionResourceModel) ToCreateJobDefinitionInput() *client.CreateJobDefinitionInput { @@ -325,7 +325,7 @@ func (r *jobDefinitionResource) Update(ctx context.Context, request resource.Upd FilterUnixTimeConversions: filter.NewFilterUnixTimeConversions(jobDefinition.FilterUnixTimeConversions), Notifications: job_definitions.NewJobDefinitionNotifications(jobDefinition.Notifications), Schedules: model.NewSchedules(jobDefinition.Schedules), - Labels: model.NewLabels(jobDefinition.Labels), + Labels: job_definitions.NewLabels(jobDefinition.Labels), } response.Diagnostics.Append(response.State.Set(ctx, newState)...) } @@ -450,7 +450,7 @@ func (r *jobDefinitionResource) Create( FilterUnixTimeConversions: filter.NewFilterUnixTimeConversions(jobDefinition.FilterUnixTimeConversions), Notifications: job_definitions.NewJobDefinitionNotifications(jobDefinition.Notifications), Schedules: model.NewSchedules(jobDefinition.Schedules), - Labels: model.NewLabels(jobDefinition.Labels), + Labels: job_definitions.NewLabels(jobDefinition.Labels), } resp.Diagnostics.Append(resp.State.Set(ctx, newState)...) } @@ -497,8 +497,9 @@ func (r *jobDefinitionResource) Read( FilterUnixTimeConversions: filter.NewFilterUnixTimeConversions(jobDefinition.FilterUnixTimeConversions), Notifications: job_definitions.NewJobDefinitionNotifications(jobDefinition.Notifications), Schedules: model.NewSchedules(jobDefinition.Schedules), - Labels: model.NewLabels(jobDefinition.Labels), + Labels: job_definitions.NewLabels(jobDefinition.Labels), } + resp.Diagnostics.Append(resp.State.Set(ctx, newState)...) } diff --git a/internal/provider/model/job_definition/label.go b/internal/provider/model/job_definition/label.go new file mode 100644 index 00000000..1ff07ff5 --- /dev/null +++ b/internal/provider/model/job_definition/label.go @@ -0,0 +1,28 @@ +package job_definitions + +import ( + "terraform-provider-trocco/internal/client/entity" + + "github.com/hashicorp/terraform-plugin-framework/types" +) + +type Label struct { + ID types.Int64 `tfsdk:"id"` + Name types.String `tfsdk:"name"` +} + +func NewLabels(labels []entity.Label) []Label { + if labels == nil { + return nil + } + + outputs := make([]Label, 0, len(labels)) + for _, input := range labels { + label := Label{ + ID: types.Int64Value(input.ID), + Name: types.StringValue(input.Name), + } + outputs = append(outputs, label) + } + return outputs +}