emass_client 3.10.1 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +174 -131
  3. data/lib/emass_client/api/artifacts_api.rb +47 -52
  4. data/lib/emass_client/api/artifacts_export_api.rb +5 -5
  5. data/lib/emass_client/api/cac_api.rb +12 -12
  6. data/lib/emass_client/api/cloud_resource_results_api.rb +83 -9
  7. data/lib/emass_client/api/cmmc_assessment_dashboards_api.rb +314 -0
  8. data/lib/emass_client/api/cmmc_assessments_api.rb +5 -5
  9. data/lib/emass_client/api/coast_guard_system_fisma_metrics_dashboard_api.rb +95 -0
  10. data/lib/emass_client/api/container_scan_results_api.rb +83 -9
  11. data/lib/emass_client/api/controls_api.rb +17 -17
  12. data/lib/emass_client/api/device_scan_results_api.rb +112 -0
  13. data/lib/emass_client/api/hardware_baseline_api.rb +313 -0
  14. data/lib/emass_client/api/milestones_api.rb +18 -18
  15. data/lib/emass_client/api/organization_migration_status_dashboard_api.rb +95 -0
  16. data/lib/emass_client/api/pac_api.rb +16 -16
  17. data/lib/emass_client/api/poam_api.rb +47 -44
  18. data/lib/emass_client/api/registration_api.rb +5 -5
  19. data/lib/emass_client/api/software_baseline_api.rb +313 -0
  20. data/lib/emass_client/api/static_code_scans_api.rb +9 -9
  21. data/lib/emass_client/api/system_application_findings_dashboards_api.rb +168 -0
  22. data/lib/emass_client/api/system_artifacts_dashboards_api.rb +168 -0
  23. data/lib/emass_client/api/system_associations_dashboard_api.rb +95 -0
  24. data/lib/emass_client/api/system_atciatc_dashboard_api.rb +95 -0
  25. data/lib/emass_client/api/system_conmon_integration_status_dashboard_api.rb +95 -0
  26. data/lib/emass_client/api/system_connectivity_ccsd_dashboards_api.rb +168 -0
  27. data/lib/emass_client/api/system_critical_assets_dashboard_api.rb +95 -0
  28. data/lib/emass_client/api/system_device_findings_dashboards_api.rb +168 -0
  29. data/lib/emass_client/api/system_fisma_metrics_dashboard_api.rb +95 -0
  30. data/lib/emass_client/api/system_hardware_dashboards_api.rb +168 -0
  31. data/lib/emass_client/api/system_migration_status_dashboard_api.rb +95 -0
  32. data/lib/emass_client/api/system_poam_dashboards_api.rb +168 -0
  33. data/lib/emass_client/api/system_ports_protocols_dashboards_api.rb +168 -0
  34. data/lib/emass_client/api/system_privacy_dashboard_api.rb +95 -0
  35. data/lib/emass_client/api/system_questionnaire_dashboards_api.rb +168 -0
  36. data/lib/emass_client/api/system_roles_api.rb +8 -16
  37. data/lib/emass_client/api/system_security_controls_dashboards_api.rb +241 -0
  38. data/lib/emass_client/api/system_sensor_hardware_dashboards_api.rb +168 -0
  39. data/lib/emass_client/api/system_sensor_software_dashboards_api.rb +241 -0
  40. data/lib/emass_client/api/system_software_dashboards_api.rb +168 -0
  41. data/lib/emass_client/api/system_status_dashboard_api.rb +95 -0
  42. data/lib/emass_client/api/system_terms_conditions_dashboards_api.rb +168 -0
  43. data/lib/emass_client/api/system_vulnerability_dashboard_api.rb +95 -0
  44. data/lib/emass_client/api/system_workflows_dashboards_api.rb +241 -0
  45. data/lib/emass_client/api/systems_api.rb +22 -28
  46. data/lib/emass_client/api/test_api.rb +5 -5
  47. data/lib/emass_client/api/test_results_api.rb +19 -16
  48. data/lib/emass_client/api/user_system_assignments_dashboard_api.rb +95 -0
  49. data/lib/emass_client/api/va_system_dashboards_api.rb +679 -0
  50. data/lib/emass_client/api/vaombfisma_dashboard_api.rb +95 -0
  51. data/lib/emass_client/api/workflow_definitions_api.rb +9 -9
  52. data/lib/emass_client/api/workflow_instances_api.rb +17 -14
  53. data/lib/emass_client/api_client.rb +46 -32
  54. data/lib/emass_client/api_error.rb +4 -4
  55. data/lib/emass_client/configuration.rb +42 -12
  56. data/lib/emass_client/models/{response201.rb → api_rule_failed.rb} +29 -28
  57. data/lib/emass_client/models/{response490_meta.rb → api_rule_failed_meta.rb} +34 -29
  58. data/lib/emass_client/models/artifacts_ids.rb +221 -0
  59. data/lib/emass_client/models/artifacts_optional_fields.rb +298 -0
  60. data/lib/emass_client/models/artifacts_read_only_fields.rb +255 -0
  61. data/lib/emass_client/models/artifacts_request_delete_body_inner.rb +26 -25
  62. data/lib/emass_client/models/artifacts_required_fields.rb +252 -0
  63. data/lib/emass_client/models/artifacts_response_del.rb +26 -25
  64. data/lib/emass_client/models/artifacts_response_del_data_inner.rb +26 -25
  65. data/lib/emass_client/models/artifacts_response_get.rb +27 -26
  66. data/lib/emass_client/models/{artifacts_get.rb → artifacts_response_get_data_inner.rb} +91 -70
  67. data/lib/emass_client/models/artifacts_response_put_post.rb +26 -25
  68. data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +40 -30
  69. data/lib/emass_client/models/{response403.rb → bad_request.rb} +29 -28
  70. data/lib/emass_client/models/{response400_meta.rb → bad_request_meta.rb} +34 -29
  71. data/lib/emass_client/models/cac_get.rb +26 -25
  72. data/lib/emass_client/models/cac_response_get.rb +26 -25
  73. data/lib/emass_client/models/cac_response_post.rb +26 -25
  74. data/lib/emass_client/models/cac_response_post_data_inner.rb +40 -30
  75. data/lib/emass_client/models/{poam_response_post.rb → cloud_resources_delete.rb} +29 -28
  76. data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +221 -0
  77. data/lib/emass_client/models/{cloud_resources_post.rb → cloud_resources_post_delete.rb} +42 -32
  78. data/lib/emass_client/models/cloud_resources_response_post.rb +27 -26
  79. data/lib/emass_client/models/cmmc_get.rb +96 -140
  80. data/lib/emass_client/models/cmmc_response_get.rb +26 -25
  81. data/lib/emass_client/models/connectivity_ccsd.rb +26 -25
  82. data/lib/emass_client/models/container_resources_delete_body_inner.rb +221 -0
  83. data/lib/emass_client/models/{containers_resources_post.rb → containers_resources_post_delete.rb} +42 -32
  84. data/lib/emass_client/models/{poam_response_delete.rb → containers_response_delete.rb} +29 -28
  85. data/lib/emass_client/models/containers_response_post.rb +27 -26
  86. data/lib/emass_client/models/controls_conditional_fields.rb +357 -0
  87. data/lib/emass_client/models/controls_ids.rb +221 -0
  88. data/lib/emass_client/models/controls_optional_fields.rb +471 -0
  89. data/lib/emass_client/models/controls_put.rb +40 -30
  90. data/lib/emass_client/models/controls_read_only_fields.rb +277 -0
  91. data/lib/emass_client/models/controls_required_fields.rb +295 -0
  92. data/lib/emass_client/models/controls_response_get.rb +27 -26
  93. data/lib/emass_client/models/{controls_get.rb → controls_response_get_data_inner.rb} +210 -166
  94. data/lib/emass_client/models/controls_response_put.rb +26 -25
  95. data/lib/emass_client/models/{response400.rb → created.rb} +29 -28
  96. data/lib/emass_client/models/{response201_meta.rb → created_meta.rb} +34 -29
  97. data/lib/emass_client/models/definition_transitions.rb +26 -25
  98. data/lib/emass_client/models/{success200_response.rb → device_scan_results_response_post.rb} +29 -28
  99. data/lib/emass_client/models/{success200_response_data_inner.rb → device_scan_results_response_post_data_inner.rb} +72 -33
  100. data/lib/emass_client/models/{response401.rb → forbidden.rb} +29 -28
  101. data/lib/emass_client/models/{response403_meta.rb → forbidden_meta.rb} +34 -29
  102. data/lib/emass_client/models/get_system_status_details200_response.rb +240 -0
  103. data/lib/emass_client/models/hw_baseline_conditional_fields.rb +244 -0
  104. data/lib/emass_client/models/hw_baseline_ids.rb +221 -0
  105. data/lib/emass_client/models/hw_baseline_optional_fields.rb +354 -0
  106. data/lib/emass_client/models/hw_baseline_read_only_fields.rb +222 -0
  107. data/lib/emass_client/models/hw_baseline_request_delete_body_inner.rb +220 -0
  108. data/lib/emass_client/models/hw_baseline_required_fields.rb +221 -0
  109. data/lib/emass_client/models/hw_baseline_response_delete.rb +231 -0
  110. data/lib/emass_client/models/hw_baseline_response_delete_data_inner.rb +274 -0
  111. data/lib/emass_client/models/{dashboard_mock_response.rb → hw_baseline_response_get.rb} +30 -29
  112. data/lib/emass_client/models/hw_baseline_response_get_data_inner.rb +429 -0
  113. data/lib/emass_client/models/hw_baseline_response_post_put.rb +231 -0
  114. data/lib/emass_client/models/hw_baseline_response_post_put_data_inner.rb +274 -0
  115. data/lib/emass_client/models/{instances_transitions.rb → instance_transitions.rb} +28 -27
  116. data/lib/emass_client/models/internal_server_error.rb +220 -0
  117. data/lib/emass_client/models/{response500_meta.rb → internal_server_error_meta.rb} +34 -29
  118. data/lib/emass_client/models/length_required.rb +220 -0
  119. data/lib/emass_client/models/{response411_meta.rb → length_required_meta.rb} +34 -29
  120. data/lib/emass_client/models/method_not_allowed.rb +220 -0
  121. data/lib/emass_client/models/{response405_meta.rb → method_not_allowed_meta.rb} +34 -29
  122. data/lib/emass_client/models/milestone_response_delete.rb +231 -0
  123. data/lib/emass_client/models/milestone_response_get.rb +26 -25
  124. data/lib/emass_client/models/milestone_response_get_milestone.rb +26 -25
  125. data/lib/emass_client/models/milestone_response_post.rb +26 -25
  126. data/lib/emass_client/models/milestone_response_put.rb +26 -25
  127. data/lib/emass_client/models/milestones_fields.rb +222 -0
  128. data/lib/emass_client/models/milestones_get.rb +55 -32
  129. data/lib/emass_client/models/milestones_put_post_delete.rb +40 -30
  130. data/lib/emass_client/models/milestones_request_delete_body_inner.rb +26 -25
  131. data/lib/emass_client/models/milestones_required_post.rb +35 -53
  132. data/lib/emass_client/models/milestones_required_post_milestones_inner.rb +265 -0
  133. data/lib/emass_client/models/milestones_required_put.rb +35 -68
  134. data/lib/emass_client/models/{ssps.rb → milestones_required_put_milestones_inner.rb} +101 -52
  135. data/lib/emass_client/models/{response404.rb → not_found.rb} +34 -29
  136. data/lib/emass_client/models/pac_get.rb +29 -37
  137. data/lib/emass_client/models/pac_post.rb +40 -30
  138. data/lib/emass_client/models/pac_response_get.rb +26 -25
  139. data/lib/emass_client/models/pac_response_post.rb +26 -25
  140. data/lib/emass_client/models/{dashboard_mock_response_pagination.rb → pagination.rb} +47 -46
  141. data/lib/emass_client/models/poam_conditional_fields.rb +402 -0
  142. data/lib/emass_client/models/poam_ids.rb +241 -0
  143. data/lib/emass_client/models/poam_optional_fields.rb +409 -0
  144. data/lib/emass_client/models/poam_post_put_del.rb +40 -30
  145. data/lib/emass_client/models/poam_read_only_fields.rb +332 -0
  146. data/lib/emass_client/models/poam_request_delete_body_inner.rb +26 -25
  147. data/lib/emass_client/models/poam_required_fields.rb +305 -0
  148. data/lib/emass_client/models/poam_response_get_poams.rb +27 -26
  149. data/lib/emass_client/models/poam_response_get_poams_data.rb +824 -0
  150. data/lib/emass_client/models/poam_response_get_systems.rb +27 -26
  151. data/lib/emass_client/models/poam_response_get_systems_data_inner.rb +824 -0
  152. data/lib/emass_client/models/{poam_response_put.rb → poam_response_post_put_delete.rb} +28 -27
  153. data/lib/emass_client/models/register.rb +26 -25
  154. data/lib/emass_client/models/register_data.rb +26 -25
  155. data/lib/emass_client/models/register_user_request_post_body.rb +38 -25
  156. data/lib/emass_client/models/response200.rb +32 -27
  157. data/lib/emass_client/models/role_category.rb +26 -25
  158. data/lib/emass_client/models/roles.rb +26 -25
  159. data/lib/emass_client/models/stage.rb +26 -25
  160. data/lib/emass_client/models/{static_code_application.rb → static_code_application_post.rb} +28 -27
  161. data/lib/emass_client/models/static_code_post.rb +40 -30
  162. data/lib/emass_client/models/static_code_request_post_body.rb +27 -26
  163. data/lib/emass_client/models/static_code_request_post_body_application.rb +26 -25
  164. data/lib/emass_client/models/static_code_response_post.rb +26 -25
  165. data/lib/emass_client/models/sw_baseline_conditional_fields.rb +222 -0
  166. data/lib/emass_client/models/sw_baseline_ids.rb +221 -0
  167. data/lib/emass_client/models/sw_baseline_optional_fields.rb +563 -0
  168. data/lib/emass_client/models/sw_baseline_read_only_fields.rb +222 -0
  169. data/lib/emass_client/models/sw_baseline_request_delete_body_inner.rb +220 -0
  170. data/lib/emass_client/models/sw_baseline_required_fields.rb +241 -0
  171. data/lib/emass_client/models/sw_baseline_response_delete.rb +231 -0
  172. data/lib/emass_client/models/sw_baseline_response_delete_data_inner.rb +274 -0
  173. data/lib/emass_client/models/sw_baseline_response_get.rb +240 -0
  174. data/lib/emass_client/models/sw_baseline_response_get_data_inner.rb +624 -0
  175. data/lib/emass_client/models/sw_baseline_response_post_put.rb +231 -0
  176. data/lib/emass_client/models/sw_baseline_response_post_put_data_inner.rb +274 -0
  177. data/lib/emass_client/models/system_response.rb +26 -25
  178. data/lib/emass_client/models/system_roles_category_response.rb +26 -25
  179. data/lib/emass_client/models/system_roles_response.rb +26 -25
  180. data/lib/emass_client/models/system_roles_response_data_inner.rb +26 -25
  181. data/lib/emass_client/models/systems.rb +950 -113
  182. data/lib/emass_client/models/systems_response.rb +26 -25
  183. data/lib/emass_client/models/test.rb +26 -25
  184. data/lib/emass_client/models/test_data.rb +26 -25
  185. data/lib/emass_client/models/test_results_get.rb +37 -26
  186. data/lib/emass_client/models/test_results_post.rb +40 -30
  187. data/lib/emass_client/models/test_results_response_get.rb +26 -25
  188. data/lib/emass_client/models/test_results_response_post.rb +26 -25
  189. data/lib/emass_client/models/unauthorized.rb +220 -0
  190. data/lib/emass_client/models/{response401_meta.rb → unauthorized_meta.rb} +34 -29
  191. data/lib/emass_client/models/users.rb +26 -25
  192. data/lib/emass_client/models/workflow_definition_get.rb +26 -25
  193. data/lib/emass_client/models/workflow_definition_response_get.rb +26 -25
  194. data/lib/emass_client/models/workflow_instance_get.rb +40 -28
  195. data/lib/emass_client/models/workflow_instance_response_get.rb +26 -25
  196. data/lib/emass_client/models/workflow_instances_response_get.rb +27 -26
  197. data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +26 -25
  198. data/lib/emass_client/version.rb +5 -5
  199. data/lib/emass_client.rb +112 -39
  200. metadata +116 -43
  201. data/lib/emass_client/api/dashboards_api.rb +0 -2139
  202. data/lib/emass_client/models/mock_object.rb +0 -343
  203. data/lib/emass_client/models/poam_get.rb +0 -683
  204. data/lib/emass_client/models/response405.rb +0 -219
  205. data/lib/emass_client/models/response411.rb +0 -219
  206. data/lib/emass_client/models/response490.rb +0 -219
  207. data/lib/emass_client/models/response500.rb +0 -219
  208. data/lib/emass_client/models/workflow_instances_get.rb +0 -342
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Enterprise Mission Assurance Support Service (eMASS)
3
3
 
4
- #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` endpoint to register the client certificate.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message. </br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
4
+ #The eMASS Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. The eMASS API provides an interface for application to communicate eMASS Services. For information on how to register and use the eMASS API reference the [eMASS API Getting Started](eMASSGettingStarted.md). Additional information about eMASS can be obtain by contacting the National Industrial Security Program (NISP). Points of Contact are:
5
5
 
6
- The version of the OpenAPI document: v3.10
7
- Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
6
+ The version of the OpenAPI document: v3.22
7
+ Contact: disa.global.servicedesk.mbx.ma-ticket-request@mail.mil
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0-SNAPSHOT
9
+ Generator version: 7.12.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -14,52 +14,31 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module EmassClient
17
- class ControlsGet
18
- # [Required] Unique system record identifier.
17
+ class ControlsResponseGetDataInner
18
+ # [Required] Unique eMASS system identifier.
19
19
  attr_accessor :system_id
20
20
 
21
- # [Read-only] Name of the system record.
22
- attr_accessor :name
23
-
24
21
  # [Required] Acronym of the system record.
25
22
  attr_accessor :acronym
26
23
 
27
- # [Read-only] Comma separated list of CCIs associated with the control.
28
- attr_accessor :ccis
29
-
30
- # [Read-only] Indicates whether a control is inherited.
31
- attr_accessor :is_inherited
32
-
33
- # [Read-only] List of overlays that affect the control.
34
- attr_accessor :modified_by_overlays
35
-
36
- # [Read-only] Indicates the manner by which a control was included in the system’s categorization.
37
- attr_accessor :included_status
38
-
39
- # [Read-only] Compliance of the control.
40
- attr_accessor :compliance_status
41
-
42
- # [Required] Include written description of Responsible Entities that are responsible for the Security Control. Character Limit = 2,000.
24
+ # [Required] Include written description of Responsible Entities that are responsible for the Security Control. Character Limit 2,000.
43
25
  attr_accessor :responsible_entities
44
26
 
45
- # [Optional] Implementation Status of the Security Control for the information system.
46
- attr_accessor :implementation_status
47
-
48
- # [Conditional] Indicate the type of Common Control Provider for an “Inherited” Security Control.
49
- attr_accessor :common_control_provider
50
-
51
- # [Conditional] Provide justification for Security Controls deemed Not Applicable to the system.
52
- attr_accessor :na_justification
53
-
54
27
  # [Required] Control designations
55
28
  attr_accessor :control_designation
56
29
 
57
- # [Required] Field is required for Implementation Plan.
30
+ # [Required] Field is required for Implementation Plan. Unix time format.
58
31
  attr_accessor :estimated_completion_date
59
32
 
60
- # [Required] Includes security control comments. Character Limit = 2,000.
33
+ # [Required] Includes security control comments. Character Limit 2,000.
61
34
  attr_accessor :implementation_narrative
62
35
 
36
+ # [Conditional] Indicate the type of Common Control Provider for an Inherited Security Control.
37
+ attr_accessor :common_control_provider
38
+
39
+ # [Conditional] Provide justification for Security Controls deemed Not Applicable to the system.
40
+ attr_accessor :na_justification
41
+
63
42
  # [Conditional] Criticality of Security Control regarding SLCM. Character Limit = 2,000.
64
43
  attr_accessor :slcm_criticality
65
44
 
@@ -78,6 +57,9 @@ module EmassClient
78
57
  # [Conditional] Additional comments for Security Control regarding SLCM. Character Limit = 4,000.
79
58
  attr_accessor :slcm_comments
80
59
 
60
+ # [Optional] Implementation Status of the Security Control for the information system.
61
+ attr_accessor :implementation_status
62
+
81
63
  # [Optional] Values include the following options (Very Low, Low, Moderate,High,Very High)
82
64
  attr_accessor :severity
83
65
 
@@ -96,7 +78,7 @@ module EmassClient
96
78
  # [Optional] Values include the following options (Very Low, Low, Moderate,High,Very High)
97
79
  attr_accessor :impact
98
80
 
99
- # [Optional] Include description of Security Controls impact.
81
+ # [Optional] Include description of Security Control's impact.
100
82
  attr_accessor :impact_description
101
83
 
102
84
  # [Optional] Values include the following options (Very Low, Low, Moderate,High,Very High)
@@ -105,6 +87,36 @@ module EmassClient
105
87
  # [Optional] Identifies the assessment method / combination that will determine if the security requirements are implemented correctly.
106
88
  attr_accessor :test_method
107
89
 
90
+ # [Optional] Identify any mitigations in place for the Non-Compliant Security Control's vulnerabilities. Character Limit = 2,000.
91
+ attr_accessor :mitigations
92
+
93
+ # [Optional] If the Financial Management (Navy) overlay is applied to the system, this field appears and can be populated. Character Limit = 2,000. Navy only.
94
+ attr_accessor :application_layer
95
+
96
+ # [Optional] If the Financial Management (Navy) overlay is applied to the system, this field appears and can be populated. Navy only.
97
+ attr_accessor :database_layer
98
+
99
+ # [Optional] If the Financial Management (Navy) overlay is applied to the system, this field appears and can be populated. Navy only.
100
+ attr_accessor :operating_system_layer
101
+
102
+ # [Read-only] Name of the system record.
103
+ attr_accessor :name
104
+
105
+ # [Read-only] Comma separated list of CCIs associated with the control.
106
+ attr_accessor :ccis
107
+
108
+ # [Read-only] Indicates whether a control is inherited.
109
+ attr_accessor :is_inherited
110
+
111
+ # [Read-only] List of overlays that affect the control.
112
+ attr_accessor :modified_by_overlays
113
+
114
+ # [Read-only] Indicates the manner by which a control was included in the system's categorization.
115
+ attr_accessor :included_status
116
+
117
+ # [Read-only] Compliance of the control.
118
+ attr_accessor :compliance_status
119
+
108
120
  class EnumAttributeValidator
109
121
  attr_reader :datatype
110
122
  attr_reader :allowable_values
@@ -131,26 +143,20 @@ module EmassClient
131
143
  def self.attribute_map
132
144
  {
133
145
  :'system_id' => :'systemId',
134
- :'name' => :'name',
135
146
  :'acronym' => :'acronym',
136
- :'ccis' => :'ccis',
137
- :'is_inherited' => :'isInherited',
138
- :'modified_by_overlays' => :'modifiedByOverlays',
139
- :'included_status' => :'includedStatus',
140
- :'compliance_status' => :'complianceStatus',
141
147
  :'responsible_entities' => :'responsibleEntities',
142
- :'implementation_status' => :'implementationStatus',
143
- :'common_control_provider' => :'commonControlProvider',
144
- :'na_justification' => :'naJustification',
145
148
  :'control_designation' => :'controlDesignation',
146
149
  :'estimated_completion_date' => :'estimatedCompletionDate',
147
150
  :'implementation_narrative' => :'implementationNarrative',
151
+ :'common_control_provider' => :'commonControlProvider',
152
+ :'na_justification' => :'naJustification',
148
153
  :'slcm_criticality' => :'slcmCriticality',
149
154
  :'slcm_frequency' => :'slcmFrequency',
150
155
  :'slcm_method' => :'slcmMethod',
151
156
  :'slcm_reporting' => :'slcmReporting',
152
157
  :'slcm_tracking' => :'slcmTracking',
153
158
  :'slcm_comments' => :'slcmComments',
159
+ :'implementation_status' => :'implementationStatus',
154
160
  :'severity' => :'severity',
155
161
  :'vulnerabilty_summary' => :'vulnerabiltySummary',
156
162
  :'recommendations' => :'recommendations',
@@ -159,39 +165,48 @@ module EmassClient
159
165
  :'impact' => :'impact',
160
166
  :'impact_description' => :'impactDescription',
161
167
  :'residual_risk_level' => :'residualRiskLevel',
162
- :'test_method' => :'testMethod'
168
+ :'test_method' => :'testMethod',
169
+ :'mitigations' => :'mitigations',
170
+ :'application_layer' => :'applicationLayer',
171
+ :'database_layer' => :'databaseLayer',
172
+ :'operating_system_layer' => :'operatingSystemLayer',
173
+ :'name' => :'name',
174
+ :'ccis' => :'ccis',
175
+ :'is_inherited' => :'isInherited',
176
+ :'modified_by_overlays' => :'modifiedByOverlays',
177
+ :'included_status' => :'includedStatus',
178
+ :'compliance_status' => :'complianceStatus'
163
179
  }
164
180
  end
165
181
 
182
+ # Returns attribute mapping this model knows about
183
+ def self.acceptable_attribute_map
184
+ attribute_map
185
+ end
186
+
166
187
  # Returns all the JSON keys this model knows about
167
188
  def self.acceptable_attributes
168
- attribute_map.values
189
+ acceptable_attribute_map.values
169
190
  end
170
191
 
171
192
  # Attribute type mapping.
172
193
  def self.openapi_types
173
194
  {
174
195
  :'system_id' => :'Integer',
175
- :'name' => :'String',
176
196
  :'acronym' => :'String',
177
- :'ccis' => :'String',
178
- :'is_inherited' => :'Boolean',
179
- :'modified_by_overlays' => :'String',
180
- :'included_status' => :'String',
181
- :'compliance_status' => :'String',
182
197
  :'responsible_entities' => :'String',
183
- :'implementation_status' => :'String',
184
- :'common_control_provider' => :'String',
185
- :'na_justification' => :'String',
186
198
  :'control_designation' => :'String',
187
199
  :'estimated_completion_date' => :'Integer',
188
200
  :'implementation_narrative' => :'String',
201
+ :'common_control_provider' => :'String',
202
+ :'na_justification' => :'String',
189
203
  :'slcm_criticality' => :'String',
190
204
  :'slcm_frequency' => :'String',
191
205
  :'slcm_method' => :'String',
192
206
  :'slcm_reporting' => :'String',
193
207
  :'slcm_tracking' => :'String',
194
208
  :'slcm_comments' => :'String',
209
+ :'implementation_status' => :'String',
195
210
  :'severity' => :'String',
196
211
  :'vulnerabilty_summary' => :'String',
197
212
  :'recommendations' => :'String',
@@ -200,20 +215,23 @@ module EmassClient
200
215
  :'impact' => :'String',
201
216
  :'impact_description' => :'String',
202
217
  :'residual_risk_level' => :'String',
203
- :'test_method' => :'String'
218
+ :'test_method' => :'String',
219
+ :'mitigations' => :'String',
220
+ :'application_layer' => :'String',
221
+ :'database_layer' => :'String',
222
+ :'operating_system_layer' => :'String',
223
+ :'name' => :'String',
224
+ :'ccis' => :'String',
225
+ :'is_inherited' => :'Boolean',
226
+ :'modified_by_overlays' => :'String',
227
+ :'included_status' => :'String',
228
+ :'compliance_status' => :'String'
204
229
  }
205
230
  end
206
231
 
207
232
  # List of attributes with nullable: true
208
233
  def self.openapi_nullable
209
234
  Set.new([
210
- :'name',
211
- :'ccis',
212
- :'is_inherited',
213
- :'modified_by_overlays',
214
- :'included_status',
215
- :'compliance_status',
216
- :'implementation_status',
217
235
  :'common_control_provider',
218
236
  :'na_justification',
219
237
  :'slcm_criticality',
@@ -222,6 +240,7 @@ module EmassClient
222
240
  :'slcm_reporting',
223
241
  :'slcm_tracking',
224
242
  :'slcm_comments',
243
+ :'implementation_status',
225
244
  :'severity',
226
245
  :'vulnerabilty_summary',
227
246
  :'recommendations',
@@ -230,21 +249,43 @@ module EmassClient
230
249
  :'impact',
231
250
  :'impact_description',
232
251
  :'residual_risk_level',
233
- :'test_method'
252
+ :'test_method',
253
+ :'mitigations',
254
+ :'application_layer',
255
+ :'database_layer',
256
+ :'operating_system_layer',
257
+ :'name',
258
+ :'ccis',
259
+ :'is_inherited',
260
+ :'modified_by_overlays',
261
+ :'included_status',
262
+ :'compliance_status'
234
263
  ])
235
264
  end
236
265
 
266
+ # List of class defined in allOf (OpenAPI v3)
267
+ def self.openapi_all_of
268
+ [
269
+ :'ControlsConditionalFields',
270
+ :'ControlsIds',
271
+ :'ControlsOptionalFields',
272
+ :'ControlsReadOnlyFields',
273
+ :'ControlsRequiredFields'
274
+ ]
275
+ end
276
+
237
277
  # Initializes the object
238
278
  # @param [Hash] attributes Model attributes in the form of hash
239
279
  def initialize(attributes = {})
240
280
  if (!attributes.is_a?(Hash))
241
- fail ArgumentError, "The input argument (attributes) must be a hash in `EmassClient::ControlsGet` initialize method"
281
+ fail ArgumentError, "The input argument (attributes) must be a hash in `EmassClient::ControlsResponseGetDataInner` initialize method"
242
282
  end
243
283
 
244
284
  # check to see if the attribute exists and convert string to symbol for hash key
285
+ acceptable_attribute_map = self.class.acceptable_attribute_map
245
286
  attributes = attributes.each_with_object({}) { |(k, v), h|
246
- if (!self.class.attribute_map.key?(k.to_sym))
247
- fail ArgumentError, "`#{k}` is not a valid attribute in `EmassClient::ControlsGet`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
287
+ if (!acceptable_attribute_map.key?(k.to_sym))
288
+ fail ArgumentError, "`#{k}` is not a valid attribute in `EmassClient::ControlsResponseGetDataInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
248
289
  end
249
290
  h[k.to_sym] = v
250
291
  }
@@ -253,50 +294,14 @@ module EmassClient
253
294
  self.system_id = attributes[:'system_id']
254
295
  end
255
296
 
256
- if attributes.key?(:'name')
257
- self.name = attributes[:'name']
258
- end
259
-
260
297
  if attributes.key?(:'acronym')
261
298
  self.acronym = attributes[:'acronym']
262
299
  end
263
300
 
264
- if attributes.key?(:'ccis')
265
- self.ccis = attributes[:'ccis']
266
- end
267
-
268
- if attributes.key?(:'is_inherited')
269
- self.is_inherited = attributes[:'is_inherited']
270
- end
271
-
272
- if attributes.key?(:'modified_by_overlays')
273
- self.modified_by_overlays = attributes[:'modified_by_overlays']
274
- end
275
-
276
- if attributes.key?(:'included_status')
277
- self.included_status = attributes[:'included_status']
278
- end
279
-
280
- if attributes.key?(:'compliance_status')
281
- self.compliance_status = attributes[:'compliance_status']
282
- end
283
-
284
301
  if attributes.key?(:'responsible_entities')
285
302
  self.responsible_entities = attributes[:'responsible_entities']
286
303
  end
287
304
 
288
- if attributes.key?(:'implementation_status')
289
- self.implementation_status = attributes[:'implementation_status']
290
- end
291
-
292
- if attributes.key?(:'common_control_provider')
293
- self.common_control_provider = attributes[:'common_control_provider']
294
- end
295
-
296
- if attributes.key?(:'na_justification')
297
- self.na_justification = attributes[:'na_justification']
298
- end
299
-
300
305
  if attributes.key?(:'control_designation')
301
306
  self.control_designation = attributes[:'control_designation']
302
307
  end
@@ -309,6 +314,14 @@ module EmassClient
309
314
  self.implementation_narrative = attributes[:'implementation_narrative']
310
315
  end
311
316
 
317
+ if attributes.key?(:'common_control_provider')
318
+ self.common_control_provider = attributes[:'common_control_provider']
319
+ end
320
+
321
+ if attributes.key?(:'na_justification')
322
+ self.na_justification = attributes[:'na_justification']
323
+ end
324
+
312
325
  if attributes.key?(:'slcm_criticality')
313
326
  self.slcm_criticality = attributes[:'slcm_criticality']
314
327
  end
@@ -333,6 +346,10 @@ module EmassClient
333
346
  self.slcm_comments = attributes[:'slcm_comments']
334
347
  end
335
348
 
349
+ if attributes.key?(:'implementation_status')
350
+ self.implementation_status = attributes[:'implementation_status']
351
+ end
352
+
336
353
  if attributes.key?(:'severity')
337
354
  self.severity = attributes[:'severity']
338
355
  end
@@ -368,11 +385,52 @@ module EmassClient
368
385
  if attributes.key?(:'test_method')
369
386
  self.test_method = attributes[:'test_method']
370
387
  end
388
+
389
+ if attributes.key?(:'mitigations')
390
+ self.mitigations = attributes[:'mitigations']
391
+ end
392
+
393
+ if attributes.key?(:'application_layer')
394
+ self.application_layer = attributes[:'application_layer']
395
+ end
396
+
397
+ if attributes.key?(:'database_layer')
398
+ self.database_layer = attributes[:'database_layer']
399
+ end
400
+
401
+ if attributes.key?(:'operating_system_layer')
402
+ self.operating_system_layer = attributes[:'operating_system_layer']
403
+ end
404
+
405
+ if attributes.key?(:'name')
406
+ self.name = attributes[:'name']
407
+ end
408
+
409
+ if attributes.key?(:'ccis')
410
+ self.ccis = attributes[:'ccis']
411
+ end
412
+
413
+ if attributes.key?(:'is_inherited')
414
+ self.is_inherited = attributes[:'is_inherited']
415
+ end
416
+
417
+ if attributes.key?(:'modified_by_overlays')
418
+ self.modified_by_overlays = attributes[:'modified_by_overlays']
419
+ end
420
+
421
+ if attributes.key?(:'included_status')
422
+ self.included_status = attributes[:'included_status']
423
+ end
424
+
425
+ if attributes.key?(:'compliance_status')
426
+ self.compliance_status = attributes[:'compliance_status']
427
+ end
371
428
  end
372
429
 
373
430
  # Show invalid properties with the reasons. Usually used together with valid?
374
431
  # @return Array for valid properties with the reasons
375
432
  def list_invalid_properties
433
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
376
434
  invalid_properties = Array.new
377
435
  invalid_properties
378
436
  end
@@ -380,18 +438,17 @@ module EmassClient
380
438
  # Check to see if the all the properties in the model are valid
381
439
  # @return true if the model is valid
382
440
  def valid?
383
- modified_by_overlays_validator = EnumAttributeValidator.new('String', ["Privacy", "Requirements", "Concurrency", "unknown_default_open_api"])
384
- return false unless modified_by_overlays_validator.valid?(@modified_by_overlays)
385
- implementation_status_validator = EnumAttributeValidator.new('String', ["Planned", "Implemented", "Inherited", "Not Applicable", "Manually Inherited", "unknown_default_open_api"])
386
- return false unless implementation_status_validator.valid?(@implementation_status)
387
- common_control_provider_validator = EnumAttributeValidator.new('String', ["DoD", "Component", "Enclave", "unknown_default_open_api"])
388
- return false unless common_control_provider_validator.valid?(@common_control_provider)
441
+ warn '[DEPRECATED] the `valid?` method is obsolete'
389
442
  control_designation_validator = EnumAttributeValidator.new('String', ["Common", "System-Specific", "Hybrid", "unknown_default_open_api"])
390
443
  return false unless control_designation_validator.valid?(@control_designation)
444
+ common_control_provider_validator = EnumAttributeValidator.new('String', ["DoD", "Component", "Enclave", "unknown_default_open_api"])
445
+ return false unless common_control_provider_validator.valid?(@common_control_provider)
391
446
  slcm_frequency_validator = EnumAttributeValidator.new('String', ["Constantly", "Daily", "Weekly", "Monthly", "Quarterly", "Semi-Annually", "Annually", "Every Two Years", "Every Three Years", "Undetermined", "unknown_default_open_api"])
392
447
  return false unless slcm_frequency_validator.valid?(@slcm_frequency)
393
448
  slcm_method_validator = EnumAttributeValidator.new('String', ["Automated", "Semi-Automated", "Manual", "Undetermined", "unknown_default_open_api"])
394
449
  return false unless slcm_method_validator.valid?(@slcm_method)
450
+ implementation_status_validator = EnumAttributeValidator.new('String', ["Planned", "Implemented", "Inherited", "Not Applicable", "Manually Inherited", "unknown_default_open_api"])
451
+ return false unless implementation_status_validator.valid?(@implementation_status)
395
452
  severity_validator = EnumAttributeValidator.new('String', ["Very Low", "Low", "Moderate", "High", "Very High", "unknown_default_open_api"])
396
453
  return false unless severity_validator.valid?(@severity)
397
454
  relevance_of_threat_validator = EnumAttributeValidator.new('String', ["Very Low", "Low", "Moderate", "High", "Very High", "unknown_default_open_api"])
@@ -408,23 +465,13 @@ module EmassClient
408
465
  end
409
466
 
410
467
  # Custom attribute writer method checking allowed values (enum).
411
- # @param [Object] modified_by_overlays Object to be assigned
412
- def modified_by_overlays=(modified_by_overlays)
413
- validator = EnumAttributeValidator.new('String', ["Privacy", "Requirements", "Concurrency", "unknown_default_open_api"])
414
- unless validator.valid?(modified_by_overlays)
415
- fail ArgumentError, "invalid value for \"modified_by_overlays\", must be one of #{validator.allowable_values}."
416
- end
417
- @modified_by_overlays = modified_by_overlays
418
- end
419
-
420
- # Custom attribute writer method checking allowed values (enum).
421
- # @param [Object] implementation_status Object to be assigned
422
- def implementation_status=(implementation_status)
423
- validator = EnumAttributeValidator.new('String', ["Planned", "Implemented", "Inherited", "Not Applicable", "Manually Inherited", "unknown_default_open_api"])
424
- unless validator.valid?(implementation_status)
425
- fail ArgumentError, "invalid value for \"implementation_status\", must be one of #{validator.allowable_values}."
468
+ # @param [Object] control_designation Object to be assigned
469
+ def control_designation=(control_designation)
470
+ validator = EnumAttributeValidator.new('String', ["Common", "System-Specific", "Hybrid", "unknown_default_open_api"])
471
+ unless validator.valid?(control_designation)
472
+ fail ArgumentError, "invalid value for \"control_designation\", must be one of #{validator.allowable_values}."
426
473
  end
427
- @implementation_status = implementation_status
474
+ @control_designation = control_designation
428
475
  end
429
476
 
430
477
  # Custom attribute writer method checking allowed values (enum).
@@ -437,16 +484,6 @@ module EmassClient
437
484
  @common_control_provider = common_control_provider
438
485
  end
439
486
 
440
- # Custom attribute writer method checking allowed values (enum).
441
- # @param [Object] control_designation Object to be assigned
442
- def control_designation=(control_designation)
443
- validator = EnumAttributeValidator.new('String', ["Common", "System-Specific", "Hybrid", "unknown_default_open_api"])
444
- unless validator.valid?(control_designation)
445
- fail ArgumentError, "invalid value for \"control_designation\", must be one of #{validator.allowable_values}."
446
- end
447
- @control_designation = control_designation
448
- end
449
-
450
487
  # Custom attribute writer method checking allowed values (enum).
451
488
  # @param [Object] slcm_frequency Object to be assigned
452
489
  def slcm_frequency=(slcm_frequency)
@@ -467,6 +504,16 @@ module EmassClient
467
504
  @slcm_method = slcm_method
468
505
  end
469
506
 
507
+ # Custom attribute writer method checking allowed values (enum).
508
+ # @param [Object] implementation_status Object to be assigned
509
+ def implementation_status=(implementation_status)
510
+ validator = EnumAttributeValidator.new('String', ["Planned", "Implemented", "Inherited", "Not Applicable", "Manually Inherited", "unknown_default_open_api"])
511
+ unless validator.valid?(implementation_status)
512
+ fail ArgumentError, "invalid value for \"implementation_status\", must be one of #{validator.allowable_values}."
513
+ end
514
+ @implementation_status = implementation_status
515
+ end
516
+
470
517
  # Custom attribute writer method checking allowed values (enum).
471
518
  # @param [Object] severity Object to be assigned
472
519
  def severity=(severity)
@@ -533,26 +580,20 @@ module EmassClient
533
580
  return true if self.equal?(o)
534
581
  self.class == o.class &&
535
582
  system_id == o.system_id &&
536
- name == o.name &&
537
583
  acronym == o.acronym &&
538
- ccis == o.ccis &&
539
- is_inherited == o.is_inherited &&
540
- modified_by_overlays == o.modified_by_overlays &&
541
- included_status == o.included_status &&
542
- compliance_status == o.compliance_status &&
543
584
  responsible_entities == o.responsible_entities &&
544
- implementation_status == o.implementation_status &&
545
- common_control_provider == o.common_control_provider &&
546
- na_justification == o.na_justification &&
547
585
  control_designation == o.control_designation &&
548
586
  estimated_completion_date == o.estimated_completion_date &&
549
587
  implementation_narrative == o.implementation_narrative &&
588
+ common_control_provider == o.common_control_provider &&
589
+ na_justification == o.na_justification &&
550
590
  slcm_criticality == o.slcm_criticality &&
551
591
  slcm_frequency == o.slcm_frequency &&
552
592
  slcm_method == o.slcm_method &&
553
593
  slcm_reporting == o.slcm_reporting &&
554
594
  slcm_tracking == o.slcm_tracking &&
555
595
  slcm_comments == o.slcm_comments &&
596
+ implementation_status == o.implementation_status &&
556
597
  severity == o.severity &&
557
598
  vulnerabilty_summary == o.vulnerabilty_summary &&
558
599
  recommendations == o.recommendations &&
@@ -561,7 +602,17 @@ module EmassClient
561
602
  impact == o.impact &&
562
603
  impact_description == o.impact_description &&
563
604
  residual_risk_level == o.residual_risk_level &&
564
- test_method == o.test_method
605
+ test_method == o.test_method &&
606
+ mitigations == o.mitigations &&
607
+ application_layer == o.application_layer &&
608
+ database_layer == o.database_layer &&
609
+ operating_system_layer == o.operating_system_layer &&
610
+ name == o.name &&
611
+ ccis == o.ccis &&
612
+ is_inherited == o.is_inherited &&
613
+ modified_by_overlays == o.modified_by_overlays &&
614
+ included_status == o.included_status &&
615
+ compliance_status == o.compliance_status
565
616
  end
566
617
 
567
618
  # @see the `==` method
@@ -573,44 +624,37 @@ module EmassClient
573
624
  # Calculates hash code according to all attributes.
574
625
  # @return [Integer] Hash code
575
626
  def hash
576
- [system_id, name, acronym, ccis, is_inherited, modified_by_overlays, included_status, compliance_status, responsible_entities, implementation_status, common_control_provider, na_justification, control_designation, estimated_completion_date, implementation_narrative, slcm_criticality, slcm_frequency, slcm_method, slcm_reporting, slcm_tracking, slcm_comments, severity, vulnerabilty_summary, recommendations, relevance_of_threat, likelihood, impact, impact_description, residual_risk_level, test_method].hash
627
+ [system_id, acronym, responsible_entities, control_designation, estimated_completion_date, implementation_narrative, common_control_provider, na_justification, slcm_criticality, slcm_frequency, slcm_method, slcm_reporting, slcm_tracking, slcm_comments, implementation_status, severity, vulnerabilty_summary, recommendations, relevance_of_threat, likelihood, impact, impact_description, residual_risk_level, test_method, mitigations, application_layer, database_layer, operating_system_layer, name, ccis, is_inherited, modified_by_overlays, included_status, compliance_status].hash
577
628
  end
578
629
 
579
630
  # Builds the object from hash
580
631
  # @param [Hash] attributes Model attributes in the form of hash
581
632
  # @return [Object] Returns the model itself
582
633
  def self.build_from_hash(attributes)
583
- new.build_from_hash(attributes)
584
- end
585
-
586
- # Builds the object from hash
587
- # @param [Hash] attributes Model attributes in the form of hash
588
- # @return [Object] Returns the model itself
589
- def build_from_hash(attributes)
590
634
  return nil unless attributes.is_a?(Hash)
591
635
  attributes = attributes.transform_keys(&:to_sym)
592
- self.class.openapi_types.each_pair do |key, type|
593
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
594
- self.send("#{key}=", nil)
636
+ transformed_hash = {}
637
+ openapi_types.each_pair do |key, type|
638
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
639
+ transformed_hash["#{key}"] = nil
595
640
  elsif type =~ /\AArray<(.*)>/i
596
641
  # check to ensure the input is an array given that the attribute
597
642
  # is documented as an array but the input is not
598
- if attributes[self.class.attribute_map[key]].is_a?(Array)
599
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
643
+ if attributes[attribute_map[key]].is_a?(Array)
644
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
600
645
  end
601
- elsif !attributes[self.class.attribute_map[key]].nil?
602
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
646
+ elsif !attributes[attribute_map[key]].nil?
647
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
603
648
  end
604
649
  end
605
-
606
- self
650
+ new(transformed_hash)
607
651
  end
608
652
 
609
653
  # Deserializes the data based on type
610
654
  # @param string type Data type
611
655
  # @param string value Value to be deserialized
612
656
  # @return [Object] Deserialized data
613
- def _deserialize(type, value)
657
+ def self._deserialize(type, value)
614
658
  case type.to_sym
615
659
  when :Time
616
660
  Time.parse(value)
@@ -645,7 +689,7 @@ module EmassClient
645
689
  else # model
646
690
  # models (e.g. Pet) or oneOf
647
691
  klass = EmassClient.const_get(type)
648
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
692
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
649
693
  end
650
694
  end
651
695