Skip to content

Commit d0310d9

Browse files
committed
refactor
1 parent 14e8789 commit d0310d9

12 files changed

+35
-237
lines changed

internal/provider/datasources/data_source_deployment.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func (d *deploymentDataSource) Read(
7373
req datasource.ReadRequest,
7474
resp *datasource.ReadResponse,
7575
) {
76-
var data models.DeploymentDataSource
76+
var data models.Deployment
7777

7878
// Read Terraform configuration data into the model
7979
resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)

internal/provider/datasources/data_source_deployments.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func (d *deploymentsDataSource) Read(
7777
req datasource.ReadRequest,
7878
resp *datasource.ReadResponse,
7979
) {
80-
var data models.DeploymentsDataSource
80+
var data models.Deployments
8181

8282
// Read Terraform configuration data into the model
8383
resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)

internal/provider/datasources/data_source_organization.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func (d *organizationDataSource) Read(
7373
req datasource.ReadRequest,
7474
resp *datasource.ReadResponse,
7575
) {
76-
var data models.OrganizationDataSource
76+
var data models.Organization
7777

7878
// Read Terraform configuration data into the model
7979
resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)

internal/provider/datasources/data_source_workspace.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func (d *workspaceDataSource) Read(
7373
req datasource.ReadRequest,
7474
resp *datasource.ReadResponse,
7575
) {
76-
var data models.WorkspaceDataSource
76+
var data models.Workspace
7777

7878
// Read Terraform configuration data into the model
7979
resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)

internal/provider/datasources/data_source_workspaces.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func (d *workspacesDataSource) Read(
7777
req datasource.ReadRequest,
7878
resp *datasource.ReadResponse,
7979
) {
80-
var data models.WorkspacesDataSource
80+
var data models.Workspaces
8181

8282
// Read Terraform configuration data into the model
8383
resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)

internal/provider/models/deployment.go

+2-138
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"github.com/hashicorp/terraform-plugin-framework/types"
1111
)
1212

13-
type DeploymentResource struct {
13+
type Deployment struct {
1414
// Common fields
1515
Id types.String `tfsdk:"id"`
1616
Name types.String `tfsdk:"name"`
@@ -68,7 +68,7 @@ type DeploymentResource struct {
6868
IsHighAvailability types.Bool `tfsdk:"is_high_availability"`
6969
}
7070

71-
func (data *DeploymentResource) ReadFromResponse(
71+
func (data *Deployment) ReadFromResponse(
7272
ctx context.Context,
7373
deployment *platform.Deployment,
7474
) diag.Diagnostics {
@@ -166,58 +166,6 @@ func (data *DeploymentResource) ReadFromResponse(
166166
return nil
167167
}
168168

169-
// DeploymentDataSource describes the data source data model.
170-
type DeploymentDataSource struct {
171-
Id types.String `tfsdk:"id"`
172-
Name types.String `tfsdk:"name"`
173-
Description types.String `tfsdk:"description"`
174-
CreatedAt types.String `tfsdk:"created_at"`
175-
UpdatedAt types.String `tfsdk:"updated_at"`
176-
CreatedBy types.Object `tfsdk:"created_by"`
177-
UpdatedBy types.Object `tfsdk:"updated_by"`
178-
WorkspaceId types.String `tfsdk:"workspace_id"`
179-
ClusterId types.String `tfsdk:"cluster_id"`
180-
Region types.String `tfsdk:"region"`
181-
CloudProvider types.String `tfsdk:"cloud_provider"`
182-
AstroRuntimeVersion types.String `tfsdk:"astro_runtime_version"`
183-
AirflowVersion types.String `tfsdk:"airflow_version"`
184-
Namespace types.String `tfsdk:"namespace"`
185-
ContactEmails types.List `tfsdk:"contact_emails"`
186-
Executor types.String `tfsdk:"executor"`
187-
SchedulerAu types.Int64 `tfsdk:"scheduler_au"`
188-
SchedulerCpu types.String `tfsdk:"scheduler_cpu"`
189-
SchedulerMemory types.String `tfsdk:"scheduler_memory"`
190-
SchedulerReplicas types.Int64 `tfsdk:"scheduler_replicas"`
191-
ImageTag types.String `tfsdk:"image_tag"`
192-
ImageRepository types.String `tfsdk:"image_repository"`
193-
ImageVersion types.String `tfsdk:"image_version"`
194-
EnvironmentVariables types.List `tfsdk:"environment_variables"`
195-
WebserverIngressHostname types.String `tfsdk:"webserver_ingress_hostname"`
196-
WebserverUrl types.String `tfsdk:"webserver_url"`
197-
WebserverAirflowApiUrl types.String `tfsdk:"webserver_airflow_api_url"`
198-
Status types.String `tfsdk:"status"`
199-
StatusReason types.String `tfsdk:"status_reason"`
200-
DagTarballVersion types.String `tfsdk:"dag_tarball_version"`
201-
DesiredDagTarballVersion types.String `tfsdk:"desired_dag_tarball_version"`
202-
WorkerQueues types.List `tfsdk:"worker_queues"`
203-
TaskPodNodePoolId types.String `tfsdk:"task_pod_node_pool_id"`
204-
IsCicdEnforced types.Bool `tfsdk:"is_cicd_enforced"`
205-
Type types.String `tfsdk:"type"`
206-
IsDagDeployEnabled types.Bool `tfsdk:"is_dag_deploy_enabled"`
207-
SchedulerSize types.String `tfsdk:"scheduler_size"`
208-
IsHighAvailability types.Bool `tfsdk:"is_high_availability"`
209-
IsDevelopmentMode types.Bool `tfsdk:"is_development_mode"`
210-
WorkloadIdentity types.String `tfsdk:"workload_identity"`
211-
ExternalIps types.List `tfsdk:"external_ips"`
212-
OidcIssuerUrl types.String `tfsdk:"oidc_issuer_url"`
213-
ResourceQuotaCpu types.String `tfsdk:"resource_quota_cpu"`
214-
ResourceQuotaMemory types.String `tfsdk:"resource_quota_memory"`
215-
DefaultTaskPodCpu types.String `tfsdk:"default_task_pod_cpu"`
216-
DefaultTaskPodMemory types.String `tfsdk:"default_task_pod_memory"`
217-
ScalingStatus types.Object `tfsdk:"scaling_status"`
218-
ScalingSpec types.Object `tfsdk:"scaling_spec"`
219-
}
220-
221169
type DeploymentEnvironmentVariable struct {
222170
Key types.String `tfsdk:"key"`
223171
Value types.String `tfsdk:"value"`
@@ -238,90 +186,6 @@ type WorkerQueue struct {
238186
WorkerConcurrency types.Int64 `tfsdk:"worker_concurrency"`
239187
}
240188

241-
func (data *DeploymentDataSource) ReadFromResponse(
242-
ctx context.Context,
243-
deployment *platform.Deployment,
244-
) diag.Diagnostics {
245-
data.Id = types.StringValue(deployment.Id)
246-
data.Name = types.StringValue(deployment.Name)
247-
data.Description = types.StringPointerValue(deployment.Description)
248-
data.CreatedAt = types.StringValue(deployment.CreatedAt.String())
249-
data.UpdatedAt = types.StringValue(deployment.UpdatedAt.String())
250-
var diags diag.Diagnostics
251-
data.CreatedBy, diags = SubjectProfileTypesObject(ctx, deployment.CreatedBy)
252-
if diags.HasError() {
253-
return diags
254-
}
255-
data.UpdatedBy, diags = SubjectProfileTypesObject(ctx, deployment.UpdatedBy)
256-
if diags.HasError() {
257-
return diags
258-
}
259-
data.WorkspaceId = types.StringValue(deployment.WorkspaceId)
260-
data.ClusterId = types.StringPointerValue(deployment.ClusterId)
261-
data.Region = types.StringPointerValue(deployment.Region)
262-
data.CloudProvider = types.StringPointerValue((*string)(deployment.CloudProvider))
263-
data.AstroRuntimeVersion = types.StringValue(deployment.AstroRuntimeVersion)
264-
data.AirflowVersion = types.StringValue(deployment.AirflowVersion)
265-
data.Namespace = types.StringValue(deployment.Namespace)
266-
data.ContactEmails, diags = utils.StringList(deployment.ContactEmails)
267-
if diags.HasError() {
268-
return diags
269-
}
270-
data.Executor = types.StringPointerValue((*string)(deployment.Executor))
271-
if deployment.SchedulerAu != nil {
272-
deploymentSchedulerAu := int64(*deployment.SchedulerAu)
273-
data.SchedulerAu = types.Int64Value(deploymentSchedulerAu)
274-
}
275-
data.SchedulerCpu = types.StringValue(deployment.SchedulerCpu)
276-
data.SchedulerMemory = types.StringValue(deployment.SchedulerMemory)
277-
data.SchedulerReplicas = types.Int64Value(int64(deployment.SchedulerReplicas))
278-
data.ImageTag = types.StringValue(deployment.ImageTag)
279-
data.ImageRepository = types.StringValue(deployment.ImageRepository)
280-
data.ImageVersion = types.StringPointerValue(deployment.ImageVersion)
281-
data.EnvironmentVariables, diags = utils.ObjectList(ctx, deployment.EnvironmentVariables, schemas.DeploymentEnvironmentVariableAttributeTypes(), DeploymentEnvironmentVariableTypesObject)
282-
if diags.HasError() {
283-
return diags
284-
}
285-
data.WebserverIngressHostname = types.StringValue(deployment.WebServerIngressHostname)
286-
data.WebserverUrl = types.StringValue(deployment.WebServerUrl)
287-
data.WebserverAirflowApiUrl = types.StringValue(deployment.WebServerAirflowApiUrl)
288-
data.Status = types.StringValue(string(deployment.Status))
289-
data.StatusReason = types.StringPointerValue(deployment.StatusReason)
290-
data.DagTarballVersion = types.StringPointerValue(deployment.DagTarballVersion)
291-
data.DesiredDagTarballVersion = types.StringPointerValue(deployment.DesiredDagTarballVersion)
292-
data.WorkerQueues, diags = utils.ObjectList(ctx, deployment.WorkerQueues, schemas.WorkerQueueAttributeTypes(), WorkerQueueTypesObject)
293-
if diags.HasError() {
294-
return diags
295-
}
296-
data.TaskPodNodePoolId = types.StringPointerValue(deployment.TaskPodNodePoolId)
297-
data.IsCicdEnforced = types.BoolValue(deployment.IsCicdEnforced)
298-
data.Type = types.StringPointerValue((*string)(deployment.Type))
299-
data.IsDagDeployEnabled = types.BoolValue(deployment.IsDagDeployEnabled)
300-
data.SchedulerSize = types.StringPointerValue((*string)(deployment.SchedulerSize))
301-
data.IsHighAvailability = types.BoolPointerValue(deployment.IsHighAvailability)
302-
data.IsDevelopmentMode = types.BoolPointerValue(deployment.IsDevelopmentMode)
303-
data.WorkloadIdentity = types.StringPointerValue(deployment.WorkloadIdentity)
304-
data.ExternalIps, diags = utils.StringList(deployment.ExternalIPs)
305-
if diags.HasError() {
306-
return diags
307-
}
308-
data.OidcIssuerUrl = types.StringPointerValue(deployment.OidcIssuerUrl)
309-
data.ResourceQuotaCpu = types.StringPointerValue(deployment.ResourceQuotaCpu)
310-
data.ResourceQuotaMemory = types.StringPointerValue(deployment.ResourceQuotaMemory)
311-
data.DefaultTaskPodCpu = types.StringPointerValue(deployment.DefaultTaskPodCpu)
312-
data.DefaultTaskPodMemory = types.StringPointerValue(deployment.DefaultTaskPodMemory)
313-
data.ScalingStatus, diags = ScalingStatusTypesObject(ctx, deployment.ScalingStatus)
314-
if diags.HasError() {
315-
return diags
316-
}
317-
data.ScalingSpec, diags = ScalingSpecTypesObject(ctx, deployment.ScalingSpec)
318-
if diags.HasError() {
319-
return diags
320-
}
321-
322-
return nil
323-
}
324-
325189
func DeploymentEnvironmentVariableTypesObject(
326190
ctx context.Context,
327191
envVar platform.DeploymentEnvironmentVariable,

internal/provider/models/deployments.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@ import (
1010
"github.com/hashicorp/terraform-plugin-framework/types"
1111
)
1212

13-
// DeploymentsDataSource describes the data source data model.
14-
type DeploymentsDataSource struct {
13+
// Deployments describes the data source data model.
14+
type Deployments struct {
1515
Deployments types.List `tfsdk:"deployments"`
1616
WorkspaceIds types.List `tfsdk:"workspace_ids"` // query parameter
1717
DeploymentIds types.List `tfsdk:"deployment_ids"` // query parameter
1818
Names types.List `tfsdk:"names"` // query parameter
1919
}
2020

21-
func (data *DeploymentsDataSource) ReadFromResponse(
21+
func (data *Deployments) ReadFromResponse(
2222
ctx context.Context,
2323
deployments []platform.Deployment,
2424
) diag.Diagnostics {
2525
values := make([]attr.Value, len(deployments))
2626
for i, deployment := range deployments {
27-
var singleDeploymentData DeploymentDataSource
27+
var singleDeploymentData Deployment
2828
diags := singleDeploymentData.ReadFromResponse(ctx, &deployment)
2929
if diags.HasError() {
3030
return diags

internal/provider/models/organization.go

+3-34
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import (
88
"github.com/hashicorp/terraform-plugin-framework/types"
99
)
1010

11-
// OrganizationDataSource describes the data source data model.
12-
type OrganizationDataSource struct {
11+
// Organization describes the data source data model.
12+
type Organization struct {
1313
Id types.String `tfsdk:"id"`
1414
Name types.String `tfsdk:"name"`
1515
CreatedAt types.String `tfsdk:"created_at"`
@@ -18,17 +18,7 @@ type OrganizationDataSource struct {
1818
UpdatedBy types.Object `tfsdk:"updated_by"`
1919
}
2020

21-
// OrganizationResource describes the resource data model.
22-
type OrganizationResource struct {
23-
Id types.String `tfsdk:"id"`
24-
Name types.String `tfsdk:"name"`
25-
CreatedAt types.String `tfsdk:"created_at"`
26-
UpdatedAt types.String `tfsdk:"updated_at"`
27-
CreatedBy types.Object `tfsdk:"created_by"`
28-
UpdatedBy types.Object `tfsdk:"updated_by"`
29-
}
30-
31-
func (data *OrganizationResource) ReadFromResponse(
21+
func (data *Organization) ReadFromResponse(
3222
ctx context.Context,
3323
organization *platform.Organization,
3424
) diag.Diagnostics {
@@ -48,24 +38,3 @@ func (data *OrganizationResource) ReadFromResponse(
4838

4939
return nil
5040
}
51-
52-
func (data *OrganizationDataSource) ReadFromResponse(
53-
ctx context.Context,
54-
organization *platform.Organization,
55-
) diag.Diagnostics {
56-
data.Id = types.StringValue(organization.Id)
57-
data.Name = types.StringValue(organization.Name)
58-
data.CreatedAt = types.StringValue(organization.CreatedAt.String())
59-
data.UpdatedAt = types.StringValue(organization.UpdatedAt.String())
60-
var diags diag.Diagnostics
61-
data.CreatedBy, diags = SubjectProfileTypesObject(ctx, organization.CreatedBy)
62-
if diags.HasError() {
63-
return diags
64-
}
65-
data.UpdatedBy, diags = SubjectProfileTypesObject(ctx, organization.UpdatedBy)
66-
if diags.HasError() {
67-
return diags
68-
}
69-
70-
return nil
71-
}

internal/provider/models/workspace.go

+3-38
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import (
88
"github.com/hashicorp/terraform-plugin-framework/types"
99
)
1010

11-
// WorkspaceDataSource describes the data source data model.
12-
type WorkspaceDataSource struct {
11+
// Workspace describes the resource and data source data model.
12+
type Workspace struct {
1313
Id types.String `tfsdk:"id"`
1414
Name types.String `tfsdk:"name"`
1515
Description types.String `tfsdk:"description"`
@@ -20,19 +20,7 @@ type WorkspaceDataSource struct {
2020
UpdatedBy types.Object `tfsdk:"updated_by"`
2121
}
2222

23-
// WorkspaceResource describes the resource data model.
24-
type WorkspaceResource struct {
25-
Id types.String `tfsdk:"id"`
26-
Name types.String `tfsdk:"name"`
27-
Description types.String `tfsdk:"description"`
28-
CicdEnforcedDefault types.Bool `tfsdk:"cicd_enforced_default"`
29-
CreatedAt types.String `tfsdk:"created_at"`
30-
UpdatedAt types.String `tfsdk:"updated_at"`
31-
CreatedBy types.Object `tfsdk:"created_by"`
32-
UpdatedBy types.Object `tfsdk:"updated_by"`
33-
}
34-
35-
func (data *WorkspaceResource) ReadFromResponse(
23+
func (data *Workspace) ReadFromResponse(
3624
ctx context.Context,
3725
workspace *platform.Workspace,
3826
) diag.Diagnostics {
@@ -60,26 +48,3 @@ func (data *WorkspaceResource) ReadFromResponse(
6048

6149
return nil
6250
}
63-
64-
func (data *WorkspaceDataSource) ReadFromResponse(
65-
ctx context.Context,
66-
workspace *platform.Workspace,
67-
) diag.Diagnostics {
68-
data.Id = types.StringValue(workspace.Id)
69-
data.Name = types.StringValue(workspace.Name)
70-
data.Description = types.StringPointerValue(workspace.Description)
71-
data.CicdEnforcedDefault = types.BoolValue(workspace.CicdEnforcedDefault)
72-
data.CreatedAt = types.StringValue(workspace.CreatedAt.String())
73-
data.UpdatedAt = types.StringValue(workspace.UpdatedAt.String())
74-
var diags diag.Diagnostics
75-
data.CreatedBy, diags = SubjectProfileTypesObject(ctx, workspace.CreatedBy)
76-
if diags.HasError() {
77-
return diags
78-
}
79-
data.UpdatedBy, diags = SubjectProfileTypesObject(ctx, workspace.UpdatedBy)
80-
if diags.HasError() {
81-
return diags
82-
}
83-
84-
return nil
85-
}

internal/provider/models/workspaces.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ import (
1010
"github.com/hashicorp/terraform-plugin-framework/types"
1111
)
1212

13-
// WorkspacesDataSource describes the data source data model.
14-
type WorkspacesDataSource struct {
13+
// Workspaces describes the data source data model.
14+
type Workspaces struct {
1515
Workspaces types.List `tfsdk:"workspaces"`
1616
WorkspaceIds types.List `tfsdk:"workspace_ids"` // query parameter
1717
Names types.List `tfsdk:"names"` // query parameter
1818
}
1919

20-
func (data *WorkspacesDataSource) ReadFromResponse(
20+
func (data *Workspaces) ReadFromResponse(
2121
ctx context.Context,
2222
workspaces []platform.Workspace,
2323
) diag.Diagnostics {
2424
values := make([]attr.Value, len(workspaces))
2525
for i, workspace := range workspaces {
26-
var singleWorkspaceData WorkspaceDataSource
26+
var singleWorkspaceData Workspace
2727
diags := singleWorkspaceData.ReadFromResponse(ctx, &workspace)
2828
if diags.HasError() {
2929
return diags

0 commit comments

Comments
 (0)