emass_client 3.10.1 → 3.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +57 -44
- data/lib/emass_client/api/artifacts_api.rb +14 -11
- data/lib/emass_client/api/artifacts_export_api.rb +3 -3
- data/lib/emass_client/api/cac_api.rb +7 -7
- data/lib/emass_client/api/cloud_resource_results_api.rb +79 -5
- data/lib/emass_client/api/cmmc_assessments_api.rb +3 -3
- data/lib/emass_client/api/container_scan_results_api.rb +79 -5
- data/lib/emass_client/api/controls_api.rb +5 -5
- data/lib/emass_client/api/enterprise_artifacts_dashboards_api.rb +168 -0
- data/lib/emass_client/api/enterprise_poam_dashboards_api.rb +168 -0
- data/lib/emass_client/api/enterprise_security_controls_dashboards_api.rb +241 -0
- data/lib/emass_client/api/enterprise_sensor_based_hardware_resources_dashboards_api.rb +168 -0
- data/lib/emass_client/api/enterprise_sensor_based_software_resources_dashboards_api.rb +241 -0
- data/lib/emass_client/api/enterprise_terms_conditions_dashboards_api.rb +168 -0
- data/lib/emass_client/api/enterprise_vulnerability_dashboards_api.rb +241 -0
- data/lib/emass_client/api/fisma_inventory_summary_dashboards_api.rb +168 -0
- data/lib/emass_client/api/hardware_baseline_dashboards_api.rb +168 -0
- data/lib/emass_client/api/milestones_api.rb +6 -6
- data/lib/emass_client/api/pac_api.rb +11 -11
- data/lib/emass_client/api/poam_api.rb +12 -9
- data/lib/emass_client/api/ports_and_protocols_dashboards_api.rb +168 -0
- data/lib/emass_client/api/privacy_compliance_dashboards_api.rb +168 -0
- data/lib/emass_client/api/registration_api.rb +3 -3
- data/lib/emass_client/api/software_baseline_dashboards_api.rb +168 -0
- data/lib/emass_client/api/static_code_scans_api.rb +5 -5
- data/lib/emass_client/api/system_a20_summary_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_aa_summary_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_associations_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_pl109_reporting_summary_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_roles_api.rb +5 -13
- data/lib/emass_client/api/system_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/systems_api.rb +26 -26
- data/lib/emass_client/api/test_api.rb +3 -3
- data/lib/emass_client/api/test_results_api.rb +14 -11
- data/lib/emass_client/api/threat_risks_dashboards_api.rb +241 -0
- data/lib/emass_client/api/users_dashboard_api.rb +95 -0
- data/lib/emass_client/api/workflow_definitions_api.rb +3 -3
- data/lib/emass_client/api/workflow_instances_api.rb +6 -3
- data/lib/emass_client/api_client.rb +5 -4
- data/lib/emass_client/api_error.rb +3 -3
- data/lib/emass_client/configuration.rb +3 -3
- data/lib/emass_client/models/artifacts_get.rb +28 -23
- data/lib/emass_client/models/artifacts_request_delete_body_inner.rb +15 -20
- data/lib/emass_client/models/artifacts_response_del.rb +15 -20
- data/lib/emass_client/models/artifacts_response_del_data_inner.rb +15 -20
- data/lib/emass_client/models/artifacts_response_get.rb +15 -20
- data/lib/emass_client/models/artifacts_response_put_post.rb +15 -20
- data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +29 -25
- data/lib/emass_client/models/cac_get.rb +15 -20
- data/lib/emass_client/models/cac_response_get.rb +15 -20
- data/lib/emass_client/models/cac_response_post.rb +15 -20
- data/lib/emass_client/models/cac_response_post_data_inner.rb +29 -25
- data/lib/emass_client/models/cloud_resources_delete.rb +225 -0
- data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +215 -0
- data/lib/emass_client/models/{cloud_resources_post.rb → cloud_resources_post_delete.rb} +32 -28
- data/lib/emass_client/models/cloud_resources_response_post.rb +16 -21
- data/lib/emass_client/models/cmmc_get.rb +15 -20
- data/lib/emass_client/models/cmmc_response_get.rb +15 -20
- data/lib/emass_client/models/connectivity_ccsd.rb +15 -20
- data/lib/emass_client/models/container_resources_delete_body_inner.rb +215 -0
- data/lib/emass_client/models/{containers_resources_post.rb → containers_resources_post_delete.rb} +32 -28
- data/lib/emass_client/models/containers_response_delete.rb +225 -0
- data/lib/emass_client/models/containers_response_post.rb +16 -21
- data/lib/emass_client/models/controls_get.rb +66 -39
- data/lib/emass_client/models/controls_put.rb +29 -25
- data/lib/emass_client/models/controls_response_get.rb +15 -20
- data/lib/emass_client/models/controls_response_put.rb +15 -20
- data/lib/emass_client/models/dashboard_mock_response.rb +15 -20
- data/lib/emass_client/models/dashboard_mock_response_pagination.rb +15 -20
- data/lib/emass_client/models/definition_transitions.rb +15 -20
- data/lib/emass_client/models/instances_transitions.rb +15 -20
- data/lib/emass_client/models/milestone_response_delete.rb +225 -0
- data/lib/emass_client/models/milestone_response_get.rb +15 -20
- data/lib/emass_client/models/milestone_response_get_milestone.rb +15 -20
- data/lib/emass_client/models/milestone_response_post.rb +15 -20
- data/lib/emass_client/models/milestone_response_put.rb +15 -20
- data/lib/emass_client/models/milestones_get.rb +15 -20
- data/lib/emass_client/models/milestones_put_post_delete.rb +29 -25
- data/lib/emass_client/models/milestones_request_delete_body_inner.rb +15 -20
- data/lib/emass_client/models/milestones_required_post.rb +19 -20
- data/lib/emass_client/models/milestones_required_put.rb +21 -20
- data/lib/emass_client/models/mock_object.rb +15 -20
- data/lib/emass_client/models/pac_get.rb +20 -45
- data/lib/emass_client/models/pac_post.rb +29 -25
- data/lib/emass_client/models/pac_response_get.rb +15 -20
- data/lib/emass_client/models/pac_response_post.rb +15 -20
- data/lib/emass_client/models/poam_get.rb +217 -36
- data/lib/emass_client/models/poam_post_put_del.rb +29 -25
- data/lib/emass_client/models/poam_request_delete_body_inner.rb +15 -20
- data/lib/emass_client/models/poam_response_delete.rb +15 -20
- data/lib/emass_client/models/poam_response_get_poams.rb +15 -20
- data/lib/emass_client/models/poam_response_get_systems.rb +15 -20
- data/lib/emass_client/models/poam_response_post.rb +15 -20
- data/lib/emass_client/models/poam_response_put.rb +15 -20
- data/lib/emass_client/models/register.rb +15 -20
- data/lib/emass_client/models/register_data.rb +15 -20
- data/lib/emass_client/models/register_user_request_post_body.rb +17 -20
- data/lib/emass_client/models/response200.rb +21 -22
- data/lib/emass_client/models/response201.rb +15 -20
- data/lib/emass_client/models/response201_meta.rb +21 -22
- data/lib/emass_client/models/response400.rb +15 -20
- data/lib/emass_client/models/response400_meta.rb +21 -22
- data/lib/emass_client/models/response401.rb +15 -20
- data/lib/emass_client/models/response401_meta.rb +21 -22
- data/lib/emass_client/models/response403.rb +15 -20
- data/lib/emass_client/models/response403_meta.rb +21 -22
- data/lib/emass_client/models/response404.rb +21 -22
- data/lib/emass_client/models/response405.rb +15 -20
- data/lib/emass_client/models/response405_meta.rb +21 -22
- data/lib/emass_client/models/response411.rb +15 -20
- data/lib/emass_client/models/response411_meta.rb +21 -22
- data/lib/emass_client/models/response490.rb +15 -20
- data/lib/emass_client/models/response490_meta.rb +21 -22
- data/lib/emass_client/models/response500.rb +15 -20
- data/lib/emass_client/models/response500_meta.rb +21 -22
- data/lib/emass_client/models/role_category.rb +15 -20
- data/lib/emass_client/models/roles.rb +15 -20
- data/lib/emass_client/models/ssps.rb +15 -20
- data/lib/emass_client/models/stage.rb +15 -20
- data/lib/emass_client/models/{static_code_application.rb → static_code_application_post.rb} +18 -23
- data/lib/emass_client/models/static_code_post.rb +29 -25
- data/lib/emass_client/models/static_code_request_post_body.rb +16 -21
- data/lib/emass_client/models/static_code_request_post_body_application.rb +15 -20
- data/lib/emass_client/models/static_code_response_post.rb +15 -20
- data/lib/emass_client/models/success200_response.rb +15 -20
- data/lib/emass_client/models/success200_response_data_inner.rb +29 -25
- data/lib/emass_client/models/system_response.rb +15 -20
- data/lib/emass_client/models/system_roles_category_response.rb +15 -20
- data/lib/emass_client/models/system_roles_response.rb +15 -20
- data/lib/emass_client/models/system_roles_response_data_inner.rb +15 -20
- data/lib/emass_client/models/systems.rb +248 -33
- data/lib/emass_client/models/systems_response.rb +15 -20
- data/lib/emass_client/models/test.rb +15 -20
- data/lib/emass_client/models/test_data.rb +15 -20
- data/lib/emass_client/models/test_results_get.rb +26 -21
- data/lib/emass_client/models/test_results_post.rb +29 -25
- data/lib/emass_client/models/test_results_response_get.rb +15 -20
- data/lib/emass_client/models/test_results_response_post.rb +15 -20
- data/lib/emass_client/models/users.rb +15 -20
- data/lib/emass_client/models/workflow_definition_get.rb +15 -20
- data/lib/emass_client/models/workflow_definition_response_get.rb +15 -20
- data/lib/emass_client/models/workflow_instance_get.rb +15 -20
- data/lib/emass_client/models/workflow_instance_response_get.rb +15 -20
- data/lib/emass_client/models/workflow_instances_get.rb +15 -20
- data/lib/emass_client/models/workflow_instances_response_get.rb +15 -20
- data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +15 -20
- data/lib/emass_client/version.rb +4 -4
- data/lib/emass_client.rb +31 -7
- metadata +30 -6
- data/lib/emass_client/api/dashboards_api.rb +0 -2139
@@ -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
|
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` POST endpoint to register the client certificate. The endpoint call returns the user `api-key`.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
|
5
5
|
|
6
|
-
The version of the OpenAPI document: v3.
|
6
|
+
The version of the OpenAPI document: v3.12
|
7
7
|
Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 7.
|
9
|
+
OpenAPI Generator version: 7.1.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -76,6 +76,7 @@ module EmassClient
|
|
76
76
|
# Show invalid properties with the reasons. Usually used together with valid?
|
77
77
|
# @return Array for valid properties with the reasons
|
78
78
|
def list_invalid_properties
|
79
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
79
80
|
invalid_properties = Array.new
|
80
81
|
invalid_properties
|
81
82
|
end
|
@@ -83,6 +84,7 @@ module EmassClient
|
|
83
84
|
# Check to see if the all the properties in the model are valid
|
84
85
|
# @return true if the model is valid
|
85
86
|
def valid?
|
87
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
86
88
|
true
|
87
89
|
end
|
88
90
|
|
@@ -111,37 +113,30 @@ module EmassClient
|
|
111
113
|
# @param [Hash] attributes Model attributes in the form of hash
|
112
114
|
# @return [Object] Returns the model itself
|
113
115
|
def self.build_from_hash(attributes)
|
114
|
-
new.build_from_hash(attributes)
|
115
|
-
end
|
116
|
-
|
117
|
-
# Builds the object from hash
|
118
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
119
|
-
# @return [Object] Returns the model itself
|
120
|
-
def build_from_hash(attributes)
|
121
116
|
return nil unless attributes.is_a?(Hash)
|
122
117
|
attributes = attributes.transform_keys(&:to_sym)
|
123
|
-
|
124
|
-
|
125
|
-
|
118
|
+
transformed_hash = {}
|
119
|
+
openapi_types.each_pair do |key, type|
|
120
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
121
|
+
transformed_hash["#{key}"] = nil
|
126
122
|
elsif type =~ /\AArray<(.*)>/i
|
127
123
|
# check to ensure the input is an array given that the attribute
|
128
124
|
# is documented as an array but the input is not
|
129
|
-
if attributes[
|
130
|
-
|
125
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
126
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
131
127
|
end
|
132
|
-
elsif !attributes[
|
133
|
-
|
128
|
+
elsif !attributes[attribute_map[key]].nil?
|
129
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
134
130
|
end
|
135
131
|
end
|
136
|
-
|
137
|
-
self
|
132
|
+
new(transformed_hash)
|
138
133
|
end
|
139
134
|
|
140
135
|
# Deserializes the data based on type
|
141
136
|
# @param string type Data type
|
142
137
|
# @param string value Value to be deserialized
|
143
138
|
# @return [Object] Deserialized data
|
144
|
-
def _deserialize(type, value)
|
139
|
+
def self._deserialize(type, value)
|
145
140
|
case type.to_sym
|
146
141
|
when :Time
|
147
142
|
Time.parse(value)
|
@@ -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
|
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` POST endpoint to register the client certificate. The endpoint call returns the user `api-key`.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
|
5
5
|
|
6
|
-
The version of the OpenAPI document: v3.
|
6
|
+
The version of the OpenAPI document: v3.12
|
7
7
|
Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 7.
|
9
|
+
OpenAPI Generator version: 7.1.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -75,6 +75,7 @@ module EmassClient
|
|
75
75
|
# Show invalid properties with the reasons. Usually used together with valid?
|
76
76
|
# @return Array for valid properties with the reasons
|
77
77
|
def list_invalid_properties
|
78
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
78
79
|
invalid_properties = Array.new
|
79
80
|
invalid_properties
|
80
81
|
end
|
@@ -82,6 +83,7 @@ module EmassClient
|
|
82
83
|
# Check to see if the all the properties in the model are valid
|
83
84
|
# @return true if the model is valid
|
84
85
|
def valid?
|
86
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
85
87
|
true
|
86
88
|
end
|
87
89
|
|
@@ -110,37 +112,30 @@ module EmassClient
|
|
110
112
|
# @param [Hash] attributes Model attributes in the form of hash
|
111
113
|
# @return [Object] Returns the model itself
|
112
114
|
def self.build_from_hash(attributes)
|
113
|
-
new.build_from_hash(attributes)
|
114
|
-
end
|
115
|
-
|
116
|
-
# Builds the object from hash
|
117
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
118
|
-
# @return [Object] Returns the model itself
|
119
|
-
def build_from_hash(attributes)
|
120
115
|
return nil unless attributes.is_a?(Hash)
|
121
116
|
attributes = attributes.transform_keys(&:to_sym)
|
122
|
-
|
123
|
-
|
124
|
-
|
117
|
+
transformed_hash = {}
|
118
|
+
openapi_types.each_pair do |key, type|
|
119
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
120
|
+
transformed_hash["#{key}"] = nil
|
125
121
|
elsif type =~ /\AArray<(.*)>/i
|
126
122
|
# check to ensure the input is an array given that the attribute
|
127
123
|
# is documented as an array but the input is not
|
128
|
-
if attributes[
|
129
|
-
|
124
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
125
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
130
126
|
end
|
131
|
-
elsif !attributes[
|
132
|
-
|
127
|
+
elsif !attributes[attribute_map[key]].nil?
|
128
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
133
129
|
end
|
134
130
|
end
|
135
|
-
|
136
|
-
self
|
131
|
+
new(transformed_hash)
|
137
132
|
end
|
138
133
|
|
139
134
|
# Deserializes the data based on type
|
140
135
|
# @param string type Data type
|
141
136
|
# @param string value Value to be deserialized
|
142
137
|
# @return [Object] Deserialized data
|
143
|
-
def _deserialize(type, value)
|
138
|
+
def self._deserialize(type, value)
|
144
139
|
case type.to_sym
|
145
140
|
when :Time
|
146
141
|
Time.parse(value)
|
@@ -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
|
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` POST endpoint to register the client certificate. The endpoint call returns the user `api-key`.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
|
5
5
|
|
6
|
-
The version of the OpenAPI document: v3.
|
6
|
+
The version of the OpenAPI document: v3.12
|
7
7
|
Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 7.
|
9
|
+
OpenAPI Generator version: 7.1.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -15,9 +15,6 @@ require 'time'
|
|
15
15
|
|
16
16
|
module EmassClient
|
17
17
|
class PoamGet
|
18
|
-
# [Optional] Unique identifier external to the eMASS application for use with associating POA&Ms. 100 Characters.
|
19
|
-
attr_accessor :external_uid
|
20
|
-
|
21
18
|
# [Required] Unique eMASS system identifier.
|
22
19
|
attr_accessor :system_id
|
23
20
|
|
@@ -30,12 +27,18 @@ module EmassClient
|
|
30
27
|
# [Read-only] Indicates whether a test result is inherited.
|
31
28
|
attr_accessor :is_inherited
|
32
29
|
|
30
|
+
# [Optional] Unique identifier external to the eMASS application for use with associating POA&Ms. 100 Characters.
|
31
|
+
attr_accessor :external_uid
|
32
|
+
|
33
33
|
# [Optional] System acronym name.
|
34
34
|
attr_accessor :control_acronym
|
35
35
|
|
36
36
|
# [Optional] CCI associated with POA&M Item..
|
37
37
|
attr_accessor :cci
|
38
38
|
|
39
|
+
# [Optional] The Security Control Assessment Procedure being associated with the POA&M Item.
|
40
|
+
attr_accessor :assessment_procedure
|
41
|
+
|
39
42
|
# [Required] Values include the following: (Ongoing,Risk Accepted,Completed,Not Applicable
|
40
43
|
attr_accessor :status
|
41
44
|
|
@@ -113,6 +116,51 @@ module EmassClient
|
|
113
116
|
# [Conditional] Optionally used in PUT to delete milestones when updating a POA&M.
|
114
117
|
attr_accessor :is_active
|
115
118
|
|
119
|
+
# [Optional] Indicate the risk level expected after any proposed mitigations are implemented. Proposed mitigations should be appropriately documented as POA&M milestones. Navy only.
|
120
|
+
attr_accessor :resulting_residual_risk_level_after_proposed_mitigations
|
121
|
+
|
122
|
+
# [Optional] A predisposing condition is a condition existing within an organization, a mission or business process, enterprise architecture, information system/PIT, or environment of operation, which affects (i.e., increases or decreases) the likelihood that threat events, once initiated, result in adverse impacts. Navy only.
|
123
|
+
attr_accessor :predisposing_conditions
|
124
|
+
|
125
|
+
# [Optional] Describe the identified threat(s) and relevance to the information system. Navy only.
|
126
|
+
attr_accessor :threat_description
|
127
|
+
|
128
|
+
# [Optional] List any affected devices by hostname. If all devices in the information system are affected, state 'system' or 'all'. Navy only
|
129
|
+
attr_accessor :devices_affected
|
130
|
+
|
131
|
+
# [Required] If not specified, this field will be set to false because it does not accept a null value. VA only
|
132
|
+
attr_accessor :identified_in_cfo_audit_or_other_review
|
133
|
+
|
134
|
+
# [Conditional] At least one of the following is required and must be completed for each POA&M Item: Personnel Resources-> Funded Base Hours Personnel Resources-> Unfunded Base Hours Non-Personnel Resources-> Funded Amount Non-Personnel Resources-> Unfunded Amount Displays numbers to the second decimal point (e.g., 100.00). VA only.
|
135
|
+
attr_accessor :personnel_resources_funded_base_hours
|
136
|
+
|
137
|
+
# [Conditional] Required if Personnel Resources: Funded Base Hours is populated. Only accepts values present in the field's lookup table (modifiable by eMASS System Admins). VA only.
|
138
|
+
attr_accessor :personnel_resources_cost_code
|
139
|
+
|
140
|
+
# [Conditional] At least one of the following is required and must be completed for each POA&M Item: Personnel Resources-> Funded Base Hours Personnel Resources-> Unfunded Base Hours Non-Personnel Resources-> Funded Amount Non-Personnel Resources-> Unfunded Amount Displays numbers to the second decimal point (e.g., 100.00). VA only.
|
141
|
+
attr_accessor :personnel_resources_unfunded_base_hours
|
142
|
+
|
143
|
+
# [Conditional] Required if Personnel Resources: Unfunded Base Hours is populated. Only accepts values present in the field's lookup table (modifiable by eMASS System Admins). VA only.
|
144
|
+
attr_accessor :personnel_resources_nonfunding_obstacle
|
145
|
+
|
146
|
+
# [Conditional] Required if the value \"Other\" is populated for the field Personnel Resources: Non-Funding Obstacle. VA only.
|
147
|
+
attr_accessor :personnel_resources_nonfunding_obstacle_other_reason
|
148
|
+
|
149
|
+
# [Conditional] At least one of the following is required and must be completed for each POA&M Item: Personnel Resources-> Funded Base Hours Personnel Resources-> Unfunded Base Hours Non-Personnel Resources-> Funded Amount Non-Personnel Resources-> Unfunded Amount Displays numbers to the second decimal point (e.g., 100.00). VA only.
|
150
|
+
attr_accessor :non_personnel_resources_funded_amount
|
151
|
+
|
152
|
+
# [Conditional] Required if Non-Personnel Resources: Funded Amount is populated. Only accepts values present in the field's lookup table (modifiable by eMASS System Admins). VA only.
|
153
|
+
attr_accessor :non_personnel_resources_cost_code
|
154
|
+
|
155
|
+
# [Conditional] At least one of the following is required and must be completed for each POA&M Item: Personnel Resources-> Funded Base Hours Personnel Resources-> Unfunded Base Hours Non-Personnel Resources-> Funded Amount Non-Personnel Resources-> Unfunded Amount Displays numbers to the second decimal point (e.g., 100.00). VA only.
|
156
|
+
attr_accessor :non_personnel_resources_unfunded_amount
|
157
|
+
|
158
|
+
# [Conditional] Required if Non-Personnel Resources: Unfunded Amount is populated. Only accepts values present in the field's lookup table (modifiable by eMASS System Admins). VA only.
|
159
|
+
attr_accessor :non_personnel_resources_nonfunding_obstacle
|
160
|
+
|
161
|
+
# [Conditional] Required if the value \"Other\" is populated for the field Non-Personnel Resources: Non-Funding Obstacle. VA only.
|
162
|
+
attr_accessor :non_personnel_resources_nonfunding_obstacle_other_reason
|
163
|
+
|
116
164
|
class EnumAttributeValidator
|
117
165
|
attr_reader :datatype
|
118
166
|
attr_reader :allowable_values
|
@@ -138,13 +186,14 @@ module EmassClient
|
|
138
186
|
# Attribute mapping from ruby-style variable name to JSON key.
|
139
187
|
def self.attribute_map
|
140
188
|
{
|
141
|
-
:'external_uid' => :'externalUid',
|
142
189
|
:'system_id' => :'systemId',
|
143
190
|
:'poam_id' => :'poamId',
|
144
191
|
:'display_poam_id' => :'displayPoamId',
|
145
192
|
:'is_inherited' => :'isInherited',
|
193
|
+
:'external_uid' => :'externalUid',
|
146
194
|
:'control_acronym' => :'controlAcronym',
|
147
195
|
:'cci' => :'cci',
|
196
|
+
:'assessment_procedure' => :'assessmentProcedure',
|
148
197
|
:'status' => :'status',
|
149
198
|
:'review_status' => :'reviewStatus',
|
150
199
|
:'vulnerability_description' => :'vulnerabilityDescription',
|
@@ -170,7 +219,22 @@ module EmassClient
|
|
170
219
|
:'extension_date' => :'extensionDate',
|
171
220
|
:'comments' => :'comments',
|
172
221
|
:'mitigation' => :'mitigation',
|
173
|
-
:'is_active' => :'isActive'
|
222
|
+
:'is_active' => :'isActive',
|
223
|
+
:'resulting_residual_risk_level_after_proposed_mitigations' => :'resultingResidualRiskLevelAfterProposedMitigations',
|
224
|
+
:'predisposing_conditions' => :'predisposingConditions',
|
225
|
+
:'threat_description' => :'threatDescription',
|
226
|
+
:'devices_affected' => :'devicesAffected',
|
227
|
+
:'identified_in_cfo_audit_or_other_review' => :'identifiedInCFOAuditOrOtherReview',
|
228
|
+
:'personnel_resources_funded_base_hours' => :'personnelResourcesFundedBaseHours',
|
229
|
+
:'personnel_resources_cost_code' => :'personnelResourcesCostCode',
|
230
|
+
:'personnel_resources_unfunded_base_hours' => :'personnelResourcesUnfundedBaseHours',
|
231
|
+
:'personnel_resources_nonfunding_obstacle' => :'personnelResourcesNonfundingObstacle',
|
232
|
+
:'personnel_resources_nonfunding_obstacle_other_reason' => :'personnelResourcesNonfundingObstacleOtherReason',
|
233
|
+
:'non_personnel_resources_funded_amount' => :'nonPersonnelResourcesFundedAmount',
|
234
|
+
:'non_personnel_resources_cost_code' => :'nonPersonnelResourcesCostCode',
|
235
|
+
:'non_personnel_resources_unfunded_amount' => :'nonPersonnelResourcesUnfundedAmount',
|
236
|
+
:'non_personnel_resources_nonfunding_obstacle' => :'nonPersonnelResourcesNonfundingObstacle',
|
237
|
+
:'non_personnel_resources_nonfunding_obstacle_other_reason' => :'nonPersonnelResourcesNonfundingObstacleOtherReason'
|
174
238
|
}
|
175
239
|
end
|
176
240
|
|
@@ -182,13 +246,14 @@ module EmassClient
|
|
182
246
|
# Attribute type mapping.
|
183
247
|
def self.openapi_types
|
184
248
|
{
|
185
|
-
:'external_uid' => :'String',
|
186
249
|
:'system_id' => :'Integer',
|
187
250
|
:'poam_id' => :'Integer',
|
188
251
|
:'display_poam_id' => :'Integer',
|
189
252
|
:'is_inherited' => :'Boolean',
|
253
|
+
:'external_uid' => :'String',
|
190
254
|
:'control_acronym' => :'String',
|
191
255
|
:'cci' => :'String',
|
256
|
+
:'assessment_procedure' => :'String',
|
192
257
|
:'status' => :'String',
|
193
258
|
:'review_status' => :'String',
|
194
259
|
:'vulnerability_description' => :'String',
|
@@ -214,15 +279,30 @@ module EmassClient
|
|
214
279
|
:'extension_date' => :'Integer',
|
215
280
|
:'comments' => :'String',
|
216
281
|
:'mitigation' => :'String',
|
217
|
-
:'is_active' => :'Boolean'
|
282
|
+
:'is_active' => :'Boolean',
|
283
|
+
:'resulting_residual_risk_level_after_proposed_mitigations' => :'String',
|
284
|
+
:'predisposing_conditions' => :'String',
|
285
|
+
:'threat_description' => :'String',
|
286
|
+
:'devices_affected' => :'String',
|
287
|
+
:'identified_in_cfo_audit_or_other_review' => :'Boolean',
|
288
|
+
:'personnel_resources_funded_base_hours' => :'Float',
|
289
|
+
:'personnel_resources_cost_code' => :'String',
|
290
|
+
:'personnel_resources_unfunded_base_hours' => :'Float',
|
291
|
+
:'personnel_resources_nonfunding_obstacle' => :'String',
|
292
|
+
:'personnel_resources_nonfunding_obstacle_other_reason' => :'String',
|
293
|
+
:'non_personnel_resources_funded_amount' => :'Float',
|
294
|
+
:'non_personnel_resources_cost_code' => :'String',
|
295
|
+
:'non_personnel_resources_unfunded_amount' => :'Float',
|
296
|
+
:'non_personnel_resources_nonfunding_obstacle' => :'String',
|
297
|
+
:'non_personnel_resources_nonfunding_obstacle_other_reason' => :'String'
|
218
298
|
}
|
219
299
|
end
|
220
300
|
|
221
301
|
# List of attributes with nullable: true
|
222
302
|
def self.openapi_nullable
|
223
303
|
Set.new([
|
224
|
-
:'external_uid',
|
225
304
|
:'is_inherited',
|
305
|
+
:'external_uid',
|
226
306
|
:'control_acronym',
|
227
307
|
:'cci',
|
228
308
|
:'review_status',
|
@@ -244,7 +324,21 @@ module EmassClient
|
|
244
324
|
:'extension_date',
|
245
325
|
:'comments',
|
246
326
|
:'mitigation',
|
247
|
-
:'is_active'
|
327
|
+
:'is_active',
|
328
|
+
:'resulting_residual_risk_level_after_proposed_mitigations',
|
329
|
+
:'predisposing_conditions',
|
330
|
+
:'threat_description',
|
331
|
+
:'devices_affected',
|
332
|
+
:'personnel_resources_funded_base_hours',
|
333
|
+
:'personnel_resources_cost_code',
|
334
|
+
:'personnel_resources_unfunded_base_hours',
|
335
|
+
:'personnel_resources_nonfunding_obstacle',
|
336
|
+
:'personnel_resources_nonfunding_obstacle_other_reason',
|
337
|
+
:'non_personnel_resources_funded_amount',
|
338
|
+
:'non_personnel_resources_cost_code',
|
339
|
+
:'non_personnel_resources_unfunded_amount',
|
340
|
+
:'non_personnel_resources_nonfunding_obstacle',
|
341
|
+
:'non_personnel_resources_nonfunding_obstacle_other_reason'
|
248
342
|
])
|
249
343
|
end
|
250
344
|
|
@@ -263,10 +357,6 @@ module EmassClient
|
|
263
357
|
h[k.to_sym] = v
|
264
358
|
}
|
265
359
|
|
266
|
-
if attributes.key?(:'external_uid')
|
267
|
-
self.external_uid = attributes[:'external_uid']
|
268
|
-
end
|
269
|
-
|
270
360
|
if attributes.key?(:'system_id')
|
271
361
|
self.system_id = attributes[:'system_id']
|
272
362
|
end
|
@@ -283,6 +373,10 @@ module EmassClient
|
|
283
373
|
self.is_inherited = attributes[:'is_inherited']
|
284
374
|
end
|
285
375
|
|
376
|
+
if attributes.key?(:'external_uid')
|
377
|
+
self.external_uid = attributes[:'external_uid']
|
378
|
+
end
|
379
|
+
|
286
380
|
if attributes.key?(:'control_acronym')
|
287
381
|
self.control_acronym = attributes[:'control_acronym']
|
288
382
|
end
|
@@ -291,6 +385,10 @@ module EmassClient
|
|
291
385
|
self.cci = attributes[:'cci']
|
292
386
|
end
|
293
387
|
|
388
|
+
if attributes.key?(:'assessment_procedure')
|
389
|
+
self.assessment_procedure = attributes[:'assessment_procedure']
|
390
|
+
end
|
391
|
+
|
294
392
|
if attributes.key?(:'status')
|
295
393
|
self.status = attributes[:'status']
|
296
394
|
end
|
@@ -396,11 +494,72 @@ module EmassClient
|
|
396
494
|
if attributes.key?(:'is_active')
|
397
495
|
self.is_active = attributes[:'is_active']
|
398
496
|
end
|
497
|
+
|
498
|
+
if attributes.key?(:'resulting_residual_risk_level_after_proposed_mitigations')
|
499
|
+
self.resulting_residual_risk_level_after_proposed_mitigations = attributes[:'resulting_residual_risk_level_after_proposed_mitigations']
|
500
|
+
end
|
501
|
+
|
502
|
+
if attributes.key?(:'predisposing_conditions')
|
503
|
+
self.predisposing_conditions = attributes[:'predisposing_conditions']
|
504
|
+
end
|
505
|
+
|
506
|
+
if attributes.key?(:'threat_description')
|
507
|
+
self.threat_description = attributes[:'threat_description']
|
508
|
+
end
|
509
|
+
|
510
|
+
if attributes.key?(:'devices_affected')
|
511
|
+
self.devices_affected = attributes[:'devices_affected']
|
512
|
+
end
|
513
|
+
|
514
|
+
if attributes.key?(:'identified_in_cfo_audit_or_other_review')
|
515
|
+
self.identified_in_cfo_audit_or_other_review = attributes[:'identified_in_cfo_audit_or_other_review']
|
516
|
+
end
|
517
|
+
|
518
|
+
if attributes.key?(:'personnel_resources_funded_base_hours')
|
519
|
+
self.personnel_resources_funded_base_hours = attributes[:'personnel_resources_funded_base_hours']
|
520
|
+
end
|
521
|
+
|
522
|
+
if attributes.key?(:'personnel_resources_cost_code')
|
523
|
+
self.personnel_resources_cost_code = attributes[:'personnel_resources_cost_code']
|
524
|
+
end
|
525
|
+
|
526
|
+
if attributes.key?(:'personnel_resources_unfunded_base_hours')
|
527
|
+
self.personnel_resources_unfunded_base_hours = attributes[:'personnel_resources_unfunded_base_hours']
|
528
|
+
end
|
529
|
+
|
530
|
+
if attributes.key?(:'personnel_resources_nonfunding_obstacle')
|
531
|
+
self.personnel_resources_nonfunding_obstacle = attributes[:'personnel_resources_nonfunding_obstacle']
|
532
|
+
end
|
533
|
+
|
534
|
+
if attributes.key?(:'personnel_resources_nonfunding_obstacle_other_reason')
|
535
|
+
self.personnel_resources_nonfunding_obstacle_other_reason = attributes[:'personnel_resources_nonfunding_obstacle_other_reason']
|
536
|
+
end
|
537
|
+
|
538
|
+
if attributes.key?(:'non_personnel_resources_funded_amount')
|
539
|
+
self.non_personnel_resources_funded_amount = attributes[:'non_personnel_resources_funded_amount']
|
540
|
+
end
|
541
|
+
|
542
|
+
if attributes.key?(:'non_personnel_resources_cost_code')
|
543
|
+
self.non_personnel_resources_cost_code = attributes[:'non_personnel_resources_cost_code']
|
544
|
+
end
|
545
|
+
|
546
|
+
if attributes.key?(:'non_personnel_resources_unfunded_amount')
|
547
|
+
self.non_personnel_resources_unfunded_amount = attributes[:'non_personnel_resources_unfunded_amount']
|
548
|
+
end
|
549
|
+
|
550
|
+
if attributes.key?(:'non_personnel_resources_nonfunding_obstacle')
|
551
|
+
self.non_personnel_resources_nonfunding_obstacle = attributes[:'non_personnel_resources_nonfunding_obstacle']
|
552
|
+
end
|
553
|
+
|
554
|
+
if attributes.key?(:'non_personnel_resources_nonfunding_obstacle_other_reason')
|
555
|
+
self.non_personnel_resources_nonfunding_obstacle_other_reason = attributes[:'non_personnel_resources_nonfunding_obstacle_other_reason']
|
556
|
+
end
|
399
557
|
end
|
400
558
|
|
401
559
|
# Show invalid properties with the reasons. Usually used together with valid?
|
402
560
|
# @return Array for valid properties with the reasons
|
403
561
|
def list_invalid_properties
|
562
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
404
563
|
invalid_properties = Array.new
|
405
564
|
invalid_properties
|
406
565
|
end
|
@@ -408,6 +567,7 @@ module EmassClient
|
|
408
567
|
# Check to see if the all the properties in the model are valid
|
409
568
|
# @return true if the model is valid
|
410
569
|
def valid?
|
570
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
411
571
|
status_validator = EnumAttributeValidator.new('String', ["Ongoing", "Risk Accepted", "Completed", "Not Applicable", "Archived", "unknown_default_open_api"])
|
412
572
|
return false unless status_validator.valid?(@status)
|
413
573
|
review_status_validator = EnumAttributeValidator.new('String', ["Not Approved", "Under Review", "Approved", "unknown_default_open_api"])
|
@@ -424,6 +584,8 @@ module EmassClient
|
|
424
584
|
return false unless impact_validator.valid?(@impact)
|
425
585
|
residual_risk_level_validator = EnumAttributeValidator.new('String', ["Very Low", "Low", "Moderate", "High", "Very High", "unknown_default_open_api"])
|
426
586
|
return false unless residual_risk_level_validator.valid?(@residual_risk_level)
|
587
|
+
resulting_residual_risk_level_after_proposed_mitigations_validator = EnumAttributeValidator.new('String', ["Very Low", "Low", "Moderate", "High", "Very High", "unknown_default_open_api"])
|
588
|
+
return false unless resulting_residual_risk_level_after_proposed_mitigations_validator.valid?(@resulting_residual_risk_level_after_proposed_mitigations)
|
427
589
|
true
|
428
590
|
end
|
429
591
|
|
@@ -507,18 +669,29 @@ module EmassClient
|
|
507
669
|
@residual_risk_level = residual_risk_level
|
508
670
|
end
|
509
671
|
|
672
|
+
# Custom attribute writer method checking allowed values (enum).
|
673
|
+
# @param [Object] resulting_residual_risk_level_after_proposed_mitigations Object to be assigned
|
674
|
+
def resulting_residual_risk_level_after_proposed_mitigations=(resulting_residual_risk_level_after_proposed_mitigations)
|
675
|
+
validator = EnumAttributeValidator.new('String', ["Very Low", "Low", "Moderate", "High", "Very High", "unknown_default_open_api"])
|
676
|
+
unless validator.valid?(resulting_residual_risk_level_after_proposed_mitigations)
|
677
|
+
fail ArgumentError, "invalid value for \"resulting_residual_risk_level_after_proposed_mitigations\", must be one of #{validator.allowable_values}."
|
678
|
+
end
|
679
|
+
@resulting_residual_risk_level_after_proposed_mitigations = resulting_residual_risk_level_after_proposed_mitigations
|
680
|
+
end
|
681
|
+
|
510
682
|
# Checks equality by comparing each attribute.
|
511
683
|
# @param [Object] Object to be compared
|
512
684
|
def ==(o)
|
513
685
|
return true if self.equal?(o)
|
514
686
|
self.class == o.class &&
|
515
|
-
external_uid == o.external_uid &&
|
516
687
|
system_id == o.system_id &&
|
517
688
|
poam_id == o.poam_id &&
|
518
689
|
display_poam_id == o.display_poam_id &&
|
519
690
|
is_inherited == o.is_inherited &&
|
691
|
+
external_uid == o.external_uid &&
|
520
692
|
control_acronym == o.control_acronym &&
|
521
693
|
cci == o.cci &&
|
694
|
+
assessment_procedure == o.assessment_procedure &&
|
522
695
|
status == o.status &&
|
523
696
|
review_status == o.review_status &&
|
524
697
|
vulnerability_description == o.vulnerability_description &&
|
@@ -544,7 +717,22 @@ module EmassClient
|
|
544
717
|
extension_date == o.extension_date &&
|
545
718
|
comments == o.comments &&
|
546
719
|
mitigation == o.mitigation &&
|
547
|
-
is_active == o.is_active
|
720
|
+
is_active == o.is_active &&
|
721
|
+
resulting_residual_risk_level_after_proposed_mitigations == o.resulting_residual_risk_level_after_proposed_mitigations &&
|
722
|
+
predisposing_conditions == o.predisposing_conditions &&
|
723
|
+
threat_description == o.threat_description &&
|
724
|
+
devices_affected == o.devices_affected &&
|
725
|
+
identified_in_cfo_audit_or_other_review == o.identified_in_cfo_audit_or_other_review &&
|
726
|
+
personnel_resources_funded_base_hours == o.personnel_resources_funded_base_hours &&
|
727
|
+
personnel_resources_cost_code == o.personnel_resources_cost_code &&
|
728
|
+
personnel_resources_unfunded_base_hours == o.personnel_resources_unfunded_base_hours &&
|
729
|
+
personnel_resources_nonfunding_obstacle == o.personnel_resources_nonfunding_obstacle &&
|
730
|
+
personnel_resources_nonfunding_obstacle_other_reason == o.personnel_resources_nonfunding_obstacle_other_reason &&
|
731
|
+
non_personnel_resources_funded_amount == o.non_personnel_resources_funded_amount &&
|
732
|
+
non_personnel_resources_cost_code == o.non_personnel_resources_cost_code &&
|
733
|
+
non_personnel_resources_unfunded_amount == o.non_personnel_resources_unfunded_amount &&
|
734
|
+
non_personnel_resources_nonfunding_obstacle == o.non_personnel_resources_nonfunding_obstacle &&
|
735
|
+
non_personnel_resources_nonfunding_obstacle_other_reason == o.non_personnel_resources_nonfunding_obstacle_other_reason
|
548
736
|
end
|
549
737
|
|
550
738
|
# @see the `==` method
|
@@ -556,44 +744,37 @@ module EmassClient
|
|
556
744
|
# Calculates hash code according to all attributes.
|
557
745
|
# @return [Integer] Hash code
|
558
746
|
def hash
|
559
|
-
[
|
747
|
+
[system_id, poam_id, display_poam_id, is_inherited, external_uid, control_acronym, cci, assessment_procedure, status, review_status, vulnerability_description, source_ident_vuln, security_checks, milestones, poc_organization, poc_first_name, poc_last_name, poc_email, poc_phone_number, severity, raw_severity, relevance_of_threat, likelihood, impact, impact_description, residual_risk_level, recommendations, resources, scheduled_completion_date, completion_date, extension_date, comments, mitigation, is_active, resulting_residual_risk_level_after_proposed_mitigations, predisposing_conditions, threat_description, devices_affected, identified_in_cfo_audit_or_other_review, personnel_resources_funded_base_hours, personnel_resources_cost_code, personnel_resources_unfunded_base_hours, personnel_resources_nonfunding_obstacle, personnel_resources_nonfunding_obstacle_other_reason, non_personnel_resources_funded_amount, non_personnel_resources_cost_code, non_personnel_resources_unfunded_amount, non_personnel_resources_nonfunding_obstacle, non_personnel_resources_nonfunding_obstacle_other_reason].hash
|
560
748
|
end
|
561
749
|
|
562
750
|
# Builds the object from hash
|
563
751
|
# @param [Hash] attributes Model attributes in the form of hash
|
564
752
|
# @return [Object] Returns the model itself
|
565
753
|
def self.build_from_hash(attributes)
|
566
|
-
new.build_from_hash(attributes)
|
567
|
-
end
|
568
|
-
|
569
|
-
# Builds the object from hash
|
570
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
571
|
-
# @return [Object] Returns the model itself
|
572
|
-
def build_from_hash(attributes)
|
573
754
|
return nil unless attributes.is_a?(Hash)
|
574
755
|
attributes = attributes.transform_keys(&:to_sym)
|
575
|
-
|
576
|
-
|
577
|
-
|
756
|
+
transformed_hash = {}
|
757
|
+
openapi_types.each_pair do |key, type|
|
758
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
759
|
+
transformed_hash["#{key}"] = nil
|
578
760
|
elsif type =~ /\AArray<(.*)>/i
|
579
761
|
# check to ensure the input is an array given that the attribute
|
580
762
|
# is documented as an array but the input is not
|
581
|
-
if attributes[
|
582
|
-
|
763
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
764
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
583
765
|
end
|
584
|
-
elsif !attributes[
|
585
|
-
|
766
|
+
elsif !attributes[attribute_map[key]].nil?
|
767
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
586
768
|
end
|
587
769
|
end
|
588
|
-
|
589
|
-
self
|
770
|
+
new(transformed_hash)
|
590
771
|
end
|
591
772
|
|
592
773
|
# Deserializes the data based on type
|
593
774
|
# @param string type Data type
|
594
775
|
# @param string value Value to be deserialized
|
595
776
|
# @return [Object] Deserialized data
|
596
|
-
def _deserialize(type, value)
|
777
|
+
def self._deserialize(type, value)
|
597
778
|
case type.to_sym
|
598
779
|
when :Time
|
599
780
|
Time.parse(value)
|