@@ -20,11 +20,25 @@ pub(crate) fn parse_put_machine_config(body: &Body) -> Result<ParsedRequest, Err
20
20
err
21
21
} ) ?;
22
22
23
+ // Check for the presence of deprecated `cpu_template` field.
24
+ let mut deprecation_message = None ;
25
+ if config. cpu_template . is_some ( ) {
26
+ // `cpu_template` field in request is deprecated.
27
+ METRICS . deprecated_api . deprecated_http_api_calls . inc ( ) ;
28
+ deprecation_message = Some ( "PUT /machine-config: cpu_template field is deprecated." ) ;
29
+ }
30
+
31
+ // Convert `MachineConfig` to `MachineConfigUpdate`.
23
32
let config_update = MachineConfigUpdate :: from ( config) ;
24
33
25
- Ok ( ParsedRequest :: new_sync ( VmmAction :: UpdateVmConfiguration (
26
- config_update,
27
- ) ) )
34
+ // Construct the `ParsedRequest` object.
35
+ let mut parsed_req = ParsedRequest :: new_sync ( VmmAction :: UpdateVmConfiguration ( config_update) ) ;
36
+ // If `cpu_template` was present, set the deprecation message in `parsing_info`.
37
+ if let Some ( msg) = deprecation_message {
38
+ parsed_req. parsing_info ( ) . append_deprecation_message ( msg) ;
39
+ }
40
+
41
+ Ok ( parsed_req)
28
42
}
29
43
30
44
pub ( crate ) fn parse_patch_machine_config ( body : & Body ) -> Result < ParsedRequest , Error > {
@@ -39,9 +53,22 @@ pub(crate) fn parse_patch_machine_config(body: &Body) -> Result<ParsedRequest, E
39
53
return method_to_error ( Method :: Patch ) ;
40
54
}
41
55
42
- Ok ( ParsedRequest :: new_sync ( VmmAction :: UpdateVmConfiguration (
43
- config_update,
44
- ) ) )
56
+ // Check for the presence of deprecated `cpu_template` field.
57
+ let mut deprecation_message = None ;
58
+ if config_update. cpu_template . is_some ( ) {
59
+ // `cpu_template` field in request is deprecated.
60
+ METRICS . deprecated_api . deprecated_http_api_calls . inc ( ) ;
61
+ deprecation_message = Some ( "PATCH /machine-config: cpu_template is deprecated." ) ;
62
+ }
63
+
64
+ // Construct the `ParsedRequest` object.
65
+ let mut parsed_req = ParsedRequest :: new_sync ( VmmAction :: UpdateVmConfiguration ( config_update) ) ;
66
+ // If `cpu_template` was present, set the deprecation message in `parsing_info`.
67
+ if let Some ( msg) = deprecation_message {
68
+ parsed_req. parsing_info ( ) . append_deprecation_message ( msg) ;
69
+ }
70
+
71
+ Ok ( parsed_req)
45
72
}
46
73
47
74
#[ cfg( test) ]
0 commit comments