emass_client 1.0.1 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +152 -1124
  3. data/Rakefile +2 -0
  4. data/lib/emass_client/api/artifacts_api.rb +124 -97
  5. data/lib/emass_client/api/artifacts_export_api.rb +28 -19
  6. data/lib/emass_client/api/cac_api.rb +50 -31
  7. data/lib/emass_client/api/cloud_resources_api.rb +96 -0
  8. data/lib/emass_client/api/cmmc_assessments_api.rb +20 -11
  9. data/lib/emass_client/api/containers_api.rb +96 -0
  10. data/lib/emass_client/api/controls_api.rb +53 -34
  11. data/lib/emass_client/api/milestones_api.rb +138 -92
  12. data/lib/emass_client/api/pac_api.rb +50 -31
  13. data/lib/emass_client/api/poam_api.rb +132 -86
  14. data/lib/emass_client/api/registration_api.rb +30 -18
  15. data/lib/emass_client/api/static_code_scans_api.rb +38 -26
  16. data/lib/emass_client/api/system_roles_api.rb +48 -29
  17. data/lib/emass_client/api/systems_api.rb +57 -39
  18. data/lib/emass_client/api/test_api.rb +20 -11
  19. data/lib/emass_client/api/test_results_api.rb +53 -34
  20. data/lib/emass_client/api/workflow_definitions_api.rb +23 -14
  21. data/lib/emass_client/api/workflow_instances_api.rb +58 -53
  22. data/lib/emass_client/api_client.rb +59 -57
  23. data/lib/emass_client/api_error.rb +5 -5
  24. data/lib/emass_client/configuration.rb +93 -16
  25. data/lib/emass_client/models/artifacts_get.rb +54 -31
  26. data/lib/emass_client/models/{artifacts_delete_inner.rb → artifacts_request_delete_body_inner.rb} +29 -16
  27. data/lib/emass_client/models/artifacts_response_del.rb +27 -14
  28. data/lib/emass_client/models/{artifacts_response_del_data.rb → artifacts_response_del_data_inner.rb} +31 -18
  29. data/lib/emass_client/models/artifacts_response_get.rb +27 -14
  30. data/lib/emass_client/models/artifacts_response_put_post.rb +27 -14
  31. data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +265 -0
  32. data/lib/emass_client/models/cac_get.rb +82 -50
  33. data/lib/emass_client/models/cac_response_get.rb +27 -14
  34. data/lib/emass_client/models/cac_response_post.rb +27 -14
  35. data/lib/emass_client/models/{cac_response_post_data.rb → cac_response_post_data_inner.rb} +61 -21
  36. data/lib/emass_client/models/{pac_request_post_body.rb → cloud_resources_post.rb} +73 -69
  37. data/lib/emass_client/models/cloud_resources_response_post.rb +230 -0
  38. data/lib/emass_client/models/cmmc_get.rb +53 -63
  39. data/lib/emass_client/models/cmmc_response_get.rb +27 -14
  40. data/lib/emass_client/models/connectivity_ccsd.rb +29 -14
  41. data/lib/emass_client/models/containers_resources_post.rb +265 -0
  42. data/lib/emass_client/models/containers_response_post.rb +230 -0
  43. data/lib/emass_client/models/controls_get.rb +103 -66
  44. data/lib/emass_client/models/controls_put.rb +58 -18
  45. data/lib/emass_client/models/controls_response_get.rb +28 -14
  46. data/lib/emass_client/models/controls_response_put.rb +27 -14
  47. data/lib/emass_client/models/definition_transitions.rb +32 -62
  48. data/lib/emass_client/models/instances_transitions.rb +37 -88
  49. data/lib/emass_client/models/milestone_response_get.rb +27 -14
  50. data/lib/emass_client/models/milestone_response_get_milestone.rb +228 -0
  51. data/lib/emass_client/models/milestone_response_post.rb +27 -14
  52. data/lib/emass_client/models/milestone_response_put.rb +27 -14
  53. data/lib/emass_client/models/milestones_get.rb +33 -20
  54. data/lib/emass_client/models/milestones_put_post_delete.rb +60 -20
  55. data/lib/emass_client/models/{delete_milestone.rb → milestones_request_delete_body_inner.rb} +29 -21
  56. data/lib/emass_client/models/milestones_required_post.rb +27 -14
  57. data/lib/emass_client/models/milestones_required_put.rb +28 -15
  58. data/lib/emass_client/models/pac_get.rb +39 -22
  59. data/lib/emass_client/models/pac_post.rb +60 -20
  60. data/lib/emass_client/models/pac_response_get.rb +28 -14
  61. data/lib/emass_client/models/pac_response_post.rb +27 -14
  62. data/lib/emass_client/models/poam_get.rb +114 -77
  63. data/lib/emass_client/models/poam_post_put_del.rb +59 -19
  64. data/lib/emass_client/models/{delete_poam.rb → poam_request_delete_body_inner.rb} +29 -21
  65. data/lib/emass_client/models/poam_response_delete.rb +27 -14
  66. data/lib/emass_client/models/poam_response_get_poams.rb +228 -0
  67. data/lib/emass_client/models/{static_code_required_post.rb → poam_response_get_systems.rb} +42 -29
  68. data/lib/emass_client/models/poam_response_post.rb +27 -14
  69. data/lib/emass_client/models/poam_response_put.rb +27 -14
  70. data/lib/emass_client/models/register.rb +27 -14
  71. data/lib/emass_client/models/register_data.rb +26 -13
  72. data/lib/emass_client/models/register_user_request_post_body.rb +26 -13
  73. data/lib/emass_client/models/{model_200.rb → response200.rb} +53 -16
  74. data/lib/emass_client/models/{model_400.rb → response201.rb} +29 -16
  75. data/lib/emass_client/models/{model_201_meta.rb → response201_meta.rb} +54 -17
  76. data/lib/emass_client/models/{model_400_response.rb → response400.rb} +29 -16
  77. data/lib/emass_client/models/{model_400_meta.rb → response400_meta.rb} +54 -17
  78. data/lib/emass_client/models/{model_401.rb → response401.rb} +29 -16
  79. data/lib/emass_client/models/{model_401_meta.rb → response401_meta.rb} +54 -17
  80. data/lib/emass_client/models/{model_201.rb → response403.rb} +29 -16
  81. data/lib/emass_client/models/{model_403_meta.rb → response403_meta.rb} +54 -17
  82. data/lib/emass_client/models/{model_404.rb → response404.rb} +54 -17
  83. data/lib/emass_client/models/response405.rb +219 -0
  84. data/lib/emass_client/models/{model_405_meta.rb → response405_meta.rb} +54 -17
  85. data/lib/emass_client/models/response411.rb +219 -0
  86. data/lib/emass_client/models/{model_411_meta.rb → response411_meta.rb} +54 -17
  87. data/lib/emass_client/models/response490.rb +219 -0
  88. data/lib/emass_client/models/{model_490_meta.rb → response490_meta.rb} +54 -17
  89. data/lib/emass_client/models/response500.rb +219 -0
  90. data/lib/emass_client/models/{model_500_meta.rb → response500_meta.rb} +54 -17
  91. data/lib/emass_client/models/role_category.rb +32 -50
  92. data/lib/emass_client/models/roles.rb +29 -61
  93. data/lib/emass_client/models/ssps.rb +32 -16
  94. data/lib/emass_client/models/stage.rb +30 -49
  95. data/lib/emass_client/models/static_code_application.rb +34 -33
  96. data/lib/emass_client/models/static_code_post.rb +275 -0
  97. data/lib/emass_client/models/static_code_request_post_body.rb +47 -14
  98. data/lib/emass_client/models/{static_code_required_post_application.rb → static_code_request_post_body_application.rb} +30 -17
  99. data/lib/emass_client/models/static_code_response_post.rb +230 -0
  100. data/lib/emass_client/models/success200_response.rb +27 -14
  101. data/lib/emass_client/models/{error.rb → success200_response_data_inner.rb} +57 -36
  102. data/lib/emass_client/models/system_response.rb +28 -17
  103. data/lib/emass_client/models/system_roles_category_response.rb +28 -14
  104. data/lib/emass_client/models/system_roles_response.rb +27 -14
  105. data/lib/emass_client/models/{system_roles_response_data.rb → system_roles_response_data_inner.rb} +30 -17
  106. data/lib/emass_client/models/systems.rb +218 -191
  107. data/lib/emass_client/models/{poam_response_get.rb → systems_response.rb} +30 -17
  108. data/lib/emass_client/models/test.rb +27 -14
  109. data/lib/emass_client/models/test_data.rb +26 -13
  110. data/lib/emass_client/models/test_results_get.rb +39 -35
  111. data/lib/emass_client/models/test_results_post.rb +58 -18
  112. data/lib/emass_client/models/test_results_response_get.rb +27 -14
  113. data/lib/emass_client/models/test_results_response_post.rb +27 -14
  114. data/lib/emass_client/models/users.rb +28 -15
  115. data/lib/emass_client/models/workflow_definition_get.rb +63 -68
  116. data/lib/emass_client/models/workflow_definition_response_get.rb +27 -14
  117. data/lib/emass_client/models/workflow_instance_get.rb +331 -0
  118. data/lib/emass_client/models/workflow_instance_response_get.rb +230 -0
  119. data/lib/emass_client/models/workflow_instances_get.rb +107 -133
  120. data/lib/emass_client/models/workflow_instances_response_get.rb +39 -17
  121. data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +246 -0
  122. data/lib/emass_client/version.rb +6 -5
  123. data/lib/emass_client.rb +47 -54
  124. metadata +60 -89
  125. data/lib/emass_client/models/artifacts_delete.rb +0 -201
  126. data/lib/emass_client/models/artifacts_request_put_body.rb +0 -363
  127. data/lib/emass_client/models/cac_request_post_body.rb +0 -217
  128. data/lib/emass_client/models/controls_request_put_body.rb +0 -606
  129. data/lib/emass_client/models/empty200_response.rb +0 -197
  130. data/lib/emass_client/models/milestones_delete.rb +0 -197
  131. data/lib/emass_client/models/milestones_post.rb +0 -197
  132. data/lib/emass_client/models/milestones_put.rb +0 -197
  133. data/lib/emass_client/models/milestones_request_post_body.rb +0 -242
  134. data/lib/emass_client/models/milestones_request_put_body.rb +0 -242
  135. data/lib/emass_client/models/model_403.rb +0 -206
  136. data/lib/emass_client/models/model_404_response.rb +0 -206
  137. data/lib/emass_client/models/model_405.rb +0 -206
  138. data/lib/emass_client/models/model_411.rb +0 -206
  139. data/lib/emass_client/models/model_490.rb +0 -206
  140. data/lib/emass_client/models/model_500.rb +0 -206
  141. data/lib/emass_client/models/poam_delete.rb +0 -197
  142. data/lib/emass_client/models/poam_post.rb +0 -197
  143. data/lib/emass_client/models/poam_put.rb +0 -197
  144. data/lib/emass_client/models/poam_request_post_body.rb +0 -197
  145. data/lib/emass_client/models/poam_request_put_body.rb +0 -197
  146. data/lib/emass_client/models/poam_required_post.rb +0 -564
  147. data/lib/emass_client/models/poam_required_put.rb +0 -594
  148. data/lib/emass_client/models/system_id_artifacts_body.rb +0 -284
  149. data/lib/emass_client/models/test_results_request_post_body.rb +0 -306
@@ -1,14 +1,17 @@
1
1
  =begin
2
2
  #Enterprise Mission Assurance Support Service (eMASS)
3
3
 
4
- #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. The `emasser` is a command-line interface (CLI) tool that implements all of the eMASS endpoints defined in the eMASS REST API v3.2, dated October 21, 2021.</br><br> <strong>Register CLI</strong></br> New users will need to register an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only) where {url}/api/register (POST) is used to register the client certificate.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers:</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
4
+ #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` endpoint to register the client certificate.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
5
5
 
6
- OpenAPI spec version: v3.2
6
+ The version of the OpenAPI document: v3.3
7
7
  Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.26
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1-SNAPSHOT
10
+
10
11
  =end
11
12
 
13
+ require 'cgi'
14
+
12
15
  module EmassClient
13
16
  class ControlsApi
14
17
  attr_accessor :api_client
@@ -18,9 +21,9 @@ module EmassClient
18
21
  end
19
22
  # Get control information in a system for one or many controls
20
23
  # Returns system control information for matching `systemId` path parameter
21
- # @param system_id **System Id**: The unique system record identifier.
24
+ # @param system_id [Integer] **System Id**: The unique system record identifier.
22
25
  # @param [Hash] opts the optional parameters
23
- # @option opts [String] :acronyms **Acronym**: The system acronym(s) being queried (single value or comma delimited values). (default to PM-6)
26
+ # @option opts [String] :acronyms **Acronym**: The system acronym(s) being queried (single value or comma delimited values). (default to 'PM-6')
24
27
  # @return [ControlsResponseGet]
25
28
  def get_system_controls(system_id, opts = {})
26
29
  data, _status_code, _headers = get_system_controls_with_http_info(system_id, opts)
@@ -29,9 +32,9 @@ module EmassClient
29
32
 
30
33
  # Get control information in a system for one or many controls
31
34
  # Returns system control information for matching &#x60;systemId&#x60; path parameter
32
- # @param system_id **System Id**: The unique system record identifier.
35
+ # @param system_id [Integer] **System Id**: The unique system record identifier.
33
36
  # @param [Hash] opts the optional parameters
34
- # @option opts [String] :acronyms **Acronym**: The system acronym(s) being queried (single value or comma delimited values).
37
+ # @option opts [String] :acronyms **Acronym**: The system acronym(s) being queried (single value or comma delimited values). (default to 'PM-6')
35
38
  # @return [Array<(ControlsResponseGet, Integer, Hash)>] ControlsResponseGet data, response status code and response headers
36
39
  def get_system_controls_with_http_info(system_id, opts = {})
37
40
  if @api_client.config.debugging
@@ -42,7 +45,7 @@ module EmassClient
42
45
  fail ArgumentError, "Missing the required parameter 'system_id' when calling ControlsApi.get_system_controls"
43
46
  end
44
47
  # resource path
45
- local_var_path = '/api/systems/{systemId}/controls'.sub('{' + 'systemId' + '}', system_id.to_s)
48
+ local_var_path = '/api/systems/{systemId}/controls'.sub('{' + 'systemId' + '}', CGI.escape(system_id.to_s))
46
49
 
47
50
  # query parameters
48
51
  query_params = opts[:query_params] || {}
@@ -57,55 +60,62 @@ module EmassClient
57
60
  form_params = opts[:form_params] || {}
58
61
 
59
62
  # http body (model)
60
- post_body = opts[:body]
63
+ post_body = opts[:debug_body]
61
64
 
62
- return_type = opts[:return_type] || 'ControlsResponseGet'
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'ControlsResponseGet'
63
67
 
64
- auth_names = opts[:auth_names] || ['apikey', 'mockType', 'userid']
65
- data, status_code, headers = @api_client.call_api(:GET, local_var_path,
68
+ # auth_names
69
+ auth_names = opts[:debug_auth_names] || ['apiKey', 'mockType', 'userId']
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"ControlsApi.get_system_controls",
66
73
  :header_params => header_params,
67
74
  :query_params => query_params,
68
75
  :form_params => form_params,
69
76
  :body => post_body,
70
77
  :auth_names => auth_names,
71
- :return_type => return_type)
78
+ :return_type => return_type
79
+ )
72
80
 
81
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
73
82
  if @api_client.config.debugging
74
83
  @api_client.config.logger.debug "API called: ControlsApi#get_system_controls\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
84
  end
76
85
  return data, status_code, headers
77
86
  end
87
+
78
88
  # Update control information in a system for one or many controls
79
- # Update a Control for given `systemId`<br> **Request Body Required Fields** - `acronym` - `responsibleEntities` - `controlDesignation` - `estimatedCompletionDate` - `implementationNarrative` The following optional fields are required based on the Implementation Status `implementationStatus` value<br> | Value | Required Fields |--------------------------|--------------------------------------------------- | Planned or Implemented | `estimatedCompletionDate`, `responsibleEntities`, `slcmCriticality`, `slcmFrequency`, `slcmMethod`, `slcmReporting`, `slcmTracking`, `slcmComments` | Not Applicable | `naJustification`, `responsibleEntities` | Manually Inherited | `commonControlProvider`, `estimatedCompletionDate`, `responsibleEntities`, `slcmCriticality`, `slcmFrequency`, `slcmMethod`, `slcmReporting`, `slcmTracking`, `slcmComments` If the Implementation Status `implementationStatus` value is \"Inherited\", only the following fields can be updated: - `controlDesignation` - `commonnControlProvider`
80
- # @param body Update an existing control by Id
81
- # @param system_id **System Id**: The unique system record identifier.
89
+ # Update a Control for given `systemId`<br> **Request Body Required Fields** - `acronym` - `responsibleEntities` - `controlDesignation` - `estimatedCompletionDate` - `implementationNarrative` The following optional fields are required based on the Implementation Status `implementationStatus` value<br> | Value | Required Fields |--------------------------|--------------------------------------------------- | Planned or Implemented | `estimatedCompletionDate`, `responsibleEntities`, `slcmCriticality`, `slcmFrequency`, `slcmMethod`, `slcmReporting`, `slcmTracking`, `slcmComments` | Not Applicable | `naJustification`, `responsibleEntities` | Manually Inherited | `commonControlProvider`, `estimatedCompletionDate`, `responsibleEntities`, `slcmCriticality`, `slcmFrequency`, `slcmMethod`, `slcmReporting`, `slcmTracking`, `slcmComments` If the Implementation Status `implementationStatus` value is `Inherited`, only the following fields can be updated: - `controlDesignation` - `commonnControlProvider`
90
+ # @param system_id [Integer] **System Id**: The unique system record identifier.
91
+ # @param request_body [Array<Object>] Update an existing control by Id
82
92
  # @param [Hash] opts the optional parameters
83
93
  # @return [ControlsResponsePut]
84
- def update_control_by_system_id(body, system_id, opts = {})
85
- data, _status_code, _headers = update_control_by_system_id_with_http_info(body, system_id, opts)
94
+ def update_control_by_system_id(system_id, request_body, opts = {})
95
+ data, _status_code, _headers = update_control_by_system_id_with_http_info(system_id, request_body, opts)
86
96
  data
87
97
  end
88
98
 
89
99
  # Update control information in a system for one or many controls
90
- # Update a Control for given &#x60;systemId&#x60;&lt;br&gt; **Request Body Required Fields** - &#x60;acronym&#x60; - &#x60;responsibleEntities&#x60; - &#x60;controlDesignation&#x60; - &#x60;estimatedCompletionDate&#x60; - &#x60;implementationNarrative&#x60; The following optional fields are required based on the Implementation Status &#x60;implementationStatus&#x60; value&lt;br&gt; | Value | Required Fields |--------------------------|--------------------------------------------------- | Planned or Implemented | &#x60;estimatedCompletionDate&#x60;, &#x60;responsibleEntities&#x60;, &#x60;slcmCriticality&#x60;, &#x60;slcmFrequency&#x60;, &#x60;slcmMethod&#x60;, &#x60;slcmReporting&#x60;, &#x60;slcmTracking&#x60;, &#x60;slcmComments&#x60; | Not Applicable | &#x60;naJustification&#x60;, &#x60;responsibleEntities&#x60; | Manually Inherited | &#x60;commonControlProvider&#x60;, &#x60;estimatedCompletionDate&#x60;, &#x60;responsibleEntities&#x60;, &#x60;slcmCriticality&#x60;, &#x60;slcmFrequency&#x60;, &#x60;slcmMethod&#x60;, &#x60;slcmReporting&#x60;, &#x60;slcmTracking&#x60;, &#x60;slcmComments&#x60; If the Implementation Status &#x60;implementationStatus&#x60; value is \&quot;Inherited\&quot;, only the following fields can be updated: - &#x60;controlDesignation&#x60; - &#x60;commonnControlProvider&#x60;
91
- # @param body Update an existing control by Id
92
- # @param system_id **System Id**: The unique system record identifier.
100
+ # Update a Control for given &#x60;systemId&#x60;&lt;br&gt; **Request Body Required Fields** - &#x60;acronym&#x60; - &#x60;responsibleEntities&#x60; - &#x60;controlDesignation&#x60; - &#x60;estimatedCompletionDate&#x60; - &#x60;implementationNarrative&#x60; The following optional fields are required based on the Implementation Status &#x60;implementationStatus&#x60; value&lt;br&gt; | Value | Required Fields |--------------------------|--------------------------------------------------- | Planned or Implemented | &#x60;estimatedCompletionDate&#x60;, &#x60;responsibleEntities&#x60;, &#x60;slcmCriticality&#x60;, &#x60;slcmFrequency&#x60;, &#x60;slcmMethod&#x60;, &#x60;slcmReporting&#x60;, &#x60;slcmTracking&#x60;, &#x60;slcmComments&#x60; | Not Applicable | &#x60;naJustification&#x60;, &#x60;responsibleEntities&#x60; | Manually Inherited | &#x60;commonControlProvider&#x60;, &#x60;estimatedCompletionDate&#x60;, &#x60;responsibleEntities&#x60;, &#x60;slcmCriticality&#x60;, &#x60;slcmFrequency&#x60;, &#x60;slcmMethod&#x60;, &#x60;slcmReporting&#x60;, &#x60;slcmTracking&#x60;, &#x60;slcmComments&#x60; If the Implementation Status &#x60;implementationStatus&#x60; value is &#x60;Inherited&#x60;, only the following fields can be updated: - &#x60;controlDesignation&#x60; - &#x60;commonnControlProvider&#x60;
101
+ # @param system_id [Integer] **System Id**: The unique system record identifier.
102
+ # @param request_body [Array<Object>] Update an existing control by Id
93
103
  # @param [Hash] opts the optional parameters
94
104
  # @return [Array<(ControlsResponsePut, Integer, Hash)>] ControlsResponsePut data, response status code and response headers
95
- def update_control_by_system_id_with_http_info(body, system_id, opts = {})
105
+ def update_control_by_system_id_with_http_info(system_id, request_body, opts = {})
96
106
  if @api_client.config.debugging
97
107
  @api_client.config.logger.debug 'Calling API: ControlsApi.update_control_by_system_id ...'
98
108
  end
99
- # verify the required parameter 'body' is set
100
- if @api_client.config.client_side_validation && body.nil?
101
- fail ArgumentError, "Missing the required parameter 'body' when calling ControlsApi.update_control_by_system_id"
102
- end
103
109
  # verify the required parameter 'system_id' is set
104
110
  if @api_client.config.client_side_validation && system_id.nil?
105
111
  fail ArgumentError, "Missing the required parameter 'system_id' when calling ControlsApi.update_control_by_system_id"
106
112
  end
113
+ # verify the required parameter 'request_body' is set
114
+ if @api_client.config.client_side_validation && request_body.nil?
115
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ControlsApi.update_control_by_system_id"
116
+ end
107
117
  # resource path
108
- local_var_path = '/api/systems/{systemId}/controls'.sub('{' + 'systemId' + '}', system_id.to_s)
118
+ local_var_path = '/api/systems/{systemId}/controls'.sub('{' + 'systemId' + '}', CGI.escape(system_id.to_s))
109
119
 
110
120
  # query parameters
111
121
  query_params = opts[:query_params] || {}
@@ -115,25 +125,34 @@ module EmassClient
115
125
  # HTTP header 'Accept' (if needed)
116
126
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
117
127
  # HTTP header 'Content-Type'
118
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
128
+ content_type = @api_client.select_header_content_type(['application/json'])
129
+ if !content_type.nil?
130
+ header_params['Content-Type'] = content_type
131
+ end
119
132
 
120
133
  # form parameters
121
134
  form_params = opts[:form_params] || {}
122
135
 
123
136
  # http body (model)
124
- post_body = opts[:body] || @api_client.object_to_http_body(body)
137
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
138
+
139
+ # return_type
140
+ return_type = opts[:debug_return_type] || 'ControlsResponsePut'
125
141
 
126
- return_type = opts[:return_type] || 'ControlsResponsePut'
142
+ # auth_names
143
+ auth_names = opts[:debug_auth_names] || ['apiKey', 'mockType', 'userId']
127
144
 
128
- auth_names = opts[:auth_names] || ['apikey', 'mockType', 'userid']
129
- data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
145
+ new_options = opts.merge(
146
+ :operation => :"ControlsApi.update_control_by_system_id",
130
147
  :header_params => header_params,
131
148
  :query_params => query_params,
132
149
  :form_params => form_params,
133
150
  :body => post_body,
134
151
  :auth_names => auth_names,
135
- :return_type => return_type)
152
+ :return_type => return_type
153
+ )
136
154
 
155
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
137
156
  if @api_client.config.debugging
138
157
  @api_client.config.logger.debug "API called: ControlsApi#update_control_by_system_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
139
158
  end