emass_client 1.0.3 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +152 -1124
  3. data/Rakefile +2 -0
  4. data/lib/emass_client/api/artifacts_api.rb +124 -97
  5. data/lib/emass_client/api/artifacts_export_api.rb +28 -19
  6. data/lib/emass_client/api/cac_api.rb +50 -31
  7. data/lib/emass_client/api/cloud_resources_api.rb +96 -0
  8. data/lib/emass_client/api/cmmc_assessments_api.rb +20 -11
  9. data/lib/emass_client/api/containers_api.rb +96 -0
  10. data/lib/emass_client/api/controls_api.rb +53 -34
  11. data/lib/emass_client/api/milestones_api.rb +138 -92
  12. data/lib/emass_client/api/pac_api.rb +50 -31
  13. data/lib/emass_client/api/poam_api.rb +132 -86
  14. data/lib/emass_client/api/registration_api.rb +30 -18
  15. data/lib/emass_client/api/static_code_scans_api.rb +38 -26
  16. data/lib/emass_client/api/system_roles_api.rb +48 -29
  17. data/lib/emass_client/api/systems_api.rb +57 -39
  18. data/lib/emass_client/api/test_api.rb +18 -9
  19. data/lib/emass_client/api/test_results_api.rb +53 -34
  20. data/lib/emass_client/api/workflow_definitions_api.rb +23 -14
  21. data/lib/emass_client/api/workflow_instances_api.rb +58 -53
  22. data/lib/emass_client/api_client.rb +59 -57
  23. data/lib/emass_client/api_error.rb +5 -5
  24. data/lib/emass_client/configuration.rb +93 -16
  25. data/lib/emass_client/models/artifacts_get.rb +54 -31
  26. data/lib/emass_client/models/{artifacts_delete_inner.rb → artifacts_request_delete_body_inner.rb} +29 -16
  27. data/lib/emass_client/models/artifacts_response_del.rb +27 -14
  28. data/lib/emass_client/models/{artifacts_response_del_data.rb → artifacts_response_del_data_inner.rb} +31 -18
  29. data/lib/emass_client/models/artifacts_response_get.rb +27 -14
  30. data/lib/emass_client/models/artifacts_response_put_post.rb +27 -14
  31. data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +265 -0
  32. data/lib/emass_client/models/cac_get.rb +82 -50
  33. data/lib/emass_client/models/cac_response_get.rb +27 -14
  34. data/lib/emass_client/models/cac_response_post.rb +27 -14
  35. data/lib/emass_client/models/{cac_response_post_data.rb → cac_response_post_data_inner.rb} +61 -21
  36. data/lib/emass_client/models/{pac_request_post_body.rb → cloud_resources_post.rb} +73 -69
  37. data/lib/emass_client/models/cloud_resources_response_post.rb +230 -0
  38. data/lib/emass_client/models/cmmc_get.rb +53 -63
  39. data/lib/emass_client/models/cmmc_response_get.rb +27 -14
  40. data/lib/emass_client/models/connectivity_ccsd.rb +29 -14
  41. data/lib/emass_client/models/containers_resources_post.rb +265 -0
  42. data/lib/emass_client/models/containers_response_post.rb +230 -0
  43. data/lib/emass_client/models/controls_get.rb +103 -66
  44. data/lib/emass_client/models/controls_put.rb +58 -18
  45. data/lib/emass_client/models/controls_response_get.rb +28 -14
  46. data/lib/emass_client/models/controls_response_put.rb +27 -14
  47. data/lib/emass_client/models/definition_transitions.rb +32 -62
  48. data/lib/emass_client/models/instances_transitions.rb +37 -88
  49. data/lib/emass_client/models/milestone_response_get.rb +27 -14
  50. data/lib/emass_client/models/milestone_response_get_milestone.rb +228 -0
  51. data/lib/emass_client/models/milestone_response_post.rb +27 -14
  52. data/lib/emass_client/models/milestone_response_put.rb +27 -14
  53. data/lib/emass_client/models/milestones_get.rb +33 -20
  54. data/lib/emass_client/models/milestones_put_post_delete.rb +60 -20
  55. data/lib/emass_client/models/{delete_milestone.rb → milestones_request_delete_body_inner.rb} +29 -21
  56. data/lib/emass_client/models/milestones_required_post.rb +27 -14
  57. data/lib/emass_client/models/milestones_required_put.rb +28 -15
  58. data/lib/emass_client/models/pac_get.rb +39 -22
  59. data/lib/emass_client/models/pac_post.rb +60 -20
  60. data/lib/emass_client/models/pac_response_get.rb +28 -14
  61. data/lib/emass_client/models/pac_response_post.rb +27 -14
  62. data/lib/emass_client/models/poam_get.rb +114 -77
  63. data/lib/emass_client/models/poam_post_put_del.rb +59 -19
  64. data/lib/emass_client/models/{delete_poam.rb → poam_request_delete_body_inner.rb} +29 -21
  65. data/lib/emass_client/models/poam_response_delete.rb +27 -14
  66. data/lib/emass_client/models/poam_response_get_poams.rb +228 -0
  67. data/lib/emass_client/models/{static_code_required_post.rb → poam_response_get_systems.rb} +42 -29
  68. data/lib/emass_client/models/poam_response_post.rb +27 -14
  69. data/lib/emass_client/models/poam_response_put.rb +27 -14
  70. data/lib/emass_client/models/register.rb +27 -14
  71. data/lib/emass_client/models/register_data.rb +26 -13
  72. data/lib/emass_client/models/register_user_request_post_body.rb +26 -13
  73. data/lib/emass_client/models/{model_200.rb → response200.rb} +53 -16
  74. data/lib/emass_client/models/{model_400.rb → response201.rb} +29 -16
  75. data/lib/emass_client/models/{model_201_meta.rb → response201_meta.rb} +54 -17
  76. data/lib/emass_client/models/{model_400_response.rb → response400.rb} +29 -16
  77. data/lib/emass_client/models/{model_400_meta.rb → response400_meta.rb} +54 -17
  78. data/lib/emass_client/models/{model_401.rb → response401.rb} +29 -16
  79. data/lib/emass_client/models/{model_401_meta.rb → response401_meta.rb} +54 -17
  80. data/lib/emass_client/models/{model_201.rb → response403.rb} +29 -16
  81. data/lib/emass_client/models/{model_403_meta.rb → response403_meta.rb} +54 -17
  82. data/lib/emass_client/models/{model_404.rb → response404.rb} +54 -17
  83. data/lib/emass_client/models/response405.rb +219 -0
  84. data/lib/emass_client/models/{model_405_meta.rb → response405_meta.rb} +54 -17
  85. data/lib/emass_client/models/response411.rb +219 -0
  86. data/lib/emass_client/models/{model_411_meta.rb → response411_meta.rb} +54 -17
  87. data/lib/emass_client/models/response490.rb +219 -0
  88. data/lib/emass_client/models/{model_490_meta.rb → response490_meta.rb} +54 -17
  89. data/lib/emass_client/models/response500.rb +219 -0
  90. data/lib/emass_client/models/{model_500_meta.rb → response500_meta.rb} +54 -17
  91. data/lib/emass_client/models/role_category.rb +32 -50
  92. data/lib/emass_client/models/roles.rb +29 -61
  93. data/lib/emass_client/models/ssps.rb +32 -16
  94. data/lib/emass_client/models/stage.rb +30 -49
  95. data/lib/emass_client/models/static_code_application.rb +34 -33
  96. data/lib/emass_client/models/static_code_post.rb +275 -0
  97. data/lib/emass_client/models/static_code_request_post_body.rb +47 -14
  98. data/lib/emass_client/models/{static_code_required_post_application.rb → static_code_request_post_body_application.rb} +30 -17
  99. data/lib/emass_client/models/static_code_response_post.rb +230 -0
  100. data/lib/emass_client/models/success200_response.rb +27 -14
  101. data/lib/emass_client/models/{error.rb → success200_response_data_inner.rb} +57 -36
  102. data/lib/emass_client/models/system_response.rb +28 -17
  103. data/lib/emass_client/models/system_roles_category_response.rb +28 -14
  104. data/lib/emass_client/models/system_roles_response.rb +27 -14
  105. data/lib/emass_client/models/{system_roles_response_data.rb → system_roles_response_data_inner.rb} +30 -17
  106. data/lib/emass_client/models/systems.rb +218 -191
  107. data/lib/emass_client/models/{poam_response_get.rb → systems_response.rb} +30 -17
  108. data/lib/emass_client/models/test.rb +27 -14
  109. data/lib/emass_client/models/test_data.rb +26 -13
  110. data/lib/emass_client/models/test_results_get.rb +39 -35
  111. data/lib/emass_client/models/test_results_post.rb +58 -18
  112. data/lib/emass_client/models/test_results_response_get.rb +27 -14
  113. data/lib/emass_client/models/test_results_response_post.rb +27 -14
  114. data/lib/emass_client/models/users.rb +28 -15
  115. data/lib/emass_client/models/workflow_definition_get.rb +63 -68
  116. data/lib/emass_client/models/workflow_definition_response_get.rb +27 -14
  117. data/lib/emass_client/models/workflow_instance_get.rb +331 -0
  118. data/lib/emass_client/models/workflow_instance_response_get.rb +230 -0
  119. data/lib/emass_client/models/workflow_instances_get.rb +107 -133
  120. data/lib/emass_client/models/workflow_instances_response_get.rb +39 -17
  121. data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +246 -0
  122. data/lib/emass_client/version.rb +6 -5
  123. data/lib/emass_client.rb +47 -54
  124. metadata +60 -89
  125. data/lib/emass_client/models/artifacts_delete.rb +0 -201
  126. data/lib/emass_client/models/artifacts_request_put_body.rb +0 -363
  127. data/lib/emass_client/models/cac_request_post_body.rb +0 -217
  128. data/lib/emass_client/models/controls_request_put_body.rb +0 -606
  129. data/lib/emass_client/models/empty200_response.rb +0 -197
  130. data/lib/emass_client/models/milestones_delete.rb +0 -197
  131. data/lib/emass_client/models/milestones_post.rb +0 -197
  132. data/lib/emass_client/models/milestones_put.rb +0 -197
  133. data/lib/emass_client/models/milestones_request_post_body.rb +0 -242
  134. data/lib/emass_client/models/milestones_request_put_body.rb +0 -242
  135. data/lib/emass_client/models/model_403.rb +0 -206
  136. data/lib/emass_client/models/model_404_response.rb +0 -206
  137. data/lib/emass_client/models/model_405.rb +0 -206
  138. data/lib/emass_client/models/model_411.rb +0 -206
  139. data/lib/emass_client/models/model_490.rb +0 -206
  140. data/lib/emass_client/models/model_500.rb +0 -206
  141. data/lib/emass_client/models/poam_delete.rb +0 -197
  142. data/lib/emass_client/models/poam_post.rb +0 -197
  143. data/lib/emass_client/models/poam_put.rb +0 -197
  144. data/lib/emass_client/models/poam_request_post_body.rb +0 -197
  145. data/lib/emass_client/models/poam_request_put_body.rb +0 -197
  146. data/lib/emass_client/models/poam_required_post.rb +0 -564
  147. data/lib/emass_client/models/poam_required_put.rb +0 -594
  148. data/lib/emass_client/models/system_id_artifacts_body.rb +0 -284
  149. data/lib/emass_client/models/test_results_request_post_body.rb +0 -306
@@ -1,15 +1,17 @@
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. The `emasser` is a command-line interface (CLI) tool that implements all of the eMASS endpoints defined in the eMASS REST API v3.2, dated October 21, 2021.</br><br> <strong>Register CLI</strong></br> New users will need to register 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) where {url}/api/register (POST) is used 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` 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:
5
5
 
6
- OpenAPI spec version: v3.2
6
+ The version of the OpenAPI document: v3.3
7
7
  Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.26
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.0-SNAPSHOT
10
+
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
16
  module EmassClient
15
17
  class Systems
@@ -70,16 +72,16 @@ module EmassClient
70
72
  # [Read-only] Authorization Termination Date of the system record.
71
73
  attr_accessor :authorization_termination_date
72
74
 
73
- # [Read-only] Length of systems Authorization. Calculated based off of Authorization Date & Authorization Termination Date.
75
+ # [Read-only] Length of system's Authorization. Calculated based off of Authorization Date & Authorization Termination Date.
74
76
  attr_accessor :authorization_length
75
77
 
76
- # [Read-only] Terms/Conditions for receiving and maintaining the systems Authorization. Assigned by the Authorizing Official.
78
+ # [Read-only] Terms/Conditions for receiving and maintaining the system's Authorization. Assigned by the Authorizing Official.
77
79
  attr_accessor :terms_for_auth
78
80
 
79
- # [Read-only] Status of the approval of the systems RMF Security Plan. Values include the following options (Approved, Denied, Not Yet Approved).
81
+ # [Read-only] Status of the approval of the system's RMF Security Plan. Values include the following options (Approved, Denied, Not Yet Approved).
80
82
  attr_accessor :security_plan_approval_status
81
83
 
82
- # [Read-only] Approval date of the systems RMF Security Plan.
84
+ # [Read-only] Approval date of the system's RMF Security Plan.
83
85
  attr_accessor :security_plan_approval_date
84
86
 
85
87
  # [Read-only] Mission Criticality of the system record. Values include the following options (Mission Critical (MC), Mission Essential (ME), Mission Support (MS).
@@ -130,13 +132,13 @@ module EmassClient
130
132
  # [Read-Only] DoD Confidentiality level of the system record.
131
133
  attr_accessor :dod_confidentiality
132
134
 
133
- # [Read-only] Has the system records Contingency Plan been tested?
135
+ # [Read-only] Has the system record's Contingency Plan been tested?
134
136
  attr_accessor :contingency_plan_tested
135
137
 
136
- # [Read-only] Date the system records Contingency Plan was tested.
138
+ # [Read-only] Date the system record's Contingency Plan was tested.
137
139
  attr_accessor :contingency_plan_test_date
138
140
 
139
- # [Read-only] Date the system records Annual Security Review was conducted.
141
+ # [Read-only] Date the system record's Annual Security Review was conducted.
140
142
  attr_accessor :security_review_date
141
143
 
142
144
  # [Read-Only] Does the system record have an Ongoing or Risk Accepted POA&M Item?
@@ -172,7 +174,7 @@ module EmassClient
172
174
  # [Read-only] Status of the PIA, availability values include the following options (Not Started, In Progress, Completed)
173
175
  attr_accessor :pia_status
174
176
 
175
- # [Read-only] Date in which the systems PIA took place.
177
+ # [Read-only] Date in which the system's PIA took place.
176
178
  attr_accessor :pia_date
177
179
 
178
180
  # [Read-only] User-defined field to augment Ad Hoc Reporting.
@@ -190,7 +192,7 @@ module EmassClient
190
192
  # [Read-only] User-defined field to augment Ad Hoc Reporting.
191
193
  attr_accessor :user_defined_field5
192
194
 
193
- # [Read-only] Displays the systems current step within the RMF Lifecycle.
195
+ # [Read-only] Displays the system's current step within the RMF Lifecycle.
194
196
  attr_accessor :current_rmf_lifecycle_step
195
197
 
196
198
  # [Read-only] Include any additional information required by the organization.
@@ -295,82 +297,149 @@ module EmassClient
295
297
  }
296
298
  end
297
299
 
300
+ # Returns all the JSON keys this model knows about
301
+ def self.acceptable_attributes
302
+ attribute_map.values
303
+ end
304
+
298
305
  # Attribute type mapping.
299
306
  def self.openapi_types
300
307
  {
301
- :'system_id' => :'Object',
302
- :'policy' => :'Object',
303
- :'registration_type' => :'Object',
304
- :'name' => :'Object',
305
- :'acronym' => :'Object',
306
- :'description' => :'Object',
307
- :'system_owner' => :'Object',
308
- :'organization_name' => :'Object',
309
- :'secondary_organization' => :'Object',
310
- :'version_release_no' => :'Object',
311
- :'system_type' => :'Object',
312
- :'is_nss' => :'Object',
313
- :'is_public_facing' => :'Object',
314
- :'coams_id' => :'Object',
315
- :'is_type_authorization' => :'Object',
316
- :'ditpr_id' => :'Object',
317
- :'authorization_status' => :'Object',
318
- :'authorization_date' => :'Object',
319
- :'authorization_termination_date' => :'Object',
320
- :'authorization_length' => :'Object',
321
- :'terms_for_auth' => :'Object',
322
- :'security_plan_approval_status' => :'Object',
323
- :'security_plan_approval_date' => :'Object',
324
- :'mission_criticality' => :'Object',
325
- :'geographical_association' => :'Object',
326
- :'system_ownership' => :'Object',
327
- :'governing_mission_area' => :'Object',
328
- :'primary_functional_area' => :'Object',
329
- :'secondary_functional_area' => :'Object',
330
- :'primary_control_set' => :'Object',
331
- :'confidentiality' => :'Object',
332
- :'integrity' => :'Object',
333
- :'availability' => :'Object',
334
- :'applied_overlays' => :'Object',
335
- :'rmf_activity' => :'Object',
336
- :'cross_domain_ticket' => :'Object',
337
- :'ditpr_don_id' => :'Object',
338
- :'mac' => :'Object',
339
- :'dod_confidentiality' => :'Object',
340
- :'contingency_plan_tested' => :'Object',
341
- :'contingency_plan_test_date' => :'Object',
342
- :'security_review_date' => :'Object',
343
- :'has_open_poam_item' => :'Object',
344
- :'has_open_poam_item90to120_past_scheduled_completion_date' => :'Object',
345
- :'has_open_poam_item120_plus_past_scheudled_completion_date' => :'Object',
346
- :'impact' => :'Object',
347
- :'has_cui' => :'Object',
348
- :'has_pii' => :'Object',
349
- :'has_phi' => :'Object',
350
- :'ppsm_registry_number' => :'Object',
351
- :'interconnected_information_system_and_identifiers' => :'Object',
352
- :'is_pia_required' => :'Object',
353
- :'pia_status' => :'Object',
354
- :'pia_date' => :'Object',
355
- :'user_defined_field1' => :'Object',
356
- :'user_defined_field2' => :'Object',
357
- :'user_defined_field3' => :'Object',
358
- :'user_defined_field4' => :'Object',
359
- :'user_defined_field5' => :'Object',
360
- :'current_rmf_lifecycle_step' => :'Object',
361
- :'other_information' => :'Object',
362
- :'reports_for_scorecard' => :'Object',
363
- :'package' => :'Object',
364
- :'connectivity_ccsd' => :'Object'
308
+ :'system_id' => :'Integer',
309
+ :'policy' => :'String',
310
+ :'registration_type' => :'String',
311
+ :'name' => :'String',
312
+ :'acronym' => :'String',
313
+ :'description' => :'String',
314
+ :'system_owner' => :'String',
315
+ :'organization_name' => :'String',
316
+ :'secondary_organization' => :'String',
317
+ :'version_release_no' => :'String',
318
+ :'system_type' => :'String',
319
+ :'is_nss' => :'Boolean',
320
+ :'is_public_facing' => :'Boolean',
321
+ :'coams_id' => :'Integer',
322
+ :'is_type_authorization' => :'Boolean',
323
+ :'ditpr_id' => :'String',
324
+ :'authorization_status' => :'String',
325
+ :'authorization_date' => :'Integer',
326
+ :'authorization_termination_date' => :'Integer',
327
+ :'authorization_length' => :'Integer',
328
+ :'terms_for_auth' => :'String',
329
+ :'security_plan_approval_status' => :'String',
330
+ :'security_plan_approval_date' => :'Integer',
331
+ :'mission_criticality' => :'String',
332
+ :'geographical_association' => :'String',
333
+ :'system_ownership' => :'String',
334
+ :'governing_mission_area' => :'String',
335
+ :'primary_functional_area' => :'String',
336
+ :'secondary_functional_area' => :'String',
337
+ :'primary_control_set' => :'String',
338
+ :'confidentiality' => :'String',
339
+ :'integrity' => :'String',
340
+ :'availability' => :'String',
341
+ :'applied_overlays' => :'String',
342
+ :'rmf_activity' => :'String',
343
+ :'cross_domain_ticket' => :'String',
344
+ :'ditpr_don_id' => :'String',
345
+ :'mac' => :'String',
346
+ :'dod_confidentiality' => :'String',
347
+ :'contingency_plan_tested' => :'Boolean',
348
+ :'contingency_plan_test_date' => :'Integer',
349
+ :'security_review_date' => :'Integer',
350
+ :'has_open_poam_item' => :'Boolean',
351
+ :'has_open_poam_item90to120_past_scheduled_completion_date' => :'Boolean',
352
+ :'has_open_poam_item120_plus_past_scheudled_completion_date' => :'Boolean',
353
+ :'impact' => :'String',
354
+ :'has_cui' => :'Boolean',
355
+ :'has_pii' => :'Boolean',
356
+ :'has_phi' => :'Boolean',
357
+ :'ppsm_registry_number' => :'String',
358
+ :'interconnected_information_system_and_identifiers' => :'String',
359
+ :'is_pia_required' => :'Boolean',
360
+ :'pia_status' => :'String',
361
+ :'pia_date' => :'Integer',
362
+ :'user_defined_field1' => :'String',
363
+ :'user_defined_field2' => :'String',
364
+ :'user_defined_field3' => :'String',
365
+ :'user_defined_field4' => :'String',
366
+ :'user_defined_field5' => :'String',
367
+ :'current_rmf_lifecycle_step' => :'String',
368
+ :'other_information' => :'String',
369
+ :'reports_for_scorecard' => :'Boolean',
370
+ :'package' => :'Array<PacGet>',
371
+ :'connectivity_ccsd' => :'Array<ConnectivityCcsd>'
365
372
  }
366
373
  end
367
374
 
368
375
  # List of attributes with nullable: true
369
376
  def self.openapi_nullable
370
377
  Set.new([
378
+ :'policy',
379
+ :'registration_type',
380
+ :'name',
381
+ :'acronym',
382
+ :'description',
383
+ :'system_owner',
384
+ :'organization_name',
385
+ :'secondary_organization',
386
+ :'version_release_no',
387
+ :'system_type',
388
+ :'is_nss',
389
+ :'is_public_facing',
390
+ :'coams_id',
391
+ :'is_type_authorization',
392
+ :'authorization_status',
393
+ :'authorization_date',
394
+ :'authorization_termination_date',
395
+ :'authorization_length',
396
+ :'terms_for_auth',
397
+ :'security_plan_approval_status',
398
+ :'security_plan_approval_date',
399
+ :'mission_criticality',
400
+ :'geographical_association',
401
+ :'system_ownership',
402
+ :'governing_mission_area',
403
+ :'primary_functional_area',
404
+ :'secondary_functional_area',
405
+ :'primary_control_set',
406
+ :'confidentiality',
407
+ :'integrity',
408
+ :'availability',
409
+ :'applied_overlays',
410
+ :'rmf_activity',
411
+ :'cross_domain_ticket',
412
+ :'ditpr_don_id',
413
+ :'mac',
414
+ :'dod_confidentiality',
415
+ :'contingency_plan_tested',
416
+ :'contingency_plan_test_date',
417
+ :'security_review_date',
418
+ :'has_open_poam_item',
419
+ :'has_open_poam_item90to120_past_scheduled_completion_date',
420
+ :'has_open_poam_item120_plus_past_scheudled_completion_date',
421
+ :'impact',
422
+ :'has_cui',
423
+ :'has_pii',
424
+ :'has_phi',
425
+ :'ppsm_registry_number',
426
+ :'interconnected_information_system_and_identifiers',
427
+ :'is_pia_required',
428
+ :'pia_status',
429
+ :'pia_date',
430
+ :'user_defined_field1',
431
+ :'user_defined_field2',
432
+ :'user_defined_field3',
433
+ :'user_defined_field4',
434
+ :'user_defined_field5',
435
+ :'current_rmf_lifecycle_step',
436
+ :'other_information',
437
+ :'reports_for_scorecard',
438
+ :'package',
439
+ :'connectivity_ccsd'
371
440
  ])
372
441
  end
373
-
442
+
374
443
  # Initializes the object
375
444
  # @param [Hash] attributes Model attributes in the form of hash
376
445
  def initialize(attributes = {})
@@ -651,57 +720,55 @@ module EmassClient
651
720
  # @return Array for valid properties with the reasons
652
721
  def list_invalid_properties
653
722
  invalid_properties = Array.new
723
+ if !@authorization_length.nil? && @authorization_length > 1825
724
+ invalid_properties.push('invalid value for "authorization_length", must be smaller than or equal to 1825.')
725
+ end
726
+
727
+ if !@authorization_length.nil? && @authorization_length < 28
728
+ invalid_properties.push('invalid value for "authorization_length", must be greater than or equal to 28.')
729
+ end
730
+
654
731
  invalid_properties
655
732
  end
656
733
 
657
734
  # Check to see if the all the properties in the model are valid
658
735
  # @return true if the model is valid
659
736
  def valid?
660
- policy_validator = EnumAttributeValidator.new('Object', ['RMF', 'DIACAP'])
737
+ policy_validator = EnumAttributeValidator.new('String', ["RMF", "DIACAP", "unknown_default_open_api"])
661
738
  return false unless policy_validator.valid?(@policy)
662
- registration_type_validator = EnumAttributeValidator.new('Object', ['Assess and Authorize', 'Assess Only', 'Guest', 'Regular', 'Functional', 'Cloud Service Provider', 'Common Control Provider'])
739
+ registration_type_validator = EnumAttributeValidator.new('String', ["Assess and Authorize", "Assess Only", "Guest", "Regular", "Functional", "Cloud Service Provider", "Common Control Provider", "unknown_default_open_api"])
663
740
  return false unless registration_type_validator.valid?(@registration_type)
664
- organization_name_validator = EnumAttributeValidator.new('Object', ['Army', 'Navy', 'Air Force', 'Marines', 'DoD', 'Defense Information Systems Agency'])
665
- return false unless organization_name_validator.valid?(@organization_name)
666
- system_type_validator = EnumAttributeValidator.new('Object', ['IS Major Application', 'IS Enclave', 'Platform IT', 'Platform IT System', 'Platform IT Interconnection', 'AIS Application', 'Outsourced IT-Based Process (DoD-controlled)', 'Enclave', 'Outsourced IT-Based Process (service provider shared)'])
741
+ system_type_validator = EnumAttributeValidator.new('String', ["IS Major Application", "IS Enclave", "Platform IT", "Platform IT System", "Platform IT Interconnection", "AIS Application", "Outsourced IT-Based Process (DoD-controlled)", "Enclave", "Outsourced IT-Based Process (service provider shared)", "unknown_default_open_api"])
667
742
  return false unless system_type_validator.valid?(@system_type)
668
- authorization_status_validator = EnumAttributeValidator.new('Object', ['Authority to Operate (ATO)', 'Authority to Operate with Conditions (ATO) w/Conditions)', 'Interim Authority to Test (IATT)', 'Interim Authority to Operate (IATO)', 'Denied Authority to Operate (DATO)', 'Not Yet Authorized', 'Unaccredited', 'Decommissioned'])
743
+ authorization_status_validator = EnumAttributeValidator.new('String', ["Authority to Operate (ATO)", "Authorization to Operate (ATO)", "Authority to Operate with Conditions (ATO w/Conditions)", "Interim Authority to Test (IATT)", "Interim Authority to Operate (IATO)", "Denied Authority to Operate (DATO)", "Denial of Authorization to Operate (DATO)", "Not Yet Authorized", "Decommissioned", "Unaccredited", "unknown_default_open_api"])
669
744
  return false unless authorization_status_validator.valid?(@authorization_status)
670
- security_plan_approval_status_validator = EnumAttributeValidator.new('Object', ['Approved', 'Not Yet Approved', 'Denied'])
745
+ return false if !@authorization_length.nil? && @authorization_length > 1825
746
+ return false if !@authorization_length.nil? && @authorization_length < 28
747
+ security_plan_approval_status_validator = EnumAttributeValidator.new('String', ["Approved", "Not Yet Approved", "Denied", "unknown_default_open_api"])
671
748
  return false unless security_plan_approval_status_validator.valid?(@security_plan_approval_status)
672
- mission_criticality_validator = EnumAttributeValidator.new('Object', ['Mission Critical (MC)', 'Mission Essential (ME)', 'Mission Support (MS)'])
749
+ mission_criticality_validator = EnumAttributeValidator.new('String', ["Mission Critical (MC)", "Mission Essential (ME)", "Mission Support (MS)", "unknown_default_open_api"])
673
750
  return false unless mission_criticality_validator.valid?(@mission_criticality)
674
- geographical_association_validator = EnumAttributeValidator.new('Object', ['VA Operated IS', 'non-VA Operated IS'])
751
+ geographical_association_validator = EnumAttributeValidator.new('String', ["VA Operated IS", "non-VA Operated IS", "unknown_default_open_api"])
675
752
  return false unless geographical_association_validator.valid?(@geographical_association)
676
- system_ownership_validator = EnumAttributeValidator.new('Object', ['Region 1', 'Region 2', 'Region 3', 'Region 4'])
677
- return false unless system_ownership_validator.valid?(@system_ownership)
678
- governing_mission_area_validator = EnumAttributeValidator.new('Object', ['Business MA (BMA)', 'DoD portion of the Intelligence MA (DIMA)', 'Enterprise Information Environment MA (EIEMA)', 'Warfighting MA (WMA)'])
753
+ governing_mission_area_validator = EnumAttributeValidator.new('String', ["Business MA (BMA)", "DoD portion of the Intelligence MA (DIMA)", "Enterprise Information Environment MA (EIEMA)", "Warfighting MA (WMA)", "unknown_default_open_api"])
679
754
  return false unless governing_mission_area_validator.valid?(@governing_mission_area)
680
- primary_functional_area_validator = EnumAttributeValidator.new('Object', ['Allies', 'CBRNE', 'Civilian Personnel & Readiness', 'Command and Control', 'Communications', 'Communications Security (COMSEC)', 'Economic', 'Environmental Security', 'Facilities', 'Finance', 'Health/Medical', 'Human Resources', 'Information Management', 'Inspector General', 'Intelligence', 'Logistics', 'Military Personnel and Readiness', 'Nuclear', 'Nuclear, Chemical, and Biological', 'Operations', 'Personnel and Readiness', 'Procurement/Acquisition', 'Reserve Components', 'Scientific and Engineering', 'Space and Weather', 'Test and Evaluation', 'Trainers', 'Weapons', 'Legal', 'Transportation', 'Not Applicable (N/A)', 'Integration and Testing'])
681
- return false unless primary_functional_area_validator.valid?(@primary_functional_area)
682
- secondary_functional_area_validator = EnumAttributeValidator.new('Object', ['Allies', 'CBRNE', 'Civilian Personnel & Readiness', 'Command and Control', 'Communications', 'Communications Security (COMSEC)', 'Economic', 'Environmental Security', 'Facilities', 'Finance', 'Health/Medical', 'Human Resources', 'Information Management', 'Inspector General', 'Intelligence', 'Logistics', 'Military Personnel and Readiness', 'Nuclear', 'Nuclear, Chemical, and Biological', 'Operations', 'Personnel and Readiness', 'Procurement/Acquisition', 'Reserve Components', 'Scientific and Engineering', 'Space and Weather', 'Test and Evaluation', 'Trainers', 'Weapons', 'Legal', 'Transportation', 'Not Applicable (N/A)', 'Integration and Testing'])
683
- return false unless secondary_functional_area_validator.valid?(@secondary_functional_area)
684
- primary_control_set_validator = EnumAttributeValidator.new('Object', ['NIST SP 800-53 Revision 4', 'DoDI 8500.2'])
755
+ primary_control_set_validator = EnumAttributeValidator.new('String', ["NIST SP 800-53 Revision 4", "DoDI 8500.2", "unknown_default_open_api"])
685
756
  return false unless primary_control_set_validator.valid?(@primary_control_set)
686
- confidentiality_validator = EnumAttributeValidator.new('Object', ['High', 'Moderate', 'Low'])
757
+ confidentiality_validator = EnumAttributeValidator.new('String', ["High", "Moderate", "Low", "unknown_default_open_api"])
687
758
  return false unless confidentiality_validator.valid?(@confidentiality)
688
- integrity_validator = EnumAttributeValidator.new('Object', ['High', 'Moderate', 'Low'])
759
+ integrity_validator = EnumAttributeValidator.new('String', ["High", "Moderate", "Low", "unknown_default_open_api"])
689
760
  return false unless integrity_validator.valid?(@integrity)
690
- availability_validator = EnumAttributeValidator.new('Object', ['High', 'Moderate', 'Low'])
761
+ availability_validator = EnumAttributeValidator.new('String', ["High", "Moderate", "Low", "unknown_default_open_api"])
691
762
  return false unless availability_validator.valid?(@availability)
692
- applied_overlays_validator = EnumAttributeValidator.new('Object', ['Classified Information', 'Privacy', 'Cross Domain Solution (CDS)', 'Financial Management', 'Intelligence', 'Nuclear Command, Communication, Control Systems (NC3)', 'Cloud Service Provider (CSP)'])
693
- return false unless applied_overlays_validator.valid?(@applied_overlays)
694
- rmf_activity_validator = EnumAttributeValidator.new('Object', ['Initiate and plan C&A', 'Initiate and plan cybersecurity Assessment Authorization', 'Implement and validate assigned security controls', 'Make assessment determination and authorization decision', 'Maintain ATO and conduct reviews', 'Decommission'])
695
- return false unless rmf_activity_validator.valid?(@rmf_activity)
696
- mac_validator = EnumAttributeValidator.new('Object', ['I', 'II', 'III'])
763
+ mac_validator = EnumAttributeValidator.new('String', ["I", "II", "III", "unknown_default_open_api"])
697
764
  return false unless mac_validator.valid?(@mac)
698
- dod_confidentiality_validator = EnumAttributeValidator.new('Object', ['Public', 'Sensitive', 'Classified'])
765
+ dod_confidentiality_validator = EnumAttributeValidator.new('String', ["Public", "Sensitive", "Classified", "unknown_default_open_api"])
699
766
  return false unless dod_confidentiality_validator.valid?(@dod_confidentiality)
700
- impact_validator = EnumAttributeValidator.new('Object', ['low', 'Moderate', 'High'])
767
+ impact_validator = EnumAttributeValidator.new('String', ["Low", "Moderate", "High", "unknown_default_open_api"])
701
768
  return false unless impact_validator.valid?(@impact)
702
- pia_status_validator = EnumAttributeValidator.new('Object', ['Not Started', 'In Progress', 'Completed'])
769
+ pia_status_validator = EnumAttributeValidator.new('String', ["Not Started", "In Progress", "Completed", "unknown_default_open_api"])
703
770
  return false unless pia_status_validator.valid?(@pia_status)
704
- current_rmf_lifecycle_step_validator = EnumAttributeValidator.new('Object', ['1 Categorize', '2 Select', '3 Implement', '4 Assess', '5 Authorize', '6 Monitor'])
771
+ current_rmf_lifecycle_step_validator = EnumAttributeValidator.new('String', ["1 - Categorize", "2 - Select", "3 - Implement", "4 - Assess", "5 - Authorize", "6 - Monitor", "unknown_default_open_api"])
705
772
  return false unless current_rmf_lifecycle_step_validator.valid?(@current_rmf_lifecycle_step)
706
773
  true
707
774
  end
@@ -709,7 +776,7 @@ module EmassClient
709
776
  # Custom attribute writer method checking allowed values (enum).
710
777
  # @param [Object] policy Object to be assigned
711
778
  def policy=(policy)
712
- validator = EnumAttributeValidator.new('Object', ['RMF', 'DIACAP'])
779
+ validator = EnumAttributeValidator.new('String', ["RMF", "DIACAP", "unknown_default_open_api"])
713
780
  unless validator.valid?(policy)
714
781
  fail ArgumentError, "invalid value for \"policy\", must be one of #{validator.allowable_values}."
715
782
  end
@@ -719,27 +786,17 @@ module EmassClient
719
786
  # Custom attribute writer method checking allowed values (enum).
720
787
  # @param [Object] registration_type Object to be assigned
721
788
  def registration_type=(registration_type)
722
- validator = EnumAttributeValidator.new('Object', ['Assess and Authorize', 'Assess Only', 'Guest', 'Regular', 'Functional', 'Cloud Service Provider', 'Common Control Provider'])
789
+ validator = EnumAttributeValidator.new('String', ["Assess and Authorize", "Assess Only", "Guest", "Regular", "Functional", "Cloud Service Provider", "Common Control Provider", "unknown_default_open_api"])
723
790
  unless validator.valid?(registration_type)
724
791
  fail ArgumentError, "invalid value for \"registration_type\", must be one of #{validator.allowable_values}."
725
792
  end
726
793
  @registration_type = registration_type
727
794
  end
728
795
 
729
- # Custom attribute writer method checking allowed values (enum).
730
- # @param [Object] organization_name Object to be assigned
731
- def organization_name=(organization_name)
732
- validator = EnumAttributeValidator.new('Object', ['Army', 'Navy', 'Air Force', 'Marines', 'DoD', 'Defense Information Systems Agency'])
733
- unless validator.valid?(organization_name)
734
- fail ArgumentError, "invalid value for \"organization_name\", must be one of #{validator.allowable_values}."
735
- end
736
- @organization_name = organization_name
737
- end
738
-
739
796
  # Custom attribute writer method checking allowed values (enum).
740
797
  # @param [Object] system_type Object to be assigned
741
798
  def system_type=(system_type)
742
- validator = EnumAttributeValidator.new('Object', ['IS Major Application', 'IS Enclave', 'Platform IT', 'Platform IT System', 'Platform IT Interconnection', 'AIS Application', 'Outsourced IT-Based Process (DoD-controlled)', 'Enclave', 'Outsourced IT-Based Process (service provider shared)'])
799
+ validator = EnumAttributeValidator.new('String', ["IS Major Application", "IS Enclave", "Platform IT", "Platform IT System", "Platform IT Interconnection", "AIS Application", "Outsourced IT-Based Process (DoD-controlled)", "Enclave", "Outsourced IT-Based Process (service provider shared)", "unknown_default_open_api"])
743
800
  unless validator.valid?(system_type)
744
801
  fail ArgumentError, "invalid value for \"system_type\", must be one of #{validator.allowable_values}."
745
802
  end
@@ -749,17 +806,31 @@ module EmassClient
749
806
  # Custom attribute writer method checking allowed values (enum).
750
807
  # @param [Object] authorization_status Object to be assigned
751
808
  def authorization_status=(authorization_status)
752
- validator = EnumAttributeValidator.new('Object', ['Authority to Operate (ATO)', 'Authority to Operate with Conditions (ATO) w/Conditions)', 'Interim Authority to Test (IATT)', 'Interim Authority to Operate (IATO)', 'Denied Authority to Operate (DATO)', 'Not Yet Authorized', 'Unaccredited', 'Decommissioned'])
809
+ validator = EnumAttributeValidator.new('String', ["Authority to Operate (ATO)", "Authorization to Operate (ATO)", "Authority to Operate with Conditions (ATO w/Conditions)", "Interim Authority to Test (IATT)", "Interim Authority to Operate (IATO)", "Denied Authority to Operate (DATO)", "Denial of Authorization to Operate (DATO)", "Not Yet Authorized", "Decommissioned", "Unaccredited", "unknown_default_open_api"])
753
810
  unless validator.valid?(authorization_status)
754
811
  fail ArgumentError, "invalid value for \"authorization_status\", must be one of #{validator.allowable_values}."
755
812
  end
756
813
  @authorization_status = authorization_status
757
814
  end
758
815
 
816
+ # Custom attribute writer method with validation
817
+ # @param [Object] authorization_length Value to be assigned
818
+ def authorization_length=(authorization_length)
819
+ if !authorization_length.nil? && authorization_length > 1825
820
+ fail ArgumentError, 'invalid value for "authorization_length", must be smaller than or equal to 1825.'
821
+ end
822
+
823
+ if !authorization_length.nil? && authorization_length < 28
824
+ fail ArgumentError, 'invalid value for "authorization_length", must be greater than or equal to 28.'
825
+ end
826
+
827
+ @authorization_length = authorization_length
828
+ end
829
+
759
830
  # Custom attribute writer method checking allowed values (enum).
760
831
  # @param [Object] security_plan_approval_status Object to be assigned
761
832
  def security_plan_approval_status=(security_plan_approval_status)
762
- validator = EnumAttributeValidator.new('Object', ['Approved', 'Not Yet Approved', 'Denied'])
833
+ validator = EnumAttributeValidator.new('String', ["Approved", "Not Yet Approved", "Denied", "unknown_default_open_api"])
763
834
  unless validator.valid?(security_plan_approval_status)
764
835
  fail ArgumentError, "invalid value for \"security_plan_approval_status\", must be one of #{validator.allowable_values}."
765
836
  end
@@ -769,7 +840,7 @@ module EmassClient
769
840
  # Custom attribute writer method checking allowed values (enum).
770
841
  # @param [Object] mission_criticality Object to be assigned
771
842
  def mission_criticality=(mission_criticality)
772
- validator = EnumAttributeValidator.new('Object', ['Mission Critical (MC)', 'Mission Essential (ME)', 'Mission Support (MS)'])
843
+ validator = EnumAttributeValidator.new('String', ["Mission Critical (MC)", "Mission Essential (ME)", "Mission Support (MS)", "unknown_default_open_api"])
773
844
  unless validator.valid?(mission_criticality)
774
845
  fail ArgumentError, "invalid value for \"mission_criticality\", must be one of #{validator.allowable_values}."
775
846
  end
@@ -779,57 +850,27 @@ module EmassClient
779
850
  # Custom attribute writer method checking allowed values (enum).
780
851
  # @param [Object] geographical_association Object to be assigned
781
852
  def geographical_association=(geographical_association)
782
- validator = EnumAttributeValidator.new('Object', ['VA Operated IS', 'non-VA Operated IS'])
853
+ validator = EnumAttributeValidator.new('String', ["VA Operated IS", "non-VA Operated IS", "unknown_default_open_api"])
783
854
  unless validator.valid?(geographical_association)
784
855
  fail ArgumentError, "invalid value for \"geographical_association\", must be one of #{validator.allowable_values}."
785
856
  end
786
857
  @geographical_association = geographical_association
787
858
  end
788
859
 
789
- # Custom attribute writer method checking allowed values (enum).
790
- # @param [Object] system_ownership Object to be assigned
791
- def system_ownership=(system_ownership)
792
- validator = EnumAttributeValidator.new('Object', ['Region 1', 'Region 2', 'Region 3', 'Region 4'])
793
- unless validator.valid?(system_ownership)
794
- fail ArgumentError, "invalid value for \"system_ownership\", must be one of #{validator.allowable_values}."
795
- end
796
- @system_ownership = system_ownership
797
- end
798
-
799
860
  # Custom attribute writer method checking allowed values (enum).
800
861
  # @param [Object] governing_mission_area Object to be assigned
801
862
  def governing_mission_area=(governing_mission_area)
802
- validator = EnumAttributeValidator.new('Object', ['Business MA (BMA)', 'DoD portion of the Intelligence MA (DIMA)', 'Enterprise Information Environment MA (EIEMA)', 'Warfighting MA (WMA)'])
863
+ validator = EnumAttributeValidator.new('String', ["Business MA (BMA)", "DoD portion of the Intelligence MA (DIMA)", "Enterprise Information Environment MA (EIEMA)", "Warfighting MA (WMA)", "unknown_default_open_api"])
803
864
  unless validator.valid?(governing_mission_area)
804
865
  fail ArgumentError, "invalid value for \"governing_mission_area\", must be one of #{validator.allowable_values}."
805
866
  end
806
867
  @governing_mission_area = governing_mission_area
807
868
  end
808
869
 
809
- # Custom attribute writer method checking allowed values (enum).
810
- # @param [Object] primary_functional_area Object to be assigned
811
- def primary_functional_area=(primary_functional_area)
812
- validator = EnumAttributeValidator.new('Object', ['Allies', 'CBRNE', 'Civilian Personnel & Readiness', 'Command and Control', 'Communications', 'Communications Security (COMSEC)', 'Economic', 'Environmental Security', 'Facilities', 'Finance', 'Health/Medical', 'Human Resources', 'Information Management', 'Inspector General', 'Intelligence', 'Logistics', 'Military Personnel and Readiness', 'Nuclear', 'Nuclear, Chemical, and Biological', 'Operations', 'Personnel and Readiness', 'Procurement/Acquisition', 'Reserve Components', 'Scientific and Engineering', 'Space and Weather', 'Test and Evaluation', 'Trainers', 'Weapons', 'Legal', 'Transportation', 'Not Applicable (N/A)', 'Integration and Testing'])
813
- unless validator.valid?(primary_functional_area)
814
- fail ArgumentError, "invalid value for \"primary_functional_area\", must be one of #{validator.allowable_values}."
815
- end
816
- @primary_functional_area = primary_functional_area
817
- end
818
-
819
- # Custom attribute writer method checking allowed values (enum).
820
- # @param [Object] secondary_functional_area Object to be assigned
821
- def secondary_functional_area=(secondary_functional_area)
822
- validator = EnumAttributeValidator.new('Object', ['Allies', 'CBRNE', 'Civilian Personnel & Readiness', 'Command and Control', 'Communications', 'Communications Security (COMSEC)', 'Economic', 'Environmental Security', 'Facilities', 'Finance', 'Health/Medical', 'Human Resources', 'Information Management', 'Inspector General', 'Intelligence', 'Logistics', 'Military Personnel and Readiness', 'Nuclear', 'Nuclear, Chemical, and Biological', 'Operations', 'Personnel and Readiness', 'Procurement/Acquisition', 'Reserve Components', 'Scientific and Engineering', 'Space and Weather', 'Test and Evaluation', 'Trainers', 'Weapons', 'Legal', 'Transportation', 'Not Applicable (N/A)', 'Integration and Testing'])
823
- unless validator.valid?(secondary_functional_area)
824
- fail ArgumentError, "invalid value for \"secondary_functional_area\", must be one of #{validator.allowable_values}."
825
- end
826
- @secondary_functional_area = secondary_functional_area
827
- end
828
-
829
870
  # Custom attribute writer method checking allowed values (enum).
830
871
  # @param [Object] primary_control_set Object to be assigned
831
872
  def primary_control_set=(primary_control_set)
832
- validator = EnumAttributeValidator.new('Object', ['NIST SP 800-53 Revision 4', 'DoDI 8500.2'])
873
+ validator = EnumAttributeValidator.new('String', ["NIST SP 800-53 Revision 4", "DoDI 8500.2", "unknown_default_open_api"])
833
874
  unless validator.valid?(primary_control_set)
834
875
  fail ArgumentError, "invalid value for \"primary_control_set\", must be one of #{validator.allowable_values}."
835
876
  end
@@ -839,7 +880,7 @@ module EmassClient
839
880
  # Custom attribute writer method checking allowed values (enum).
840
881
  # @param [Object] confidentiality Object to be assigned
841
882
  def confidentiality=(confidentiality)
842
- validator = EnumAttributeValidator.new('Object', ['High', 'Moderate', 'Low'])
883
+ validator = EnumAttributeValidator.new('String', ["High", "Moderate", "Low", "unknown_default_open_api"])
843
884
  unless validator.valid?(confidentiality)
844
885
  fail ArgumentError, "invalid value for \"confidentiality\", must be one of #{validator.allowable_values}."
845
886
  end
@@ -849,7 +890,7 @@ module EmassClient
849
890
  # Custom attribute writer method checking allowed values (enum).
850
891
  # @param [Object] integrity Object to be assigned
851
892
  def integrity=(integrity)
852
- validator = EnumAttributeValidator.new('Object', ['High', 'Moderate', 'Low'])
893
+ validator = EnumAttributeValidator.new('String', ["High", "Moderate", "Low", "unknown_default_open_api"])
853
894
  unless validator.valid?(integrity)
854
895
  fail ArgumentError, "invalid value for \"integrity\", must be one of #{validator.allowable_values}."
855
896
  end
@@ -859,37 +900,17 @@ module EmassClient
859
900
  # Custom attribute writer method checking allowed values (enum).
860
901
  # @param [Object] availability Object to be assigned
861
902
  def availability=(availability)
862
- validator = EnumAttributeValidator.new('Object', ['High', 'Moderate', 'Low'])
903
+ validator = EnumAttributeValidator.new('String', ["High", "Moderate", "Low", "unknown_default_open_api"])
863
904
  unless validator.valid?(availability)
864
905
  fail ArgumentError, "invalid value for \"availability\", must be one of #{validator.allowable_values}."
865
906
  end
866
907
  @availability = availability
867
908
  end
868
909
 
869
- # Custom attribute writer method checking allowed values (enum).
870
- # @param [Object] applied_overlays Object to be assigned
871
- def applied_overlays=(applied_overlays)
872
- validator = EnumAttributeValidator.new('Object', ['Classified Information', 'Privacy', 'Cross Domain Solution (CDS)', 'Financial Management', 'Intelligence', 'Nuclear Command, Communication, Control Systems (NC3)', 'Cloud Service Provider (CSP)'])
873
- unless validator.valid?(applied_overlays)
874
- fail ArgumentError, "invalid value for \"applied_overlays\", must be one of #{validator.allowable_values}."
875
- end
876
- @applied_overlays = applied_overlays
877
- end
878
-
879
- # Custom attribute writer method checking allowed values (enum).
880
- # @param [Object] rmf_activity Object to be assigned
881
- def rmf_activity=(rmf_activity)
882
- validator = EnumAttributeValidator.new('Object', ['Initiate and plan C&A', 'Initiate and plan cybersecurity Assessment Authorization', 'Implement and validate assigned security controls', 'Make assessment determination and authorization decision', 'Maintain ATO and conduct reviews', 'Decommission'])
883
- unless validator.valid?(rmf_activity)
884
- fail ArgumentError, "invalid value for \"rmf_activity\", must be one of #{validator.allowable_values}."
885
- end
886
- @rmf_activity = rmf_activity
887
- end
888
-
889
910
  # Custom attribute writer method checking allowed values (enum).
890
911
  # @param [Object] mac Object to be assigned
891
912
  def mac=(mac)
892
- validator = EnumAttributeValidator.new('Object', ['I', 'II', 'III'])
913
+ validator = EnumAttributeValidator.new('String', ["I", "II", "III", "unknown_default_open_api"])
893
914
  unless validator.valid?(mac)
894
915
  fail ArgumentError, "invalid value for \"mac\", must be one of #{validator.allowable_values}."
895
916
  end
@@ -899,7 +920,7 @@ module EmassClient
899
920
  # Custom attribute writer method checking allowed values (enum).
900
921
  # @param [Object] dod_confidentiality Object to be assigned
901
922
  def dod_confidentiality=(dod_confidentiality)
902
- validator = EnumAttributeValidator.new('Object', ['Public', 'Sensitive', 'Classified'])
923
+ validator = EnumAttributeValidator.new('String', ["Public", "Sensitive", "Classified", "unknown_default_open_api"])
903
924
  unless validator.valid?(dod_confidentiality)
904
925
  fail ArgumentError, "invalid value for \"dod_confidentiality\", must be one of #{validator.allowable_values}."
905
926
  end
@@ -909,7 +930,7 @@ module EmassClient
909
930
  # Custom attribute writer method checking allowed values (enum).
910
931
  # @param [Object] impact Object to be assigned
911
932
  def impact=(impact)
912
- validator = EnumAttributeValidator.new('Object', ['low', 'Moderate', 'High'])
933
+ validator = EnumAttributeValidator.new('String', ["Low", "Moderate", "High", "unknown_default_open_api"])
913
934
  unless validator.valid?(impact)
914
935
  fail ArgumentError, "invalid value for \"impact\", must be one of #{validator.allowable_values}."
915
936
  end
@@ -919,7 +940,7 @@ module EmassClient
919
940
  # Custom attribute writer method checking allowed values (enum).
920
941
  # @param [Object] pia_status Object to be assigned
921
942
  def pia_status=(pia_status)
922
- validator = EnumAttributeValidator.new('Object', ['Not Started', 'In Progress', 'Completed'])
943
+ validator = EnumAttributeValidator.new('String', ["Not Started", "In Progress", "Completed", "unknown_default_open_api"])
923
944
  unless validator.valid?(pia_status)
924
945
  fail ArgumentError, "invalid value for \"pia_status\", must be one of #{validator.allowable_values}."
925
946
  end
@@ -929,7 +950,7 @@ module EmassClient
929
950
  # Custom attribute writer method checking allowed values (enum).
930
951
  # @param [Object] current_rmf_lifecycle_step Object to be assigned
931
952
  def current_rmf_lifecycle_step=(current_rmf_lifecycle_step)
932
- validator = EnumAttributeValidator.new('Object', ['1 Categorize', '2 Select', '3 Implement', '4 Assess', '5 Authorize', '6 Monitor'])
953
+ validator = EnumAttributeValidator.new('String', ["1 - Categorize", "2 - Select", "3 - Implement", "4 - Assess", "5 - Authorize", "6 - Monitor", "unknown_default_open_api"])
933
954
  unless validator.valid?(current_rmf_lifecycle_step)
934
955
  fail ArgumentError, "invalid value for \"current_rmf_lifecycle_step\", must be one of #{validator.allowable_values}."
935
956
  end
@@ -1031,8 +1052,11 @@ module EmassClient
1031
1052
  # @return [Object] Returns the model itself
1032
1053
  def build_from_hash(attributes)
1033
1054
  return nil unless attributes.is_a?(Hash)
1055
+ attributes = attributes.transform_keys(&:to_sym)
1034
1056
  self.class.openapi_types.each_pair do |key, type|
1035
- if type =~ /\AArray<(.*)>/i
1057
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
1058
+ self.send("#{key}=", nil)
1059
+ elsif type =~ /\AArray<(.*)>/i
1036
1060
  # check to ensure the input is an array given that the attribute
1037
1061
  # is documented as an array but the input is not
1038
1062
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -1040,8 +1064,6 @@ module EmassClient
1040
1064
  end
1041
1065
  elsif !attributes[self.class.attribute_map[key]].nil?
1042
1066
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1043
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
1044
- self.send("#{key}=", nil)
1045
1067
  end
1046
1068
  end
1047
1069
 
@@ -1054,8 +1076,8 @@ module EmassClient
1054
1076
  # @return [Object] Deserialized data
1055
1077
  def _deserialize(type, value)
1056
1078
  case type.to_sym
1057
- when :DateTime
1058
- DateTime.parse(value)
1079
+ when :Time
1080
+ Time.parse(value)
1059
1081
  when :Date
1060
1082
  Date.parse(value)
1061
1083
  when :String
@@ -1085,7 +1107,9 @@ module EmassClient
1085
1107
  end
1086
1108
  end
1087
1109
  else # model
1088
- EmassClient.const_get(type).build_from_hash(value)
1110
+ # models (e.g. Pet) or oneOf
1111
+ klass = EmassClient.const_get(type)
1112
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
1089
1113
  end
1090
1114
  end
1091
1115
 
@@ -1133,5 +1157,8 @@ module EmassClient
1133
1157
  else
1134
1158
  value
1135
1159
  end
1136
- end end
1160
+ end
1161
+
1162
+ end
1163
+
1137
1164
  end