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.
- checksums.yaml +4 -4
- data/README.md +174 -131
- data/lib/emass_client/api/artifacts_api.rb +47 -52
- data/lib/emass_client/api/artifacts_export_api.rb +5 -5
- data/lib/emass_client/api/cac_api.rb +12 -12
- data/lib/emass_client/api/cloud_resource_results_api.rb +83 -9
- data/lib/emass_client/api/cmmc_assessment_dashboards_api.rb +314 -0
- data/lib/emass_client/api/cmmc_assessments_api.rb +5 -5
- data/lib/emass_client/api/coast_guard_system_fisma_metrics_dashboard_api.rb +95 -0
- data/lib/emass_client/api/container_scan_results_api.rb +83 -9
- data/lib/emass_client/api/controls_api.rb +17 -17
- data/lib/emass_client/api/device_scan_results_api.rb +112 -0
- data/lib/emass_client/api/hardware_baseline_api.rb +313 -0
- data/lib/emass_client/api/milestones_api.rb +18 -18
- data/lib/emass_client/api/organization_migration_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/pac_api.rb +16 -16
- data/lib/emass_client/api/poam_api.rb +47 -44
- data/lib/emass_client/api/registration_api.rb +5 -5
- data/lib/emass_client/api/software_baseline_api.rb +313 -0
- data/lib/emass_client/api/static_code_scans_api.rb +9 -9
- data/lib/emass_client/api/system_application_findings_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_artifacts_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_associations_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_atciatc_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_conmon_integration_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_connectivity_ccsd_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_critical_assets_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_device_findings_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_fisma_metrics_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_hardware_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_migration_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_poam_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_ports_protocols_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_privacy_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_questionnaire_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_roles_api.rb +8 -16
- data/lib/emass_client/api/system_security_controls_dashboards_api.rb +241 -0
- data/lib/emass_client/api/system_sensor_hardware_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_sensor_software_dashboards_api.rb +241 -0
- data/lib/emass_client/api/system_software_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_terms_conditions_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_vulnerability_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_workflows_dashboards_api.rb +241 -0
- data/lib/emass_client/api/systems_api.rb +22 -28
- data/lib/emass_client/api/test_api.rb +5 -5
- data/lib/emass_client/api/test_results_api.rb +19 -16
- data/lib/emass_client/api/user_system_assignments_dashboard_api.rb +95 -0
- data/lib/emass_client/api/va_system_dashboards_api.rb +679 -0
- data/lib/emass_client/api/vaombfisma_dashboard_api.rb +95 -0
- data/lib/emass_client/api/workflow_definitions_api.rb +9 -9
- data/lib/emass_client/api/workflow_instances_api.rb +17 -14
- data/lib/emass_client/api_client.rb +46 -32
- data/lib/emass_client/api_error.rb +4 -4
- data/lib/emass_client/configuration.rb +42 -12
- data/lib/emass_client/models/{response201.rb → api_rule_failed.rb} +29 -28
- data/lib/emass_client/models/{response490_meta.rb → api_rule_failed_meta.rb} +34 -29
- data/lib/emass_client/models/artifacts_ids.rb +221 -0
- data/lib/emass_client/models/artifacts_optional_fields.rb +298 -0
- data/lib/emass_client/models/artifacts_read_only_fields.rb +255 -0
- data/lib/emass_client/models/artifacts_request_delete_body_inner.rb +26 -25
- data/lib/emass_client/models/artifacts_required_fields.rb +252 -0
- data/lib/emass_client/models/artifacts_response_del.rb +26 -25
- data/lib/emass_client/models/artifacts_response_del_data_inner.rb +26 -25
- data/lib/emass_client/models/artifacts_response_get.rb +27 -26
- data/lib/emass_client/models/{artifacts_get.rb → artifacts_response_get_data_inner.rb} +91 -70
- data/lib/emass_client/models/artifacts_response_put_post.rb +26 -25
- data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +40 -30
- data/lib/emass_client/models/{response403.rb → bad_request.rb} +29 -28
- data/lib/emass_client/models/{response400_meta.rb → bad_request_meta.rb} +34 -29
- data/lib/emass_client/models/cac_get.rb +26 -25
- data/lib/emass_client/models/cac_response_get.rb +26 -25
- data/lib/emass_client/models/cac_response_post.rb +26 -25
- data/lib/emass_client/models/cac_response_post_data_inner.rb +40 -30
- data/lib/emass_client/models/{poam_response_post.rb → cloud_resources_delete.rb} +29 -28
- data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +221 -0
- data/lib/emass_client/models/{cloud_resources_post.rb → cloud_resources_post_delete.rb} +42 -32
- data/lib/emass_client/models/cloud_resources_response_post.rb +27 -26
- data/lib/emass_client/models/cmmc_get.rb +96 -140
- data/lib/emass_client/models/cmmc_response_get.rb +26 -25
- data/lib/emass_client/models/connectivity_ccsd.rb +26 -25
- data/lib/emass_client/models/container_resources_delete_body_inner.rb +221 -0
- data/lib/emass_client/models/{containers_resources_post.rb → containers_resources_post_delete.rb} +42 -32
- data/lib/emass_client/models/{poam_response_delete.rb → containers_response_delete.rb} +29 -28
- data/lib/emass_client/models/containers_response_post.rb +27 -26
- data/lib/emass_client/models/controls_conditional_fields.rb +357 -0
- data/lib/emass_client/models/controls_ids.rb +221 -0
- data/lib/emass_client/models/controls_optional_fields.rb +471 -0
- data/lib/emass_client/models/controls_put.rb +40 -30
- data/lib/emass_client/models/controls_read_only_fields.rb +277 -0
- data/lib/emass_client/models/controls_required_fields.rb +295 -0
- data/lib/emass_client/models/controls_response_get.rb +27 -26
- data/lib/emass_client/models/{controls_get.rb → controls_response_get_data_inner.rb} +210 -166
- data/lib/emass_client/models/controls_response_put.rb +26 -25
- data/lib/emass_client/models/{response400.rb → created.rb} +29 -28
- data/lib/emass_client/models/{response201_meta.rb → created_meta.rb} +34 -29
- data/lib/emass_client/models/definition_transitions.rb +26 -25
- data/lib/emass_client/models/{success200_response.rb → device_scan_results_response_post.rb} +29 -28
- data/lib/emass_client/models/{success200_response_data_inner.rb → device_scan_results_response_post_data_inner.rb} +72 -33
- data/lib/emass_client/models/{response401.rb → forbidden.rb} +29 -28
- data/lib/emass_client/models/{response403_meta.rb → forbidden_meta.rb} +34 -29
- data/lib/emass_client/models/get_system_status_details200_response.rb +240 -0
- data/lib/emass_client/models/hw_baseline_conditional_fields.rb +244 -0
- data/lib/emass_client/models/hw_baseline_ids.rb +221 -0
- data/lib/emass_client/models/hw_baseline_optional_fields.rb +354 -0
- data/lib/emass_client/models/hw_baseline_read_only_fields.rb +222 -0
- data/lib/emass_client/models/hw_baseline_request_delete_body_inner.rb +220 -0
- data/lib/emass_client/models/hw_baseline_required_fields.rb +221 -0
- data/lib/emass_client/models/hw_baseline_response_delete.rb +231 -0
- data/lib/emass_client/models/hw_baseline_response_delete_data_inner.rb +274 -0
- data/lib/emass_client/models/{dashboard_mock_response.rb → hw_baseline_response_get.rb} +30 -29
- data/lib/emass_client/models/hw_baseline_response_get_data_inner.rb +429 -0
- data/lib/emass_client/models/hw_baseline_response_post_put.rb +231 -0
- data/lib/emass_client/models/hw_baseline_response_post_put_data_inner.rb +274 -0
- data/lib/emass_client/models/{instances_transitions.rb → instance_transitions.rb} +28 -27
- data/lib/emass_client/models/internal_server_error.rb +220 -0
- data/lib/emass_client/models/{response500_meta.rb → internal_server_error_meta.rb} +34 -29
- data/lib/emass_client/models/length_required.rb +220 -0
- data/lib/emass_client/models/{response411_meta.rb → length_required_meta.rb} +34 -29
- data/lib/emass_client/models/method_not_allowed.rb +220 -0
- data/lib/emass_client/models/{response405_meta.rb → method_not_allowed_meta.rb} +34 -29
- data/lib/emass_client/models/milestone_response_delete.rb +231 -0
- data/lib/emass_client/models/milestone_response_get.rb +26 -25
- data/lib/emass_client/models/milestone_response_get_milestone.rb +26 -25
- data/lib/emass_client/models/milestone_response_post.rb +26 -25
- data/lib/emass_client/models/milestone_response_put.rb +26 -25
- data/lib/emass_client/models/milestones_fields.rb +222 -0
- data/lib/emass_client/models/milestones_get.rb +55 -32
- data/lib/emass_client/models/milestones_put_post_delete.rb +40 -30
- data/lib/emass_client/models/milestones_request_delete_body_inner.rb +26 -25
- data/lib/emass_client/models/milestones_required_post.rb +35 -53
- data/lib/emass_client/models/milestones_required_post_milestones_inner.rb +265 -0
- data/lib/emass_client/models/milestones_required_put.rb +35 -68
- data/lib/emass_client/models/{ssps.rb → milestones_required_put_milestones_inner.rb} +101 -52
- data/lib/emass_client/models/{response404.rb → not_found.rb} +34 -29
- data/lib/emass_client/models/pac_get.rb +29 -37
- data/lib/emass_client/models/pac_post.rb +40 -30
- data/lib/emass_client/models/pac_response_get.rb +26 -25
- data/lib/emass_client/models/pac_response_post.rb +26 -25
- data/lib/emass_client/models/{dashboard_mock_response_pagination.rb → pagination.rb} +47 -46
- data/lib/emass_client/models/poam_conditional_fields.rb +402 -0
- data/lib/emass_client/models/poam_ids.rb +241 -0
- data/lib/emass_client/models/poam_optional_fields.rb +409 -0
- data/lib/emass_client/models/poam_post_put_del.rb +40 -30
- data/lib/emass_client/models/poam_read_only_fields.rb +332 -0
- data/lib/emass_client/models/poam_request_delete_body_inner.rb +26 -25
- data/lib/emass_client/models/poam_required_fields.rb +305 -0
- data/lib/emass_client/models/poam_response_get_poams.rb +27 -26
- data/lib/emass_client/models/poam_response_get_poams_data.rb +824 -0
- data/lib/emass_client/models/poam_response_get_systems.rb +27 -26
- data/lib/emass_client/models/poam_response_get_systems_data_inner.rb +824 -0
- data/lib/emass_client/models/{poam_response_put.rb → poam_response_post_put_delete.rb} +28 -27
- data/lib/emass_client/models/register.rb +26 -25
- data/lib/emass_client/models/register_data.rb +26 -25
- data/lib/emass_client/models/register_user_request_post_body.rb +38 -25
- data/lib/emass_client/models/response200.rb +32 -27
- data/lib/emass_client/models/role_category.rb +26 -25
- data/lib/emass_client/models/roles.rb +26 -25
- data/lib/emass_client/models/stage.rb +26 -25
- data/lib/emass_client/models/{static_code_application.rb → static_code_application_post.rb} +28 -27
- data/lib/emass_client/models/static_code_post.rb +40 -30
- data/lib/emass_client/models/static_code_request_post_body.rb +27 -26
- data/lib/emass_client/models/static_code_request_post_body_application.rb +26 -25
- data/lib/emass_client/models/static_code_response_post.rb +26 -25
- data/lib/emass_client/models/sw_baseline_conditional_fields.rb +222 -0
- data/lib/emass_client/models/sw_baseline_ids.rb +221 -0
- data/lib/emass_client/models/sw_baseline_optional_fields.rb +563 -0
- data/lib/emass_client/models/sw_baseline_read_only_fields.rb +222 -0
- data/lib/emass_client/models/sw_baseline_request_delete_body_inner.rb +220 -0
- data/lib/emass_client/models/sw_baseline_required_fields.rb +241 -0
- data/lib/emass_client/models/sw_baseline_response_delete.rb +231 -0
- data/lib/emass_client/models/sw_baseline_response_delete_data_inner.rb +274 -0
- data/lib/emass_client/models/sw_baseline_response_get.rb +240 -0
- data/lib/emass_client/models/sw_baseline_response_get_data_inner.rb +624 -0
- data/lib/emass_client/models/sw_baseline_response_post_put.rb +231 -0
- data/lib/emass_client/models/sw_baseline_response_post_put_data_inner.rb +274 -0
- data/lib/emass_client/models/system_response.rb +26 -25
- data/lib/emass_client/models/system_roles_category_response.rb +26 -25
- data/lib/emass_client/models/system_roles_response.rb +26 -25
- data/lib/emass_client/models/system_roles_response_data_inner.rb +26 -25
- data/lib/emass_client/models/systems.rb +950 -113
- data/lib/emass_client/models/systems_response.rb +26 -25
- data/lib/emass_client/models/test.rb +26 -25
- data/lib/emass_client/models/test_data.rb +26 -25
- data/lib/emass_client/models/test_results_get.rb +37 -26
- data/lib/emass_client/models/test_results_post.rb +40 -30
- data/lib/emass_client/models/test_results_response_get.rb +26 -25
- data/lib/emass_client/models/test_results_response_post.rb +26 -25
- data/lib/emass_client/models/unauthorized.rb +220 -0
- data/lib/emass_client/models/{response401_meta.rb → unauthorized_meta.rb} +34 -29
- data/lib/emass_client/models/users.rb +26 -25
- data/lib/emass_client/models/workflow_definition_get.rb +26 -25
- data/lib/emass_client/models/workflow_definition_response_get.rb +26 -25
- data/lib/emass_client/models/workflow_instance_get.rb +40 -28
- data/lib/emass_client/models/workflow_instance_response_get.rb +26 -25
- data/lib/emass_client/models/workflow_instances_response_get.rb +27 -26
- data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +26 -25
- data/lib/emass_client/version.rb +5 -5
- data/lib/emass_client.rb +112 -39
- metadata +116 -43
- data/lib/emass_client/api/dashboards_api.rb +0 -2139
- data/lib/emass_client/models/mock_object.rb +0 -343
- data/lib/emass_client/models/poam_get.rb +0 -683
- data/lib/emass_client/models/response405.rb +0 -219
- data/lib/emass_client/models/response411.rb +0 -219
- data/lib/emass_client/models/response490.rb +0 -219
- data/lib/emass_client/models/response500.rb +0 -219
- 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
|
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.
|
7
|
-
Contact: disa.
|
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
|
-
|
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
|
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
|
25
|
+
# @param poam_required_fields [Array<PoamRequiredFields>] Example request body to add POA&M(s) to a system (systemId)
|
26
26
|
# @param [Hash] opts the optional parameters
|
27
|
-
# @return [
|
28
|
-
def add_poam_by_system_id(system_id,
|
29
|
-
data, _status_code, _headers = add_poam_by_system_id_with_http_info(system_id,
|
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&M items in a system
|
34
|
-
# Add a POA&M for given `systemId`
|
34
|
+
# 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.
|
35
35
|
# @param system_id [Integer] **System Id**: The unique system record identifier.
|
36
|
-
# @param
|
36
|
+
# @param poam_required_fields [Array<PoamRequiredFields>] Example request body to add POA&M(s) to a system (systemId)
|
37
37
|
# @param [Hash] opts the optional parameters
|
38
|
-
# @return [Array<(
|
39
|
-
def add_poam_by_system_id_with_http_info(system_id,
|
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 '
|
48
|
-
if @api_client.config.client_side_validation &&
|
49
|
-
fail ArgumentError, "Missing the required parameter '
|
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(
|
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] || '
|
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&M Id
|
100
100
|
# @param [Hash] opts the optional parameters
|
101
|
-
# @return [
|
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&M Id
|
111
111
|
# @param [Hash] opts the optional parameters
|
112
|
-
# @return [Array<(
|
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] || '
|
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 **
|
177
|
-
# @option opts [String] :
|
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 **
|
192
|
-
# @option opts [String] :
|
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**
|
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
|
323
|
+
# @param poam_ids [Array<PoamIds>] Example request body for updating a POA&M for a system (systemId)
|
321
324
|
# @param [Hash] opts the optional parameters
|
322
|
-
# @return [
|
323
|
-
def update_poam_by_system_id(system_id,
|
324
|
-
data, _status_code, _headers = update_poam_by_system_id_with_http_info(system_id,
|
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&M items in a system
|
329
|
-
# Update a POA&M for given `systemId`<br> **Request Body Required Fields**
|
332
|
+
# 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
|
330
333
|
# @param system_id [Integer] **System Id**: The unique system record identifier.
|
331
|
-
# @param
|
334
|
+
# @param poam_ids [Array<PoamIds>] Example request body for updating a POA&M for a system (systemId)
|
332
335
|
# @param [Hash] opts the optional parameters
|
333
|
-
# @return [Array<(
|
334
|
-
def update_poam_by_system_id_with_http_info(system_id,
|
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 '
|
343
|
-
if @api_client.config.client_side_validation &&
|
344
|
-
fail ArgumentError, "Missing the required parameter '
|
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(
|
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] || '
|
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
|
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.
|
7
|
-
Contact: disa.
|
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
|
-
|
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] || {}
|