1.3.0
This commit is contained in:
@@ -80,7 +80,7 @@ func (r *resourceCompute) Create(ctx context.Context, req resource.CreateRequest
|
||||
tflog.Info(ctx, "Create resourceCompute: new simple Compute created", map[string]any{"id": ComputeId, "name": plan.Name.ValueString()})
|
||||
|
||||
// attach extra disk(s) to new compute
|
||||
if !plan.ExtraDisks.IsNull() {
|
||||
if !plan.ExtraDisks.IsNull() && !plan.ExtraDisks.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceExtraDiskCreate(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Create resourceCompute: error when attaching extra disk(s) to a new Compute ")
|
||||
@@ -112,52 +112,52 @@ func (r *resourceCompute) Create(ctx context.Context, req resource.CreateRequest
|
||||
}
|
||||
|
||||
// add affinity_rules if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.AffinityRules.IsNull() {
|
||||
if !plan.AffinityRules.IsNull() && !plan.AffinityRules.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceAffinityRules(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// add anti_affinity_rules if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.AntiAffinityRules.IsNull() {
|
||||
if !plan.AntiAffinityRules.IsNull() && !plan.AntiAffinityRules.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceAntiAffinityRules(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// add tags if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.Tags.IsNull() {
|
||||
if !plan.Tags.IsNull() && !plan.Tags.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceTags(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// add port_forwarding if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.PortForwarding.IsNull() {
|
||||
if !plan.PortForwarding.IsNull() && !plan.PortForwarding.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourcePortForwarding(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// add user_access if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.UserAccess.IsNull() {
|
||||
if !plan.UserAccess.IsNull() && !plan.UserAccess.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceUserAccess(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// add snapshot if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.Snapshot.IsNull() {
|
||||
if !plan.Snapshot.IsNull() && !plan.Snapshot.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceSnapshot(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// add cd if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.CD.IsNull() {
|
||||
if !plan.CDImageID.IsNull() && !plan.CDImageID.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceCDInsert(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// attach PCI devices to compute if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.PCIDevices.IsNull() {
|
||||
if !plan.PCIDevices.IsNull() && !plan.PCIDevices.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourcePCIDevice(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// set auto start_w_node if pin_to_stack == false
|
||||
if !plan.PinToStack.ValueBool() && plan.AutoStartWithNode.ValueBool() {
|
||||
if !plan.PinToStack.ValueBool() && plan.AutoStartWithNode.ValueBool() && !plan.PinToStack.IsUnknown() && !plan.AutoStartWithNode.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceAutoStartWithNode(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
// pause if needed, warnings added to resp.Diagnostics in case of failure.
|
||||
if !plan.Pause.IsNull() && plan.Pause.ValueBool() {
|
||||
if !plan.Pause.IsNull() && plan.Pause.ValueBool() && !plan.Pause.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourcePause(ctx, &plan, r.client)...)
|
||||
}
|
||||
|
||||
@@ -275,7 +275,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
plan.ID = state.ID
|
||||
|
||||
// Enable/disable Compute if needed
|
||||
if !plan.Enabled.Equal(state.Enabled) {
|
||||
if !plan.Enabled.IsUnknown() && !plan.Enabled.Equal(state.Enabled) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceEnableDisable(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error enable/disable Compute")
|
||||
@@ -284,7 +284,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Start/stop Compute if needed
|
||||
if !plan.Started.Equal(state.Started) {
|
||||
if !plan.Started.IsUnknown() && !plan.Started.Equal(state.Started) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceStartStop(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error start/stop Compute")
|
||||
@@ -302,7 +302,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Resize boot disk size if needed
|
||||
if !plan.BootDiskSize.Equal(state.BootDiskSize) {
|
||||
if !plan.BootDiskSize.IsUnknown() && !plan.BootDiskSize.Equal(state.BootDiskSize) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceBootDiskResize(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error resize boot disk")
|
||||
@@ -311,7 +311,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Extra disk(s) update if needed
|
||||
if !plan.ExtraDisks.Equal(state.ExtraDisks) {
|
||||
if !plan.ExtraDisks.IsUnknown() && !plan.ExtraDisks.Equal(state.ExtraDisks) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceExtraDiskUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update extra disk list")
|
||||
@@ -320,7 +320,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// PCI device(s) update if needed
|
||||
if !plan.PCIDevices.Equal(state.PCIDevices) {
|
||||
if !plan.PCIDevices.IsUnknown() && !plan.PCIDevices.Equal(state.PCIDevices) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourcePCIDeviceUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update PCI device(s) list")
|
||||
@@ -329,7 +329,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// pin to stack if needed
|
||||
if !plan.PinToStack.Equal(state.PinToStack) {
|
||||
if !plan.PinToStack.IsUnknown() && !plan.PinToStack.Equal(state.PinToStack) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourcePinToStackUpdate(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error pin/unpin to stack compute")
|
||||
@@ -338,9 +338,14 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Compute parameters update if needed
|
||||
if (!plan.Description.IsUnknown() && !plan.Description.Equal(state.Description)) || !plan.Name.Equal(state.Name) ||
|
||||
!plan.NumaAffinity.Equal(state.NumaAffinity) || !plan.CPUPin.Equal(state.CPUPin) || !plan.HPBacked.Equal(state.HPBacked) || (!plan.Chipset.IsUnknown() && !plan.Chipset.Equal(state.Chipset)) ||
|
||||
!plan.AutoStartWithNode.Equal(state.AutoStartWithNode) || (!plan.PreferredCPU.IsUnknown() && !plan.PreferredCPU.Equal(state.Description)) {
|
||||
if (!plan.Description.IsUnknown() && !plan.Description.Equal(state.Description)) ||
|
||||
!plan.Name.IsUnknown() && !plan.Name.Equal(state.Name) ||
|
||||
!plan.NumaAffinity.IsUnknown() && !plan.NumaAffinity.Equal(state.NumaAffinity) ||
|
||||
!plan.CPUPin.IsUnknown() && !plan.CPUPin.Equal(state.CPUPin) ||
|
||||
!plan.HPBacked.IsUnknown() && !plan.HPBacked.Equal(state.HPBacked) ||
|
||||
(!plan.Chipset.IsUnknown() && !plan.Chipset.Equal(state.Chipset)) ||
|
||||
!plan.AutoStartWithNode.IsUnknown() && !plan.AutoStartWithNode.Equal(state.AutoStartWithNode) ||
|
||||
(!plan.PreferredCPU.IsUnknown() && !plan.PreferredCPU.Equal(state.Description)) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceComputeUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update compute parameters")
|
||||
@@ -358,7 +363,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Affinity label update if needed
|
||||
if !plan.AffinityLabel.Equal(state.AffinityLabel) && !plan.AffinityLabel.IsUnknown() {
|
||||
if !plan.AffinityLabel.IsUnknown() && !plan.AffinityLabel.Equal(state.AffinityLabel) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceAffinityLabelUpdate(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update affinity label")
|
||||
@@ -367,7 +372,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Affinity rules update if needed
|
||||
if !plan.AffinityRules.Equal(state.AffinityRules) {
|
||||
if !plan.AffinityRules.IsUnknown() && !plan.AffinityRules.Equal(state.AffinityRules) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceAffinityRulesUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update affinity rules")
|
||||
@@ -376,7 +381,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Anti affinity rules update if needed
|
||||
if !plan.AntiAffinityRules.Equal(state.AntiAffinityRules) {
|
||||
if !plan.AntiAffinityRules.IsUnknown() && !plan.AntiAffinityRules.Equal(state.AntiAffinityRules) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceAntiAffinityRulesUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update anti affinity rules")
|
||||
@@ -385,7 +390,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Tags update if needed
|
||||
if !plan.Tags.Equal(state.Tags) {
|
||||
if !plan.Tags.IsUnknown() && !plan.Tags.Equal(state.Tags) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceTagsUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update tags")
|
||||
@@ -394,7 +399,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Port forwarding update if needed
|
||||
if !plan.PortForwarding.Equal(state.PortForwarding) {
|
||||
if !plan.PortForwarding.IsUnknown() && !plan.PortForwarding.Equal(state.PortForwarding) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourcePortForwardingUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update port forwarding rules")
|
||||
@@ -403,7 +408,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// User access update if needed
|
||||
if !plan.UserAccess.Equal(state.UserAccess) {
|
||||
if !plan.UserAccess.IsUnknown() && !plan.UserAccess.Equal(state.UserAccess) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceUserAccessUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update user(s) access rules")
|
||||
@@ -412,7 +417,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Snapshot update if needed
|
||||
if !plan.Snapshot.Equal(state.Snapshot) {
|
||||
if !plan.Snapshot.IsUnknown() && !plan.Snapshot.Equal(state.Snapshot) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceSnapshotUpdate(ctx, &state, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update snapshot(s)")
|
||||
@@ -421,7 +426,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Rollback if needed
|
||||
if !plan.Rollback.Equal(state.Rollback) && !plan.Rollback.IsNull() {
|
||||
if !plan.Rollback.Equal(state.Rollback) && !plan.Rollback.IsNull() && !plan.Rollback.IsUnknown() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceRollback(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error rollback compute")
|
||||
@@ -430,7 +435,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// Cd update if needed
|
||||
if !plan.CD.Equal(state.CD) {
|
||||
if !plan.CDImageID.IsUnknown() && !plan.CDImageID.Equal(state.CDImageID) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceCDUpdate(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update cd image update")
|
||||
@@ -448,7 +453,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// reset compute if need
|
||||
if !plan.Reset.Equal(state.Reset) && plan.Reset.ValueBool() {
|
||||
if !plan.Reset.IsUnknown() && !plan.Reset.Equal(state.Reset) && plan.Reset.ValueBool() {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceResetCompute(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error reset compute")
|
||||
@@ -457,7 +462,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// redeploy compute if need
|
||||
if !plan.ImageID.Equal(state.ImageID) {
|
||||
if !plan.ImageID.IsUnknown() && !plan.ImageID.Equal(state.ImageID) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceRedeploy(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error redeploy compute")
|
||||
@@ -466,7 +471,7 @@ func (r *resourceCompute) Update(ctx context.Context, req resource.UpdateRequest
|
||||
}
|
||||
|
||||
// custom fields update if needed
|
||||
if !plan.CustomFields.Equal(state.CustomFields) && !plan.CustomFields.IsUnknown() {
|
||||
if !plan.CustomFields.IsUnknown() && !plan.CustomFields.Equal(state.CustomFields) {
|
||||
resp.Diagnostics.Append(utilities.ComputeResourceCustomFieldUpdate(ctx, &plan, r.client)...)
|
||||
if resp.Diagnostics.HasError() {
|
||||
tflog.Error(ctx, "Update resourceCompute: Error update custom fields")
|
||||
|
||||
Reference in New Issue
Block a user