emass_client 3.10.1 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +174 -131
  3. data/lib/emass_client/api/artifacts_api.rb +47 -52
  4. data/lib/emass_client/api/artifacts_export_api.rb +5 -5
  5. data/lib/emass_client/api/cac_api.rb +12 -12
  6. data/lib/emass_client/api/cloud_resource_results_api.rb +83 -9
  7. data/lib/emass_client/api/cmmc_assessment_dashboards_api.rb +314 -0
  8. data/lib/emass_client/api/cmmc_assessments_api.rb +5 -5
  9. data/lib/emass_client/api/coast_guard_system_fisma_metrics_dashboard_api.rb +95 -0
  10. data/lib/emass_client/api/container_scan_results_api.rb +83 -9
  11. data/lib/emass_client/api/controls_api.rb +17 -17
  12. data/lib/emass_client/api/device_scan_results_api.rb +112 -0
  13. data/lib/emass_client/api/hardware_baseline_api.rb +313 -0
  14. data/lib/emass_client/api/milestones_api.rb +18 -18
  15. data/lib/emass_client/api/organization_migration_status_dashboard_api.rb +95 -0
  16. data/lib/emass_client/api/pac_api.rb +16 -16
  17. data/lib/emass_client/api/poam_api.rb +47 -44
  18. data/lib/emass_client/api/registration_api.rb +5 -5
  19. data/lib/emass_client/api/software_baseline_api.rb +313 -0
  20. data/lib/emass_client/api/static_code_scans_api.rb +9 -9
  21. data/lib/emass_client/api/system_application_findings_dashboards_api.rb +168 -0
  22. data/lib/emass_client/api/system_artifacts_dashboards_api.rb +168 -0
  23. data/lib/emass_client/api/system_associations_dashboard_api.rb +95 -0
  24. data/lib/emass_client/api/system_atciatc_dashboard_api.rb +95 -0
  25. data/lib/emass_client/api/system_conmon_integration_status_dashboard_api.rb +95 -0
  26. data/lib/emass_client/api/system_connectivity_ccsd_dashboards_api.rb +168 -0
  27. data/lib/emass_client/api/system_critical_assets_dashboard_api.rb +95 -0
  28. data/lib/emass_client/api/system_device_findings_dashboards_api.rb +168 -0
  29. data/lib/emass_client/api/system_fisma_metrics_dashboard_api.rb +95 -0
  30. data/lib/emass_client/api/system_hardware_dashboards_api.rb +168 -0
  31. data/lib/emass_client/api/system_migration_status_dashboard_api.rb +95 -0
  32. data/lib/emass_client/api/system_poam_dashboards_api.rb +168 -0
  33. data/lib/emass_client/api/system_ports_protocols_dashboards_api.rb +168 -0
  34. data/lib/emass_client/api/system_privacy_dashboard_api.rb +95 -0
  35. data/lib/emass_client/api/system_questionnaire_dashboards_api.rb +168 -0
  36. data/lib/emass_client/api/system_roles_api.rb +8 -16
  37. data/lib/emass_client/api/system_security_controls_dashboards_api.rb +241 -0
  38. data/lib/emass_client/api/system_sensor_hardware_dashboards_api.rb +168 -0
  39. data/lib/emass_client/api/system_sensor_software_dashboards_api.rb +241 -0
  40. data/lib/emass_client/api/system_software_dashboards_api.rb +168 -0
  41. data/lib/emass_client/api/system_status_dashboard_api.rb +95 -0
  42. data/lib/emass_client/api/system_terms_conditions_dashboards_api.rb +168 -0
  43. data/lib/emass_client/api/system_vulnerability_dashboard_api.rb +95 -0
  44. data/lib/emass_client/api/system_workflows_dashboards_api.rb +241 -0
  45. data/lib/emass_client/api/systems_api.rb +22 -28
  46. data/lib/emass_client/api/test_api.rb +5 -5
  47. data/lib/emass_client/api/test_results_api.rb +19 -16
  48. data/lib/emass_client/api/user_system_assignments_dashboard_api.rb +95 -0
  49. data/lib/emass_client/api/va_system_dashboards_api.rb +679 -0
  50. data/lib/emass_client/api/vaombfisma_dashboard_api.rb +95 -0
  51. data/lib/emass_client/api/workflow_definitions_api.rb +9 -9
  52. data/lib/emass_client/api/workflow_instances_api.rb +17 -14
  53. data/lib/emass_client/api_client.rb +46 -32
  54. data/lib/emass_client/api_error.rb +4 -4
  55. data/lib/emass_client/configuration.rb +42 -12
  56. data/lib/emass_client/models/{response201.rb → api_rule_failed.rb} +29 -28
  57. data/lib/emass_client/models/{response490_meta.rb → api_rule_failed_meta.rb} +34 -29
  58. data/lib/emass_client/models/artifacts_ids.rb +221 -0
  59. data/lib/emass_client/models/artifacts_optional_fields.rb +298 -0
  60. data/lib/emass_client/models/artifacts_read_only_fields.rb +255 -0
  61. data/lib/emass_client/models/artifacts_request_delete_body_inner.rb +26 -25
  62. data/lib/emass_client/models/artifacts_required_fields.rb +252 -0
  63. data/lib/emass_client/models/artifacts_response_del.rb +26 -25
  64. data/lib/emass_client/models/artifacts_response_del_data_inner.rb +26 -25
  65. data/lib/emass_client/models/artifacts_response_get.rb +27 -26
  66. data/lib/emass_client/models/{artifacts_get.rb → artifacts_response_get_data_inner.rb} +91 -70
  67. data/lib/emass_client/models/artifacts_response_put_post.rb +26 -25
  68. data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +40 -30
  69. data/lib/emass_client/models/{response403.rb → bad_request.rb} +29 -28
  70. data/lib/emass_client/models/{response400_meta.rb → bad_request_meta.rb} +34 -29
  71. data/lib/emass_client/models/cac_get.rb +26 -25
  72. data/lib/emass_client/models/cac_response_get.rb +26 -25
  73. data/lib/emass_client/models/cac_response_post.rb +26 -25
  74. data/lib/emass_client/models/cac_response_post_data_inner.rb +40 -30
  75. data/lib/emass_client/models/{poam_response_post.rb → cloud_resources_delete.rb} +29 -28
  76. data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +221 -0
  77. data/lib/emass_client/models/{cloud_resources_post.rb → cloud_resources_post_delete.rb} +42 -32
  78. data/lib/emass_client/models/cloud_resources_response_post.rb +27 -26
  79. data/lib/emass_client/models/cmmc_get.rb +96 -140
  80. data/lib/emass_client/models/cmmc_response_get.rb +26 -25
  81. data/lib/emass_client/models/connectivity_ccsd.rb +26 -25
  82. data/lib/emass_client/models/container_resources_delete_body_inner.rb +221 -0
  83. data/lib/emass_client/models/{containers_resources_post.rb → containers_resources_post_delete.rb} +42 -32
  84. data/lib/emass_client/models/{poam_response_delete.rb → containers_response_delete.rb} +29 -28
  85. data/lib/emass_client/models/containers_response_post.rb +27 -26
  86. data/lib/emass_client/models/controls_conditional_fields.rb +357 -0
  87. data/lib/emass_client/models/controls_ids.rb +221 -0
  88. data/lib/emass_client/models/controls_optional_fields.rb +471 -0
  89. data/lib/emass_client/models/controls_put.rb +40 -30
  90. data/lib/emass_client/models/controls_read_only_fields.rb +277 -0
  91. data/lib/emass_client/models/controls_required_fields.rb +295 -0
  92. data/lib/emass_client/models/controls_response_get.rb +27 -26
  93. data/lib/emass_client/models/{controls_get.rb → controls_response_get_data_inner.rb} +210 -166
  94. data/lib/emass_client/models/controls_response_put.rb +26 -25
  95. data/lib/emass_client/models/{response400.rb → created.rb} +29 -28
  96. data/lib/emass_client/models/{response201_meta.rb → created_meta.rb} +34 -29
  97. data/lib/emass_client/models/definition_transitions.rb +26 -25
  98. data/lib/emass_client/models/{success200_response.rb → device_scan_results_response_post.rb} +29 -28
  99. data/lib/emass_client/models/{success200_response_data_inner.rb → device_scan_results_response_post_data_inner.rb} +72 -33
  100. data/lib/emass_client/models/{response401.rb → forbidden.rb} +29 -28
  101. data/lib/emass_client/models/{response403_meta.rb → forbidden_meta.rb} +34 -29
  102. data/lib/emass_client/models/get_system_status_details200_response.rb +240 -0
  103. data/lib/emass_client/models/hw_baseline_conditional_fields.rb +244 -0
  104. data/lib/emass_client/models/hw_baseline_ids.rb +221 -0
  105. data/lib/emass_client/models/hw_baseline_optional_fields.rb +354 -0
  106. data/lib/emass_client/models/hw_baseline_read_only_fields.rb +222 -0
  107. data/lib/emass_client/models/hw_baseline_request_delete_body_inner.rb +220 -0
  108. data/lib/emass_client/models/hw_baseline_required_fields.rb +221 -0
  109. data/lib/emass_client/models/hw_baseline_response_delete.rb +231 -0
  110. data/lib/emass_client/models/hw_baseline_response_delete_data_inner.rb +274 -0
  111. data/lib/emass_client/models/{dashboard_mock_response.rb → hw_baseline_response_get.rb} +30 -29
  112. data/lib/emass_client/models/hw_baseline_response_get_data_inner.rb +429 -0
  113. data/lib/emass_client/models/hw_baseline_response_post_put.rb +231 -0
  114. data/lib/emass_client/models/hw_baseline_response_post_put_data_inner.rb +274 -0
  115. data/lib/emass_client/models/{instances_transitions.rb → instance_transitions.rb} +28 -27
  116. data/lib/emass_client/models/internal_server_error.rb +220 -0
  117. data/lib/emass_client/models/{response500_meta.rb → internal_server_error_meta.rb} +34 -29
  118. data/lib/emass_client/models/length_required.rb +220 -0
  119. data/lib/emass_client/models/{response411_meta.rb → length_required_meta.rb} +34 -29
  120. data/lib/emass_client/models/method_not_allowed.rb +220 -0
  121. data/lib/emass_client/models/{response405_meta.rb → method_not_allowed_meta.rb} +34 -29
  122. data/lib/emass_client/models/milestone_response_delete.rb +231 -0
  123. data/lib/emass_client/models/milestone_response_get.rb +26 -25
  124. data/lib/emass_client/models/milestone_response_get_milestone.rb +26 -25
  125. data/lib/emass_client/models/milestone_response_post.rb +26 -25
  126. data/lib/emass_client/models/milestone_response_put.rb +26 -25
  127. data/lib/emass_client/models/milestones_fields.rb +222 -0
  128. data/lib/emass_client/models/milestones_get.rb +55 -32
  129. data/lib/emass_client/models/milestones_put_post_delete.rb +40 -30
  130. data/lib/emass_client/models/milestones_request_delete_body_inner.rb +26 -25
  131. data/lib/emass_client/models/milestones_required_post.rb +35 -53
  132. data/lib/emass_client/models/milestones_required_post_milestones_inner.rb +265 -0
  133. data/lib/emass_client/models/milestones_required_put.rb +35 -68
  134. data/lib/emass_client/models/{ssps.rb → milestones_required_put_milestones_inner.rb} +101 -52
  135. data/lib/emass_client/models/{response404.rb → not_found.rb} +34 -29
  136. data/lib/emass_client/models/pac_get.rb +29 -37
  137. data/lib/emass_client/models/pac_post.rb +40 -30
  138. data/lib/emass_client/models/pac_response_get.rb +26 -25
  139. data/lib/emass_client/models/pac_response_post.rb +26 -25
  140. data/lib/emass_client/models/{dashboard_mock_response_pagination.rb → pagination.rb} +47 -46
  141. data/lib/emass_client/models/poam_conditional_fields.rb +402 -0
  142. data/lib/emass_client/models/poam_ids.rb +241 -0
  143. data/lib/emass_client/models/poam_optional_fields.rb +409 -0
  144. data/lib/emass_client/models/poam_post_put_del.rb +40 -30
  145. data/lib/emass_client/models/poam_read_only_fields.rb +332 -0
  146. data/lib/emass_client/models/poam_request_delete_body_inner.rb +26 -25
  147. data/lib/emass_client/models/poam_required_fields.rb +305 -0
  148. data/lib/emass_client/models/poam_response_get_poams.rb +27 -26
  149. data/lib/emass_client/models/poam_response_get_poams_data.rb +824 -0
  150. data/lib/emass_client/models/poam_response_get_systems.rb +27 -26
  151. data/lib/emass_client/models/poam_response_get_systems_data_inner.rb +824 -0
  152. data/lib/emass_client/models/{poam_response_put.rb → poam_response_post_put_delete.rb} +28 -27
  153. data/lib/emass_client/models/register.rb +26 -25
  154. data/lib/emass_client/models/register_data.rb +26 -25
  155. data/lib/emass_client/models/register_user_request_post_body.rb +38 -25
  156. data/lib/emass_client/models/response200.rb +32 -27
  157. data/lib/emass_client/models/role_category.rb +26 -25
  158. data/lib/emass_client/models/roles.rb +26 -25
  159. data/lib/emass_client/models/stage.rb +26 -25
  160. data/lib/emass_client/models/{static_code_application.rb → static_code_application_post.rb} +28 -27
  161. data/lib/emass_client/models/static_code_post.rb +40 -30
  162. data/lib/emass_client/models/static_code_request_post_body.rb +27 -26
  163. data/lib/emass_client/models/static_code_request_post_body_application.rb +26 -25
  164. data/lib/emass_client/models/static_code_response_post.rb +26 -25
  165. data/lib/emass_client/models/sw_baseline_conditional_fields.rb +222 -0
  166. data/lib/emass_client/models/sw_baseline_ids.rb +221 -0
  167. data/lib/emass_client/models/sw_baseline_optional_fields.rb +563 -0
  168. data/lib/emass_client/models/sw_baseline_read_only_fields.rb +222 -0
  169. data/lib/emass_client/models/sw_baseline_request_delete_body_inner.rb +220 -0
  170. data/lib/emass_client/models/sw_baseline_required_fields.rb +241 -0
  171. data/lib/emass_client/models/sw_baseline_response_delete.rb +231 -0
  172. data/lib/emass_client/models/sw_baseline_response_delete_data_inner.rb +274 -0
  173. data/lib/emass_client/models/sw_baseline_response_get.rb +240 -0
  174. data/lib/emass_client/models/sw_baseline_response_get_data_inner.rb +624 -0
  175. data/lib/emass_client/models/sw_baseline_response_post_put.rb +231 -0
  176. data/lib/emass_client/models/sw_baseline_response_post_put_data_inner.rb +274 -0
  177. data/lib/emass_client/models/system_response.rb +26 -25
  178. data/lib/emass_client/models/system_roles_category_response.rb +26 -25
  179. data/lib/emass_client/models/system_roles_response.rb +26 -25
  180. data/lib/emass_client/models/system_roles_response_data_inner.rb +26 -25
  181. data/lib/emass_client/models/systems.rb +950 -113
  182. data/lib/emass_client/models/systems_response.rb +26 -25
  183. data/lib/emass_client/models/test.rb +26 -25
  184. data/lib/emass_client/models/test_data.rb +26 -25
  185. data/lib/emass_client/models/test_results_get.rb +37 -26
  186. data/lib/emass_client/models/test_results_post.rb +40 -30
  187. data/lib/emass_client/models/test_results_response_get.rb +26 -25
  188. data/lib/emass_client/models/test_results_response_post.rb +26 -25
  189. data/lib/emass_client/models/unauthorized.rb +220 -0
  190. data/lib/emass_client/models/{response401_meta.rb → unauthorized_meta.rb} +34 -29
  191. data/lib/emass_client/models/users.rb +26 -25
  192. data/lib/emass_client/models/workflow_definition_get.rb +26 -25
  193. data/lib/emass_client/models/workflow_definition_response_get.rb +26 -25
  194. data/lib/emass_client/models/workflow_instance_get.rb +40 -28
  195. data/lib/emass_client/models/workflow_instance_response_get.rb +26 -25
  196. data/lib/emass_client/models/workflow_instances_response_get.rb +27 -26
  197. data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +26 -25
  198. data/lib/emass_client/version.rb +5 -5
  199. data/lib/emass_client.rb +112 -39
  200. metadata +116 -43
  201. data/lib/emass_client/api/dashboards_api.rb +0 -2139
  202. data/lib/emass_client/models/mock_object.rb +0 -343
  203. data/lib/emass_client/models/poam_get.rb +0 -683
  204. data/lib/emass_client/models/response405.rb +0 -219
  205. data/lib/emass_client/models/response411.rb +0 -219
  206. data/lib/emass_client/models/response490.rb +0 -219
  207. data/lib/emass_client/models/response500.rb +0 -219
  208. data/lib/emass_client/models/workflow_instances_get.rb +0 -342
@@ -1,12 +1,12 @@
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. <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:
4
+ #The eMASS Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. The eMASS API provides an interface for application to communicate eMASS Services. For information on how to register and use the eMASS API reference the [eMASS API Getting Started](eMASSGettingStarted.md). Additional information about eMASS can be obtain by contacting the National Industrial Security Program (NISP). Points of Contact are:
5
5
 
6
- The version of the OpenAPI document: v3.10
7
- Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
6
+ The version of the OpenAPI document: v3.22
7
+ Contact: disa.global.servicedesk.mbx.ma-ticket-request@mail.mil
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0-SNAPSHOT
9
+ Generator version: 7.12.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -20,23 +20,23 @@ module EmassClient
20
20
  @api_client = api_client
21
21
  end
22
22
  # Add one or many POA&M items in a system
23
- # Add a POA&M for given `systemId`<br> **Request Body Required Fields** - `status` - `vulnerabilityDescription` - `sourceIdentVuln` - `pocOrganization` - `resources` **Note**<br /> If a POC email is supplied, the application will attempt to locate a user already registered within the application and pre-populate any information not explicitly supplied in the request. If no such user is found, these fields are **required** within the request.<br> `pocFirstName`, `pocLastName`, `pocPhoneNumber`<br />
23
+ # Add a POA&M for given `systemId` **Request Body Required Fields** <table> <thead> <tr><th><b>Field</b></th><th><b>Require/Condition</b></th></tr> </thead> <tbody> <tr><td><code>status</code></td><td>Always (every POST)</td></tr> <tr><td><code>vulnerabilityDescription</code></td><td>Always (every POST)</td></tr> <tr><td><code>sourceIdentifyingVulnerability</code></td><td>Always (every POST)</td></tr> <tr><td><code>pocOrganization</code></td><td>Always (every POST)</td></tr> <tr><td><code>resources</code></td><td>Always (every POST)</td></tr> <tr><td><code>identifiedInCFOAuditOrOtherReview</code></td><td>Required for VA. Optional for Army and USCG.</td></tr> <tr><td><code>scheduledCompletionDate</code></td><td>Required for ongoing and completed POA&M items</td></tr> <tr><td><code>pocFirstName</code></td><td>Only if Last Name, Email, or Phone Number have data</td></tr> <tr><td><code>pocLastName</code></td><td>Only if First Name, Email, or Phone Number have data</td></tr> <tr><td><code>pocEmail</code></td><td>Only if First Name, Last Name, or Phone Number have data</td></tr> <tr><td><code>pocPhoneNumber</code></td><td>Only if First Name, Last Name, or Email have data</td></tr> <tr><td><code>completionDate</code></td><td>For completed POA&M Item only</td></tr> <tr><td><code>comments</code></td><td>For completed or Risk Accepted POA&M Items only</td></tr> </tbody> </table> **NOTE**: Certain eMASS instances also require the Risk Analysis fields to be populated: - `severity` - `relevanceOfThreat` - `likelihood` - `impact` - `residualRiskLevel` - `mitigations` </br> **Business Rules** The following rules apply to the Review Status `status` field value: <table> <thead><tr><th><b>Value</b></th><th><b>Rule</b></th></tr></thead> <tbody> <tr><td><b>Not Approved</b></td><td>POA&M cannot be saved if Milestone Scheduled Completion Date exceeds POA&M Item Scheduled Completion Date</td></tr> <tr><td><b>Approved</b></td><td>POA&M can only be saved if Milestone Scheduled Completion Date exceeds POA&M Item Scheduled Completion Date</td></tr> <tr><td></td><td>Are required to have a Severity Value assigned</td></tr> <tr><td><b>Completed</b> or <b>Ongoing</b></td><td>Cannot be saved without Milestones</td></tr> <tr><td><b>Risk Accepted</b></td><td>POA&M Item cannot be saved with a Scheduled Completion Date <code>scheduledCompletionDate</code> or have Milestones</td></tr> <tr><td><b>Approved</b> or <b>Completed</b> or <b>Ongoing</b></td><td>Cannot update Scheduled Completion Date</td></tr> </tbody> </table> **Additional Rules** - POA&M Item cannot be saved if associated Security Control or AP is inherited. - Completed POA&M Item cannot be saved if Completion Date (`completionDate`) is in the future. - POA&M Items cannot be updated if they are included in an active package. - Archived POA&M Items cannot be updated. - POA&M Items with a status of \"Not Applicable\" will be updated through test result creation. - If the Security Control or Assessment Procedure does not exist in the system, the POA&M Item maybe imported at the System Level. **Fields Characters Limitation** - POA&M Item cannot be saved if the Point of Contact (POC) fields exceed 100 characters: - `pocOrganization` `pocFirstName`, `pocLastName`, `pocEmail`, `pocPhoneNumber` - POA&M Item cannot be saved if Resources (`resource`) field exceeds 250 characters - POA&M Item cannot be saved if the following fields exceeds 2,000 characters: - `mitigations`, `sourceIdentifyingVulnerability`, `comments` - Milestones Field: `description` - POA&M Items cannot be saved if Milestone Description (`description`) exceeds 2,000 characters.
24
24
  # @param system_id [Integer] **System Id**: The unique system record identifier.
25
- # @param request_body [Array<Object>] Add POA&amp;M(s) to a system (systemID)
25
+ # @param poam_required_fields [Array<PoamRequiredFields>] Example request body to add POA&amp;M(s) to a system (systemId)
26
26
  # @param [Hash] opts the optional parameters
27
- # @return [PoamResponsePost]
28
- def add_poam_by_system_id(system_id, request_body, opts = {})
29
- data, _status_code, _headers = add_poam_by_system_id_with_http_info(system_id, request_body, opts)
27
+ # @return [PoamResponsePostPutDelete]
28
+ def add_poam_by_system_id(system_id, poam_required_fields, opts = {})
29
+ data, _status_code, _headers = add_poam_by_system_id_with_http_info(system_id, poam_required_fields, opts)
30
30
  data
31
31
  end
32
32
 
33
33
  # Add one or many POA&amp;M items in a system
34
- # Add a POA&amp;M for given &#x60;systemId&#x60;&lt;br&gt; **Request Body Required Fields** - &#x60;status&#x60; - &#x60;vulnerabilityDescription&#x60; - &#x60;sourceIdentVuln&#x60; - &#x60;pocOrganization&#x60; - &#x60;resources&#x60; **Note**&lt;br /&gt; If a POC email is supplied, the application will attempt to locate a user already registered within the application and pre-populate any information not explicitly supplied in the request. If no such user is found, these fields are **required** within the request.&lt;br&gt; &#x60;pocFirstName&#x60;, &#x60;pocLastName&#x60;, &#x60;pocPhoneNumber&#x60;&lt;br /&gt;
34
+ # Add a POA&amp;M for given &#x60;systemId&#x60; **Request Body Required Fields** &lt;table&gt; &lt;thead&gt; &lt;tr&gt;&lt;th&gt;&lt;b&gt;Field&lt;/b&gt;&lt;/th&gt;&lt;th&gt;&lt;b&gt;Require/Condition&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;status&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every POST)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;vulnerabilityDescription&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every POST)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;sourceIdentifyingVulnerability&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every POST)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocOrganization&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every POST)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;resources&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every POST)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;identifiedInCFOAuditOrOtherReview&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Required for VA. Optional for Army and USCG.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;scheduledCompletionDate&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Required for ongoing and completed POA&amp;M items&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocFirstName&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Only if Last Name, Email, or Phone Number have data&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocLastName&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Only if First Name, Email, or Phone Number have data&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocEmail&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Only if First Name, Last Name, or Phone Number have data&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocPhoneNumber&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Only if First Name, Last Name, or Email have data&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;completionDate&lt;/code&gt;&lt;/td&gt;&lt;td&gt;For completed POA&amp;M Item only&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;comments&lt;/code&gt;&lt;/td&gt;&lt;td&gt;For completed or Risk Accepted POA&amp;M Items only&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; **NOTE**: Certain eMASS instances also require the Risk Analysis fields to be populated: - &#x60;severity&#x60; - &#x60;relevanceOfThreat&#x60; - &#x60;likelihood&#x60; - &#x60;impact&#x60; - &#x60;residualRiskLevel&#x60; - &#x60;mitigations&#x60; &lt;/br&gt; **Business Rules** The following rules apply to the Review Status &#x60;status&#x60; field value: &lt;table&gt; &lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;b&gt;Value&lt;/b&gt;&lt;/th&gt;&lt;th&gt;&lt;b&gt;Rule&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt;&lt;td&gt;&lt;b&gt;Not Approved&lt;/b&gt;&lt;/td&gt;&lt;td&gt;POA&amp;M cannot be saved if Milestone Scheduled Completion Date exceeds POA&amp;M Item Scheduled Completion Date&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;b&gt;Approved&lt;/b&gt;&lt;/td&gt;&lt;td&gt;POA&amp;M can only be saved if Milestone Scheduled Completion Date exceeds POA&amp;M Item Scheduled Completion Date&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Are required to have a Severity Value assigned&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;b&gt;Completed&lt;/b&gt; or &lt;b&gt;Ongoing&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Cannot be saved without Milestones&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;b&gt;Risk Accepted&lt;/b&gt;&lt;/td&gt;&lt;td&gt;POA&amp;M Item cannot be saved with a Scheduled Completion Date &lt;code&gt;scheduledCompletionDate&lt;/code&gt; or have Milestones&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;b&gt;Approved&lt;/b&gt; or &lt;b&gt;Completed&lt;/b&gt; or &lt;b&gt;Ongoing&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Cannot update Scheduled Completion Date&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; **Additional Rules** - POA&amp;M Item cannot be saved if associated Security Control or AP is inherited. - Completed POA&amp;M Item cannot be saved if Completion Date (&#x60;completionDate&#x60;) is in the future. - POA&amp;M Items cannot be updated if they are included in an active package. - Archived POA&amp;M Items cannot be updated. - POA&amp;M Items with a status of \&quot;Not Applicable\&quot; will be updated through test result creation. - If the Security Control or Assessment Procedure does not exist in the system, the POA&amp;M Item maybe imported at the System Level. **Fields Characters Limitation** - POA&amp;M Item cannot be saved if the Point of Contact (POC) fields exceed 100 characters: - &#x60;pocOrganization&#x60; &#x60;pocFirstName&#x60;, &#x60;pocLastName&#x60;, &#x60;pocEmail&#x60;, &#x60;pocPhoneNumber&#x60; - POA&amp;M Item cannot be saved if Resources (&#x60;resource&#x60;) field exceeds 250 characters - POA&amp;M Item cannot be saved if the following fields exceeds 2,000 characters: - &#x60;mitigations&#x60;, &#x60;sourceIdentifyingVulnerability&#x60;, &#x60;comments&#x60; - Milestones Field: &#x60;description&#x60; - POA&amp;M Items cannot be saved if Milestone Description (&#x60;description&#x60;) exceeds 2,000 characters.
35
35
  # @param system_id [Integer] **System Id**: The unique system record identifier.
36
- # @param request_body [Array<Object>] Add POA&amp;M(s) to a system (systemID)
36
+ # @param poam_required_fields [Array<PoamRequiredFields>] Example request body to add POA&amp;M(s) to a system (systemId)
37
37
  # @param [Hash] opts the optional parameters
38
- # @return [Array<(PoamResponsePost, Integer, Hash)>] PoamResponsePost data, response status code and response headers
39
- def add_poam_by_system_id_with_http_info(system_id, request_body, opts = {})
38
+ # @return [Array<(PoamResponsePostPutDelete, Integer, Hash)>] PoamResponsePostPutDelete data, response status code and response headers
39
+ def add_poam_by_system_id_with_http_info(system_id, poam_required_fields, opts = {})
40
40
  if @api_client.config.debugging
41
41
  @api_client.config.logger.debug 'Calling API: POAMApi.add_poam_by_system_id ...'
42
42
  end
@@ -44,9 +44,9 @@ module EmassClient
44
44
  if @api_client.config.client_side_validation && system_id.nil?
45
45
  fail ArgumentError, "Missing the required parameter 'system_id' when calling POAMApi.add_poam_by_system_id"
46
46
  end
47
- # verify the required parameter 'request_body' is set
48
- if @api_client.config.client_side_validation && request_body.nil?
49
- fail ArgumentError, "Missing the required parameter 'request_body' when calling POAMApi.add_poam_by_system_id"
47
+ # verify the required parameter 'poam_required_fields' is set
48
+ if @api_client.config.client_side_validation && poam_required_fields.nil?
49
+ fail ArgumentError, "Missing the required parameter 'poam_required_fields' when calling POAMApi.add_poam_by_system_id"
50
50
  end
51
51
  # resource path
52
52
  local_var_path = '/api/systems/{systemId}/poams'.sub('{' + 'systemId' + '}', CGI.escape(system_id.to_s))
@@ -57,7 +57,7 @@ module EmassClient
57
57
  # header parameters
58
58
  header_params = opts[:header_params] || {}
59
59
  # HTTP header 'Accept' (if needed)
60
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
61
  # HTTP header 'Content-Type'
62
62
  content_type = @api_client.select_header_content_type(['application/json'])
63
63
  if !content_type.nil?
@@ -68,10 +68,10 @@ module EmassClient
68
68
  form_params = opts[:form_params] || {}
69
69
 
70
70
  # http body (model)
71
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(poam_required_fields)
72
72
 
73
73
  # return_type
74
- return_type = opts[:debug_return_type] || 'PoamResponsePost'
74
+ return_type = opts[:debug_return_type] || 'PoamResponsePostPutDelete'
75
75
 
76
76
  # auth_names
77
77
  auth_names = opts[:debug_auth_names] || ['apiKey', 'mockType', 'userId']
@@ -98,7 +98,7 @@ module EmassClient
98
98
  # @param system_id [Integer] **System Id**: The unique system record identifier.
99
99
  # @param poam_request_delete_body_inner [Array<PoamRequestDeleteBodyInner>] Delete the given POA&amp;M Id
100
100
  # @param [Hash] opts the optional parameters
101
- # @return [PoamResponseDelete]
101
+ # @return [PoamResponsePostPutDelete]
102
102
  def delete_poam(system_id, poam_request_delete_body_inner, opts = {})
103
103
  data, _status_code, _headers = delete_poam_with_http_info(system_id, poam_request_delete_body_inner, opts)
104
104
  data
@@ -109,7 +109,7 @@ module EmassClient
109
109
  # @param system_id [Integer] **System Id**: The unique system record identifier.
110
110
  # @param poam_request_delete_body_inner [Array<PoamRequestDeleteBodyInner>] Delete the given POA&amp;M Id
111
111
  # @param [Hash] opts the optional parameters
112
- # @return [Array<(PoamResponseDelete, Integer, Hash)>] PoamResponseDelete data, response status code and response headers
112
+ # @return [Array<(PoamResponsePostPutDelete, Integer, Hash)>] PoamResponsePostPutDelete data, response status code and response headers
113
113
  def delete_poam_with_http_info(system_id, poam_request_delete_body_inner, opts = {})
114
114
  if @api_client.config.debugging
115
115
  @api_client.config.logger.debug 'Calling API: POAMApi.delete_poam ...'
@@ -131,7 +131,7 @@ module EmassClient
131
131
  # header parameters
132
132
  header_params = opts[:header_params] || {}
133
133
  # HTTP header 'Accept' (if needed)
134
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
134
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
135
135
  # HTTP header 'Content-Type'
136
136
  content_type = @api_client.select_header_content_type(['application/json'])
137
137
  if !content_type.nil?
@@ -145,7 +145,7 @@ module EmassClient
145
145
  post_body = opts[:debug_body] || @api_client.object_to_http_body(poam_request_delete_body_inner)
146
146
 
147
147
  # return_type
148
- return_type = opts[:debug_return_type] || 'PoamResponseDelete'
148
+ return_type = opts[:debug_return_type] || 'PoamResponsePostPutDelete'
149
149
 
150
150
  # auth_names
151
151
  auth_names = opts[:debug_auth_names] || ['apiKey', 'mockType', 'userId']
@@ -173,8 +173,9 @@ module EmassClient
173
173
  # @param [Hash] opts the optional parameters
174
174
  # @option opts [String] :scheduled_completion_date_start **Date Started**: Filter query by the scheduled completion start date (Unix date format).
175
175
  # @option opts [String] :scheduled_completion_date_end **Date Ended**: Filter query by the scheduled completion start date (Unix date format).
176
- # @option opts [String] :control_acronyms **System Acronym**: Filter query by given system acronym (single or comma separated).
177
- # @option opts [String] :ccis **CCI System**: Filter query by Control Correlation Identifiers (CCIs) (single or comma separated).
176
+ # @option opts [String] :control_acronyms **Control Acronym**: Filter query by given system acronym (single value or comma separated).
177
+ # @option opts [String] :assessment_procedures **Assessment Procedure**: Filter query by given Security Control Assessment Procedure (single value or comma separated).
178
+ # @option opts [String] :ccis **CCI System**: Filter query by Control Correlation Identifiers (CCIs) (single value or comma separated).
178
179
  # @option opts [Boolean] :system_only **Systems Only**: Indicates that only system(s) information is retrieved. (default to true)
179
180
  # @return [PoamResponseGetSystems]
180
181
  def get_system_poams(system_id, opts = {})
@@ -188,8 +189,9 @@ module EmassClient
188
189
  # @param [Hash] opts the optional parameters
189
190
  # @option opts [String] :scheduled_completion_date_start **Date Started**: Filter query by the scheduled completion start date (Unix date format).
190
191
  # @option opts [String] :scheduled_completion_date_end **Date Ended**: Filter query by the scheduled completion start date (Unix date format).
191
- # @option opts [String] :control_acronyms **System Acronym**: Filter query by given system acronym (single or comma separated).
192
- # @option opts [String] :ccis **CCI System**: Filter query by Control Correlation Identifiers (CCIs) (single or comma separated).
192
+ # @option opts [String] :control_acronyms **Control Acronym**: Filter query by given system acronym (single value or comma separated).
193
+ # @option opts [String] :assessment_procedures **Assessment Procedure**: Filter query by given Security Control Assessment Procedure (single value or comma separated).
194
+ # @option opts [String] :ccis **CCI System**: Filter query by Control Correlation Identifiers (CCIs) (single value or comma separated).
193
195
  # @option opts [Boolean] :system_only **Systems Only**: Indicates that only system(s) information is retrieved. (default to true)
194
196
  # @return [Array<(PoamResponseGetSystems, Integer, Hash)>] PoamResponseGetSystems data, response status code and response headers
195
197
  def get_system_poams_with_http_info(system_id, opts = {})
@@ -208,13 +210,14 @@ module EmassClient
208
210
  query_params[:'scheduledCompletionDateStart'] = opts[:'scheduled_completion_date_start'] if !opts[:'scheduled_completion_date_start'].nil?
209
211
  query_params[:'scheduledCompletionDateEnd'] = opts[:'scheduled_completion_date_end'] if !opts[:'scheduled_completion_date_end'].nil?
210
212
  query_params[:'controlAcronyms'] = opts[:'control_acronyms'] if !opts[:'control_acronyms'].nil?
213
+ query_params[:'assessmentProcedures'] = opts[:'assessment_procedures'] if !opts[:'assessment_procedures'].nil?
211
214
  query_params[:'ccis'] = opts[:'ccis'] if !opts[:'ccis'].nil?
212
215
  query_params[:'systemOnly'] = opts[:'system_only'] if !opts[:'system_only'].nil?
213
216
 
214
217
  # header parameters
215
218
  header_params = opts[:header_params] || {}
216
219
  # HTTP header 'Accept' (if needed)
217
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
220
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
218
221
 
219
222
  # form parameters
220
223
  form_params = opts[:form_params] || {}
@@ -283,7 +286,7 @@ module EmassClient
283
286
  # header parameters
284
287
  header_params = opts[:header_params] || {}
285
288
  # HTTP header 'Accept' (if needed)
286
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
289
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
287
290
 
288
291
  # form parameters
289
292
  form_params = opts[:form_params] || {}
@@ -315,23 +318,23 @@ module EmassClient
315
318
  end
316
319
 
317
320
  # Update one or many POA&M items in a system
318
- # Update a POA&M for given `systemId`<br> **Request Body Required Fields** - `poamId` - `displayPoamId` - `status` - `vulnerabilityDescription` - `sourceIdentVuln` - `pocOrganization` - `reviewStatus` **Notes** - If a POC email is supplied, the application will attempt to locate a user already registered within the application and pre-populate any information not explicitly supplied in the request. If no such user is found, these fields are **required** within the request.<br> `pocOrganization`, `pocFirstName`, `pocLastName`, `pocEmail`, `pocPhoneNumber`<br /> - To delete a milestone through the POA&M PUT the field `isActive` must be set to `false`: `isActive=false`.
321
+ # Update a POA&M for given `systemId`<br> **Request Body Required Fields** <table> <thead> <tr><th><b>Field</b></th><th><b>Require/Condition</b></th></tr> </thead> <tbody> <tr><td><code>poamId</code></td><td>Always (every PUT)</td></tr> <tr><td><code>displayPoamId</code></td><td>Always (every PUT)</td></tr> <tr><td><code>status</code></td><td>Always (every PUT)</td></tr> <tr><td><code>vulnerabilityDescription</code></td><td>Always (every PUT)</td></tr> <tr><td><code>sourceIdentifyingVulnerability</code></td><td>Always (every PUT)</td></tr> <tr><td><code>pocOrganization</code></td><td>Always (every PUT)</td></tr> <tr><td><code>resources</code></td><td>Always (every PUT)</td></tr> <tr><td><code>identifiedInCFOAuditOrOtherReview</code></td><td>Required for VA. Optional for Army and USCG.</td></tr> <tr><td><code>scheduledCompletionDate</code></td><td>Required for ongoing and completed POA&M items</td></tr> <tr><td><code>pocFirstName</code></td><td>Only if Last Name, Email, or Phone Number have data</td></tr> <tr><td><code>pocLastName</code></td><td>Only if First Name, Email, or Phone Number have data</td></tr> <tr><td><code>pocEmail</code></td><td>Only if First Name, Last Name, or Phone Number have data</td></tr> <tr><td><code>pocPhoneNumber</code></td><td>Only if First Name, Last Name, or Email have data</td></tr> <tr><td><code>completionDate</code></td><td>For completed POA&M Item only</td></tr> <tr><td><code>comments</code></td><td>For completed or Risk Accepted POA&M Items only</td></tr> </tbody> </table> **NOTES**: - Certain eMASS instances also require the Risk Analysis fields to be populated: - `severity` - `relevanceOfThreat` - `likelihood` - `impact` - `residualRiskLevel` - `mitigations` - To prevent uploading duplicate/undesired milestones through the POA&M PUT include an `isActive` field for the milestone and set it to equal to false `(isActive=false)`. </br> **Business Rules:** See business rules for the POST endpoint
319
322
  # @param system_id [Integer] **System Id**: The unique system record identifier.
320
- # @param request_body [Array<Object>] Update an existing control by Id
323
+ # @param poam_ids [Array<PoamIds>] Example request body for updating a POA&amp;M for a system (systemId)
321
324
  # @param [Hash] opts the optional parameters
322
- # @return [PoamResponsePut]
323
- def update_poam_by_system_id(system_id, request_body, opts = {})
324
- data, _status_code, _headers = update_poam_by_system_id_with_http_info(system_id, request_body, opts)
325
+ # @return [PoamResponsePostPutDelete]
326
+ def update_poam_by_system_id(system_id, poam_ids, opts = {})
327
+ data, _status_code, _headers = update_poam_by_system_id_with_http_info(system_id, poam_ids, opts)
325
328
  data
326
329
  end
327
330
 
328
331
  # Update one or many POA&amp;M items in a system
329
- # Update a POA&amp;M for given &#x60;systemId&#x60;&lt;br&gt; **Request Body Required Fields** - &#x60;poamId&#x60; - &#x60;displayPoamId&#x60; - &#x60;status&#x60; - &#x60;vulnerabilityDescription&#x60; - &#x60;sourceIdentVuln&#x60; - &#x60;pocOrganization&#x60; - &#x60;reviewStatus&#x60; **Notes** - If a POC email is supplied, the application will attempt to locate a user already registered within the application and pre-populate any information not explicitly supplied in the request. If no such user is found, these fields are **required** within the request.&lt;br&gt; &#x60;pocOrganization&#x60;, &#x60;pocFirstName&#x60;, &#x60;pocLastName&#x60;, &#x60;pocEmail&#x60;, &#x60;pocPhoneNumber&#x60;&lt;br /&gt; - To delete a milestone through the POA&amp;M PUT the field &#x60;isActive&#x60; must be set to &#x60;false&#x60;: &#x60;isActive&#x3D;false&#x60;.
332
+ # Update a POA&amp;M for given &#x60;systemId&#x60;&lt;br&gt; **Request Body Required Fields** &lt;table&gt; &lt;thead&gt; &lt;tr&gt;&lt;th&gt;&lt;b&gt;Field&lt;/b&gt;&lt;/th&gt;&lt;th&gt;&lt;b&gt;Require/Condition&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;poamId&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every PUT)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;displayPoamId&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every PUT)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;status&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every PUT)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;vulnerabilityDescription&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every PUT)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;sourceIdentifyingVulnerability&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every PUT)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocOrganization&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every PUT)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;resources&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Always (every PUT)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;identifiedInCFOAuditOrOtherReview&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Required for VA. Optional for Army and USCG.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;scheduledCompletionDate&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Required for ongoing and completed POA&amp;M items&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocFirstName&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Only if Last Name, Email, or Phone Number have data&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocLastName&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Only if First Name, Email, or Phone Number have data&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocEmail&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Only if First Name, Last Name, or Phone Number have data&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;pocPhoneNumber&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Only if First Name, Last Name, or Email have data&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;completionDate&lt;/code&gt;&lt;/td&gt;&lt;td&gt;For completed POA&amp;M Item only&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;code&gt;comments&lt;/code&gt;&lt;/td&gt;&lt;td&gt;For completed or Risk Accepted POA&amp;M Items only&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; **NOTES**: - Certain eMASS instances also require the Risk Analysis fields to be populated: - &#x60;severity&#x60; - &#x60;relevanceOfThreat&#x60; - &#x60;likelihood&#x60; - &#x60;impact&#x60; - &#x60;residualRiskLevel&#x60; - &#x60;mitigations&#x60; - To prevent uploading duplicate/undesired milestones through the POA&amp;M PUT include an &#x60;isActive&#x60; field for the milestone and set it to equal to false &#x60;(isActive&#x3D;false)&#x60;. &lt;/br&gt; **Business Rules:** See business rules for the POST endpoint
330
333
  # @param system_id [Integer] **System Id**: The unique system record identifier.
331
- # @param request_body [Array<Object>] Update an existing control by Id
334
+ # @param poam_ids [Array<PoamIds>] Example request body for updating a POA&amp;M for a system (systemId)
332
335
  # @param [Hash] opts the optional parameters
333
- # @return [Array<(PoamResponsePut, Integer, Hash)>] PoamResponsePut data, response status code and response headers
334
- def update_poam_by_system_id_with_http_info(system_id, request_body, opts = {})
336
+ # @return [Array<(PoamResponsePostPutDelete, Integer, Hash)>] PoamResponsePostPutDelete data, response status code and response headers
337
+ def update_poam_by_system_id_with_http_info(system_id, poam_ids, opts = {})
335
338
  if @api_client.config.debugging
336
339
  @api_client.config.logger.debug 'Calling API: POAMApi.update_poam_by_system_id ...'
337
340
  end
@@ -339,9 +342,9 @@ module EmassClient
339
342
  if @api_client.config.client_side_validation && system_id.nil?
340
343
  fail ArgumentError, "Missing the required parameter 'system_id' when calling POAMApi.update_poam_by_system_id"
341
344
  end
342
- # verify the required parameter 'request_body' is set
343
- if @api_client.config.client_side_validation && request_body.nil?
344
- fail ArgumentError, "Missing the required parameter 'request_body' when calling POAMApi.update_poam_by_system_id"
345
+ # verify the required parameter 'poam_ids' is set
346
+ if @api_client.config.client_side_validation && poam_ids.nil?
347
+ fail ArgumentError, "Missing the required parameter 'poam_ids' when calling POAMApi.update_poam_by_system_id"
345
348
  end
346
349
  # resource path
347
350
  local_var_path = '/api/systems/{systemId}/poams'.sub('{' + 'systemId' + '}', CGI.escape(system_id.to_s))
@@ -352,7 +355,7 @@ module EmassClient
352
355
  # header parameters
353
356
  header_params = opts[:header_params] || {}
354
357
  # HTTP header 'Accept' (if needed)
355
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
358
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
356
359
  # HTTP header 'Content-Type'
357
360
  content_type = @api_client.select_header_content_type(['application/json'])
358
361
  if !content_type.nil?
@@ -363,10 +366,10 @@ module EmassClient
363
366
  form_params = opts[:form_params] || {}
364
367
 
365
368
  # http body (model)
366
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
369
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(poam_ids)
367
370
 
368
371
  # return_type
369
- return_type = opts[:debug_return_type] || 'PoamResponsePut'
372
+ return_type = opts[:debug_return_type] || 'PoamResponsePostPutDelete'
370
373
 
371
374
  # auth_names
372
375
  auth_names = opts[:debug_auth_names] || ['apiKey', 'mockType', 'userId']
@@ -1,12 +1,12 @@
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. <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:
4
+ #The eMASS Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. The eMASS API provides an interface for application to communicate eMASS Services. For information on how to register and use the eMASS API reference the [eMASS API Getting Started](eMASSGettingStarted.md). Additional information about eMASS can be obtain by contacting the National Industrial Security Program (NISP). Points of Contact are:
5
5
 
6
- The version of the OpenAPI document: v3.10
7
- Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
6
+ The version of the OpenAPI document: v3.22
7
+ Contact: disa.global.servicedesk.mbx.ma-ticket-request@mail.mil
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0-SNAPSHOT
9
+ Generator version: 7.12.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -45,7 +45,7 @@ module EmassClient
45
45
  # header parameters
46
46
  header_params = opts[:header_params] || {}
47
47
  # HTTP header 'Accept' (if needed)
48
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
48
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
49
49
 
50
50
  # form parameters
51
51
  form_params = opts[:form_params] || {}