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.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +57 -44
  3. data/lib/emass_client/api/artifacts_api.rb +14 -11
  4. data/lib/emass_client/api/artifacts_export_api.rb +3 -3
  5. data/lib/emass_client/api/cac_api.rb +7 -7
  6. data/lib/emass_client/api/cloud_resource_results_api.rb +79 -5
  7. data/lib/emass_client/api/cmmc_assessments_api.rb +3 -3
  8. data/lib/emass_client/api/container_scan_results_api.rb +79 -5
  9. data/lib/emass_client/api/controls_api.rb +5 -5
  10. data/lib/emass_client/api/enterprise_artifacts_dashboards_api.rb +168 -0
  11. data/lib/emass_client/api/enterprise_poam_dashboards_api.rb +168 -0
  12. data/lib/emass_client/api/enterprise_security_controls_dashboards_api.rb +241 -0
  13. data/lib/emass_client/api/enterprise_sensor_based_hardware_resources_dashboards_api.rb +168 -0
  14. data/lib/emass_client/api/enterprise_sensor_based_software_resources_dashboards_api.rb +241 -0
  15. data/lib/emass_client/api/enterprise_terms_conditions_dashboards_api.rb +168 -0
  16. data/lib/emass_client/api/enterprise_vulnerability_dashboards_api.rb +241 -0
  17. data/lib/emass_client/api/fisma_inventory_summary_dashboards_api.rb +168 -0
  18. data/lib/emass_client/api/hardware_baseline_dashboards_api.rb +168 -0
  19. data/lib/emass_client/api/milestones_api.rb +6 -6
  20. data/lib/emass_client/api/pac_api.rb +11 -11
  21. data/lib/emass_client/api/poam_api.rb +12 -9
  22. data/lib/emass_client/api/ports_and_protocols_dashboards_api.rb +168 -0
  23. data/lib/emass_client/api/privacy_compliance_dashboards_api.rb +168 -0
  24. data/lib/emass_client/api/registration_api.rb +3 -3
  25. data/lib/emass_client/api/software_baseline_dashboards_api.rb +168 -0
  26. data/lib/emass_client/api/static_code_scans_api.rb +5 -5
  27. data/lib/emass_client/api/system_a20_summary_dashboard_api.rb +95 -0
  28. data/lib/emass_client/api/system_aa_summary_dashboard_api.rb +95 -0
  29. data/lib/emass_client/api/system_associations_dashboard_api.rb +95 -0
  30. data/lib/emass_client/api/system_conmon_integration_status_dashboard_api.rb +95 -0
  31. data/lib/emass_client/api/system_pl109_reporting_summary_dashboard_api.rb +95 -0
  32. data/lib/emass_client/api/system_roles_api.rb +5 -13
  33. data/lib/emass_client/api/system_status_dashboard_api.rb +95 -0
  34. data/lib/emass_client/api/systems_api.rb +26 -26
  35. data/lib/emass_client/api/test_api.rb +3 -3
  36. data/lib/emass_client/api/test_results_api.rb +14 -11
  37. data/lib/emass_client/api/threat_risks_dashboards_api.rb +241 -0
  38. data/lib/emass_client/api/users_dashboard_api.rb +95 -0
  39. data/lib/emass_client/api/workflow_definitions_api.rb +3 -3
  40. data/lib/emass_client/api/workflow_instances_api.rb +6 -3
  41. data/lib/emass_client/api_client.rb +5 -4
  42. data/lib/emass_client/api_error.rb +3 -3
  43. data/lib/emass_client/configuration.rb +3 -3
  44. data/lib/emass_client/models/artifacts_get.rb +28 -23
  45. data/lib/emass_client/models/artifacts_request_delete_body_inner.rb +15 -20
  46. data/lib/emass_client/models/artifacts_response_del.rb +15 -20
  47. data/lib/emass_client/models/artifacts_response_del_data_inner.rb +15 -20
  48. data/lib/emass_client/models/artifacts_response_get.rb +15 -20
  49. data/lib/emass_client/models/artifacts_response_put_post.rb +15 -20
  50. data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +29 -25
  51. data/lib/emass_client/models/cac_get.rb +15 -20
  52. data/lib/emass_client/models/cac_response_get.rb +15 -20
  53. data/lib/emass_client/models/cac_response_post.rb +15 -20
  54. data/lib/emass_client/models/cac_response_post_data_inner.rb +29 -25
  55. data/lib/emass_client/models/cloud_resources_delete.rb +225 -0
  56. data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +215 -0
  57. data/lib/emass_client/models/{cloud_resources_post.rb → cloud_resources_post_delete.rb} +32 -28
  58. data/lib/emass_client/models/cloud_resources_response_post.rb +16 -21
  59. data/lib/emass_client/models/cmmc_get.rb +15 -20
  60. data/lib/emass_client/models/cmmc_response_get.rb +15 -20
  61. data/lib/emass_client/models/connectivity_ccsd.rb +15 -20
  62. data/lib/emass_client/models/container_resources_delete_body_inner.rb +215 -0
  63. data/lib/emass_client/models/{containers_resources_post.rb → containers_resources_post_delete.rb} +32 -28
  64. data/lib/emass_client/models/containers_response_delete.rb +225 -0
  65. data/lib/emass_client/models/containers_response_post.rb +16 -21
  66. data/lib/emass_client/models/controls_get.rb +66 -39
  67. data/lib/emass_client/models/controls_put.rb +29 -25
  68. data/lib/emass_client/models/controls_response_get.rb +15 -20
  69. data/lib/emass_client/models/controls_response_put.rb +15 -20
  70. data/lib/emass_client/models/dashboard_mock_response.rb +15 -20
  71. data/lib/emass_client/models/dashboard_mock_response_pagination.rb +15 -20
  72. data/lib/emass_client/models/definition_transitions.rb +15 -20
  73. data/lib/emass_client/models/instances_transitions.rb +15 -20
  74. data/lib/emass_client/models/milestone_response_delete.rb +225 -0
  75. data/lib/emass_client/models/milestone_response_get.rb +15 -20
  76. data/lib/emass_client/models/milestone_response_get_milestone.rb +15 -20
  77. data/lib/emass_client/models/milestone_response_post.rb +15 -20
  78. data/lib/emass_client/models/milestone_response_put.rb +15 -20
  79. data/lib/emass_client/models/milestones_get.rb +15 -20
  80. data/lib/emass_client/models/milestones_put_post_delete.rb +29 -25
  81. data/lib/emass_client/models/milestones_request_delete_body_inner.rb +15 -20
  82. data/lib/emass_client/models/milestones_required_post.rb +19 -20
  83. data/lib/emass_client/models/milestones_required_put.rb +21 -20
  84. data/lib/emass_client/models/mock_object.rb +15 -20
  85. data/lib/emass_client/models/pac_get.rb +20 -45
  86. data/lib/emass_client/models/pac_post.rb +29 -25
  87. data/lib/emass_client/models/pac_response_get.rb +15 -20
  88. data/lib/emass_client/models/pac_response_post.rb +15 -20
  89. data/lib/emass_client/models/poam_get.rb +217 -36
  90. data/lib/emass_client/models/poam_post_put_del.rb +29 -25
  91. data/lib/emass_client/models/poam_request_delete_body_inner.rb +15 -20
  92. data/lib/emass_client/models/poam_response_delete.rb +15 -20
  93. data/lib/emass_client/models/poam_response_get_poams.rb +15 -20
  94. data/lib/emass_client/models/poam_response_get_systems.rb +15 -20
  95. data/lib/emass_client/models/poam_response_post.rb +15 -20
  96. data/lib/emass_client/models/poam_response_put.rb +15 -20
  97. data/lib/emass_client/models/register.rb +15 -20
  98. data/lib/emass_client/models/register_data.rb +15 -20
  99. data/lib/emass_client/models/register_user_request_post_body.rb +17 -20
  100. data/lib/emass_client/models/response200.rb +21 -22
  101. data/lib/emass_client/models/response201.rb +15 -20
  102. data/lib/emass_client/models/response201_meta.rb +21 -22
  103. data/lib/emass_client/models/response400.rb +15 -20
  104. data/lib/emass_client/models/response400_meta.rb +21 -22
  105. data/lib/emass_client/models/response401.rb +15 -20
  106. data/lib/emass_client/models/response401_meta.rb +21 -22
  107. data/lib/emass_client/models/response403.rb +15 -20
  108. data/lib/emass_client/models/response403_meta.rb +21 -22
  109. data/lib/emass_client/models/response404.rb +21 -22
  110. data/lib/emass_client/models/response405.rb +15 -20
  111. data/lib/emass_client/models/response405_meta.rb +21 -22
  112. data/lib/emass_client/models/response411.rb +15 -20
  113. data/lib/emass_client/models/response411_meta.rb +21 -22
  114. data/lib/emass_client/models/response490.rb +15 -20
  115. data/lib/emass_client/models/response490_meta.rb +21 -22
  116. data/lib/emass_client/models/response500.rb +15 -20
  117. data/lib/emass_client/models/response500_meta.rb +21 -22
  118. data/lib/emass_client/models/role_category.rb +15 -20
  119. data/lib/emass_client/models/roles.rb +15 -20
  120. data/lib/emass_client/models/ssps.rb +15 -20
  121. data/lib/emass_client/models/stage.rb +15 -20
  122. data/lib/emass_client/models/{static_code_application.rb → static_code_application_post.rb} +18 -23
  123. data/lib/emass_client/models/static_code_post.rb +29 -25
  124. data/lib/emass_client/models/static_code_request_post_body.rb +16 -21
  125. data/lib/emass_client/models/static_code_request_post_body_application.rb +15 -20
  126. data/lib/emass_client/models/static_code_response_post.rb +15 -20
  127. data/lib/emass_client/models/success200_response.rb +15 -20
  128. data/lib/emass_client/models/success200_response_data_inner.rb +29 -25
  129. data/lib/emass_client/models/system_response.rb +15 -20
  130. data/lib/emass_client/models/system_roles_category_response.rb +15 -20
  131. data/lib/emass_client/models/system_roles_response.rb +15 -20
  132. data/lib/emass_client/models/system_roles_response_data_inner.rb +15 -20
  133. data/lib/emass_client/models/systems.rb +248 -33
  134. data/lib/emass_client/models/systems_response.rb +15 -20
  135. data/lib/emass_client/models/test.rb +15 -20
  136. data/lib/emass_client/models/test_data.rb +15 -20
  137. data/lib/emass_client/models/test_results_get.rb +26 -21
  138. data/lib/emass_client/models/test_results_post.rb +29 -25
  139. data/lib/emass_client/models/test_results_response_get.rb +15 -20
  140. data/lib/emass_client/models/test_results_response_post.rb +15 -20
  141. data/lib/emass_client/models/users.rb +15 -20
  142. data/lib/emass_client/models/workflow_definition_get.rb +15 -20
  143. data/lib/emass_client/models/workflow_definition_response_get.rb +15 -20
  144. data/lib/emass_client/models/workflow_instance_get.rb +15 -20
  145. data/lib/emass_client/models/workflow_instance_response_get.rb +15 -20
  146. data/lib/emass_client/models/workflow_instances_get.rb +15 -20
  147. data/lib/emass_client/models/workflow_instances_response_get.rb +15 -20
  148. data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +15 -20
  149. data/lib/emass_client/version.rb +4 -4
  150. data/lib/emass_client.rb +31 -7
  151. metadata +30 -6
  152. 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.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message. </br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
4
+ #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` 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.10
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.0.0-SNAPSHOT
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
- self.class.openapi_types.each_pair do |key, type|
124
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
125
- self.send("#{key}=", nil)
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[self.class.attribute_map[key]].is_a?(Array)
130
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
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[self.class.attribute_map[key]].nil?
133
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
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.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message. </br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
4
+ #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` 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.10
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.0.0-SNAPSHOT
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
- self.class.openapi_types.each_pair do |key, type|
123
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
124
- self.send("#{key}=", nil)
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[self.class.attribute_map[key]].is_a?(Array)
129
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
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[self.class.attribute_map[key]].nil?
132
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
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.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message. </br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
4
+ #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` 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.10
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.0.0-SNAPSHOT
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
- [external_uid, system_id, poam_id, display_poam_id, is_inherited, control_acronym, cci, 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].hash
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
- self.class.openapi_types.each_pair do |key, type|
576
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
577
- self.send("#{key}=", nil)
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[self.class.attribute_map[key]].is_a?(Array)
582
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
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[self.class.attribute_map[key]].nil?
585
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
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)