fix: not updating when only something other than hostname or description changed
This commit is contained in:
@@ -64,17 +64,20 @@ func authenticatedRequest(method, url, authorization string, urlparams url.Value
|
|||||||
|
|
||||||
request, err := http.NewRequest(method, url, body)
|
request, err := http.NewRequest(method, url, body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Println("Error: ", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
request.Header.Set("Authorization", authorization)
|
request.Header.Set("Authorization", authorization)
|
||||||
|
|
||||||
resp, err := client.Do(request)
|
resp, err := client.Do(request)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Println("Error: ", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
data, err := io.ReadAll(resp.Body)
|
data, err := io.ReadAll(resp.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Println("Error: ", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
82
proxmox.go
82
proxmox.go
@@ -252,52 +252,50 @@ func (p *Plugin) Update(ctx context.Context, req *resource.UpdateRequest) (*reso
|
|||||||
}, fmt.Errorf("can't change vmid")
|
}, fmt.Errorf("can't change vmid")
|
||||||
}
|
}
|
||||||
|
|
||||||
if prior.Hostname != desir.Hostname || prior.Description != desir.Description {
|
config, err := parseTargetConfig(req.TargetConfig)
|
||||||
config, err := parseTargetConfig(req.TargetConfig)
|
if err != nil {
|
||||||
if err != nil {
|
log.Println(err.Error())
|
||||||
log.Println(err.Error())
|
return &resource.UpdateResult{
|
||||||
return &resource.UpdateResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
Operation: resource.OperationCreate,
|
||||||
Operation: resource.OperationCreate,
|
OperationStatus: resource.OperationStatusFailure,
|
||||||
OperationStatus: resource.OperationStatusFailure,
|
ErrorCode: resource.OperationErrorCodeInternalFailure,
|
||||||
ErrorCode: resource.OperationErrorCodeInternalFailure,
|
StatusMessage: err.Error(),
|
||||||
StatusMessage: err.Error(),
|
},
|
||||||
},
|
}, err
|
||||||
}, err
|
}
|
||||||
}
|
|
||||||
|
|
||||||
username, token, err := getCredentials()
|
username, token, err := getCredentials()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return &resource.UpdateResult{
|
return &resource.UpdateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationUpdate,
|
Operation: resource.OperationUpdate,
|
||||||
OperationStatus: resource.OperationStatusFailure,
|
OperationStatus: resource.OperationStatusFailure,
|
||||||
ErrorCode: resource.OperationErrorCodeAccessDenied,
|
ErrorCode: resource.OperationErrorCodeAccessDenied,
|
||||||
StatusMessage: err.Error(),
|
StatusMessage: err.Error(),
|
||||||
},
|
},
|
||||||
}, err
|
}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
urlparams := url.Values{
|
urlparams := url.Values{
|
||||||
"vmid": {desir.VMID},
|
"vmid": {desir.VMID},
|
||||||
"hostname": {desir.Hostname},
|
"hostname": {desir.Hostname},
|
||||||
"cores": {strconv.Itoa(desir.Cores)},
|
"cores": {strconv.Itoa(desir.Cores)},
|
||||||
"memory": {strconv.Itoa(desir.Memory)},
|
"memory": {strconv.Itoa(desir.Memory)},
|
||||||
"description": {desir.Description},
|
"description": {desir.Description},
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = authenticatedRequest(http.MethodPut, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc/"+desir.VMID+"/config", createAuthorizationString(username, token), urlparams)
|
_, err = authenticatedRequest("PUT", config.URL+"/api2/json/nodes/"+config.NODE+"/lxc/"+desir.VMID+"/config", createAuthorizationString(username, token), urlparams)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return &resource.UpdateResult{
|
return &resource.UpdateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
OperationStatus: resource.OperationStatusFailure,
|
OperationStatus: resource.OperationStatusFailure,
|
||||||
ErrorCode: resource.OperationErrorCodeInternalFailure,
|
ErrorCode: resource.OperationErrorCodeInternalFailure,
|
||||||
StatusMessage: err.Error(),
|
StatusMessage: err.Error(),
|
||||||
},
|
},
|
||||||
}, err
|
}, err
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
result, err := p.Read(ctx, &resource.ReadRequest{
|
result, err := p.Read(ctx, &resource.ReadRequest{
|
||||||
|
|||||||
Reference in New Issue
Block a user