emass_client 3.10.1 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +57 -44
  3. data/lib/emass_client/api/artifacts_api.rb +14 -11
  4. data/lib/emass_client/api/artifacts_export_api.rb +3 -3
  5. data/lib/emass_client/api/cac_api.rb +7 -7
  6. data/lib/emass_client/api/cloud_resource_results_api.rb +79 -5
  7. data/lib/emass_client/api/cmmc_assessments_api.rb +3 -3
  8. data/lib/emass_client/api/container_scan_results_api.rb +79 -5
  9. data/lib/emass_client/api/controls_api.rb +5 -5
  10. data/lib/emass_client/api/enterprise_artifacts_dashboards_api.rb +168 -0
  11. data/lib/emass_client/api/enterprise_poam_dashboards_api.rb +168 -0
  12. data/lib/emass_client/api/enterprise_security_controls_dashboards_api.rb +241 -0
  13. data/lib/emass_client/api/enterprise_sensor_based_hardware_resources_dashboards_api.rb +168 -0
  14. data/lib/emass_client/api/enterprise_sensor_based_software_resources_dashboards_api.rb +241 -0
  15. data/lib/emass_client/api/enterprise_terms_conditions_dashboards_api.rb +168 -0
  16. data/lib/emass_client/api/enterprise_vulnerability_dashboards_api.rb +241 -0
  17. data/lib/emass_client/api/fisma_inventory_summary_dashboards_api.rb +168 -0
  18. data/lib/emass_client/api/hardware_baseline_dashboards_api.rb +168 -0
  19. data/lib/emass_client/api/milestones_api.rb +6 -6
  20. data/lib/emass_client/api/pac_api.rb +11 -11
  21. data/lib/emass_client/api/poam_api.rb +12 -9
  22. data/lib/emass_client/api/ports_and_protocols_dashboards_api.rb +168 -0
  23. data/lib/emass_client/api/privacy_compliance_dashboards_api.rb +168 -0
  24. data/lib/emass_client/api/registration_api.rb +3 -3
  25. data/lib/emass_client/api/software_baseline_dashboards_api.rb +168 -0
  26. data/lib/emass_client/api/static_code_scans_api.rb +5 -5
  27. data/lib/emass_client/api/system_a20_summary_dashboard_api.rb +95 -0
  28. data/lib/emass_client/api/system_aa_summary_dashboard_api.rb +95 -0
  29. data/lib/emass_client/api/system_associations_dashboard_api.rb +95 -0
  30. data/lib/emass_client/api/system_conmon_integration_status_dashboard_api.rb +95 -0
  31. data/lib/emass_client/api/system_pl109_reporting_summary_dashboard_api.rb +95 -0
  32. data/lib/emass_client/api/system_roles_api.rb +5 -13
  33. data/lib/emass_client/api/system_status_dashboard_api.rb +95 -0
  34. data/lib/emass_client/api/systems_api.rb +26 -26
  35. data/lib/emass_client/api/test_api.rb +3 -3
  36. data/lib/emass_client/api/test_results_api.rb +14 -11
  37. data/lib/emass_client/api/threat_risks_dashboards_api.rb +241 -0
  38. data/lib/emass_client/api/users_dashboard_api.rb +95 -0
  39. data/lib/emass_client/api/workflow_definitions_api.rb +3 -3
  40. data/lib/emass_client/api/workflow_instances_api.rb +6 -3
  41. data/lib/emass_client/api_client.rb +5 -4
  42. data/lib/emass_client/api_error.rb +3 -3
  43. data/lib/emass_client/configuration.rb +3 -3
  44. data/lib/emass_client/models/artifacts_get.rb +28 -23
  45. data/lib/emass_client/models/artifacts_request_delete_body_inner.rb +15 -20
  46. data/lib/emass_client/models/artifacts_response_del.rb +15 -20
  47. data/lib/emass_client/models/artifacts_response_del_data_inner.rb +15 -20
  48. data/lib/emass_client/models/artifacts_response_get.rb +15 -20
  49. data/lib/emass_client/models/artifacts_response_put_post.rb +15 -20
  50. data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +29 -25
  51. data/lib/emass_client/models/cac_get.rb +15 -20
  52. data/lib/emass_client/models/cac_response_get.rb +15 -20
  53. data/lib/emass_client/models/cac_response_post.rb +15 -20
  54. data/lib/emass_client/models/cac_response_post_data_inner.rb +29 -25
  55. data/lib/emass_client/models/cloud_resources_delete.rb +225 -0
  56. data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +215 -0
  57. data/lib/emass_client/models/{cloud_resources_post.rb → cloud_resources_post_delete.rb} +32 -28
  58. data/lib/emass_client/models/cloud_resources_response_post.rb +16 -21
  59. data/lib/emass_client/models/cmmc_get.rb +15 -20
  60. data/lib/emass_client/models/cmmc_response_get.rb +15 -20
  61. data/lib/emass_client/models/connectivity_ccsd.rb +15 -20
  62. data/lib/emass_client/models/container_resources_delete_body_inner.rb +215 -0
  63. data/lib/emass_client/models/{containers_resources_post.rb → containers_resources_post_delete.rb} +32 -28
  64. data/lib/emass_client/models/containers_response_delete.rb +225 -0
  65. data/lib/emass_client/models/containers_response_post.rb +16 -21
  66. data/lib/emass_client/models/controls_get.rb +66 -39
  67. data/lib/emass_client/models/controls_put.rb +29 -25
  68. data/lib/emass_client/models/controls_response_get.rb +15 -20
  69. data/lib/emass_client/models/controls_response_put.rb +15 -20
  70. data/lib/emass_client/models/dashboard_mock_response.rb +15 -20
  71. data/lib/emass_client/models/dashboard_mock_response_pagination.rb +15 -20
  72. data/lib/emass_client/models/definition_transitions.rb +15 -20
  73. data/lib/emass_client/models/instances_transitions.rb +15 -20
  74. data/lib/emass_client/models/milestone_response_delete.rb +225 -0
  75. data/lib/emass_client/models/milestone_response_get.rb +15 -20
  76. data/lib/emass_client/models/milestone_response_get_milestone.rb +15 -20
  77. data/lib/emass_client/models/milestone_response_post.rb +15 -20
  78. data/lib/emass_client/models/milestone_response_put.rb +15 -20
  79. data/lib/emass_client/models/milestones_get.rb +15 -20
  80. data/lib/emass_client/models/milestones_put_post_delete.rb +29 -25
  81. data/lib/emass_client/models/milestones_request_delete_body_inner.rb +15 -20
  82. data/lib/emass_client/models/milestones_required_post.rb +19 -20
  83. data/lib/emass_client/models/milestones_required_put.rb +21 -20
  84. data/lib/emass_client/models/mock_object.rb +15 -20
  85. data/lib/emass_client/models/pac_get.rb +20 -45
  86. data/lib/emass_client/models/pac_post.rb +29 -25
  87. data/lib/emass_client/models/pac_response_get.rb +15 -20
  88. data/lib/emass_client/models/pac_response_post.rb +15 -20
  89. data/lib/emass_client/models/poam_get.rb +217 -36
  90. data/lib/emass_client/models/poam_post_put_del.rb +29 -25
  91. data/lib/emass_client/models/poam_request_delete_body_inner.rb +15 -20
  92. data/lib/emass_client/models/poam_response_delete.rb +15 -20
  93. data/lib/emass_client/models/poam_response_get_poams.rb +15 -20
  94. data/lib/emass_client/models/poam_response_get_systems.rb +15 -20
  95. data/lib/emass_client/models/poam_response_post.rb +15 -20
  96. data/lib/emass_client/models/poam_response_put.rb +15 -20
  97. data/lib/emass_client/models/register.rb +15 -20
  98. data/lib/emass_client/models/register_data.rb +15 -20
  99. data/lib/emass_client/models/register_user_request_post_body.rb +17 -20
  100. data/lib/emass_client/models/response200.rb +21 -22
  101. data/lib/emass_client/models/response201.rb +15 -20
  102. data/lib/emass_client/models/response201_meta.rb +21 -22
  103. data/lib/emass_client/models/response400.rb +15 -20
  104. data/lib/emass_client/models/response400_meta.rb +21 -22
  105. data/lib/emass_client/models/response401.rb +15 -20
  106. data/lib/emass_client/models/response401_meta.rb +21 -22
  107. data/lib/emass_client/models/response403.rb +15 -20
  108. data/lib/emass_client/models/response403_meta.rb +21 -22
  109. data/lib/emass_client/models/response404.rb +21 -22
  110. data/lib/emass_client/models/response405.rb +15 -20
  111. data/lib/emass_client/models/response405_meta.rb +21 -22
  112. data/lib/emass_client/models/response411.rb +15 -20
  113. data/lib/emass_client/models/response411_meta.rb +21 -22
  114. data/lib/emass_client/models/response490.rb +15 -20
  115. data/lib/emass_client/models/response490_meta.rb +21 -22
  116. data/lib/emass_client/models/response500.rb +15 -20
  117. data/lib/emass_client/models/response500_meta.rb +21 -22
  118. data/lib/emass_client/models/role_category.rb +15 -20
  119. data/lib/emass_client/models/roles.rb +15 -20
  120. data/lib/emass_client/models/ssps.rb +15 -20
  121. data/lib/emass_client/models/stage.rb +15 -20
  122. data/lib/emass_client/models/{static_code_application.rb → static_code_application_post.rb} +18 -23
  123. data/lib/emass_client/models/static_code_post.rb +29 -25
  124. data/lib/emass_client/models/static_code_request_post_body.rb +16 -21
  125. data/lib/emass_client/models/static_code_request_post_body_application.rb +15 -20
  126. data/lib/emass_client/models/static_code_response_post.rb +15 -20
  127. data/lib/emass_client/models/success200_response.rb +15 -20
  128. data/lib/emass_client/models/success200_response_data_inner.rb +29 -25
  129. data/lib/emass_client/models/system_response.rb +15 -20
  130. data/lib/emass_client/models/system_roles_category_response.rb +15 -20
  131. data/lib/emass_client/models/system_roles_response.rb +15 -20
  132. data/lib/emass_client/models/system_roles_response_data_inner.rb +15 -20
  133. data/lib/emass_client/models/systems.rb +248 -33
  134. data/lib/emass_client/models/systems_response.rb +15 -20
  135. data/lib/emass_client/models/test.rb +15 -20
  136. data/lib/emass_client/models/test_data.rb +15 -20
  137. data/lib/emass_client/models/test_results_get.rb +26 -21
  138. data/lib/emass_client/models/test_results_post.rb +29 -25
  139. data/lib/emass_client/models/test_results_response_get.rb +15 -20
  140. data/lib/emass_client/models/test_results_response_post.rb +15 -20
  141. data/lib/emass_client/models/users.rb +15 -20
  142. data/lib/emass_client/models/workflow_definition_get.rb +15 -20
  143. data/lib/emass_client/models/workflow_definition_response_get.rb +15 -20
  144. data/lib/emass_client/models/workflow_instance_get.rb +15 -20
  145. data/lib/emass_client/models/workflow_instance_response_get.rb +15 -20
  146. data/lib/emass_client/models/workflow_instances_get.rb +15 -20
  147. data/lib/emass_client/models/workflow_instances_response_get.rb +15 -20
  148. data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +15 -20
  149. data/lib/emass_client/version.rb +4 -4
  150. data/lib/emass_client.rb +31 -7
  151. metadata +30 -6
  152. data/lib/emass_client/api/dashboards_api.rb +0 -2139
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Enterprise Mission Assurance Support Service (eMASS)
3
3
 
4
- #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` endpoint to register the client certificate.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message. </br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
4
+ #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` POST endpoint to register the client certificate. The endpoint call returns the user `api-key`.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
5
5
 
6
- The version of the OpenAPI document: v3.10
6
+ The version of the OpenAPI document: v3.12
7
7
  Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0-SNAPSHOT
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -77,6 +77,7 @@ module EmassClient
77
77
  # Show invalid properties with the reasons. Usually used together with valid?
78
78
  # @return Array for valid properties with the reasons
79
79
  def list_invalid_properties
80
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
80
81
  invalid_properties = Array.new
81
82
  invalid_properties
82
83
  end
@@ -84,6 +85,7 @@ module EmassClient
84
85
  # Check to see if the all the properties in the model are valid
85
86
  # @return true if the model is valid
86
87
  def valid?
88
+ warn '[DEPRECATED] the `valid?` method is obsolete'
87
89
  true
88
90
  end
89
91
 
@@ -112,37 +114,30 @@ module EmassClient
112
114
  # @param [Hash] attributes Model attributes in the form of hash
113
115
  # @return [Object] Returns the model itself
114
116
  def self.build_from_hash(attributes)
115
- new.build_from_hash(attributes)
116
- end
117
-
118
- # Builds the object from hash
119
- # @param [Hash] attributes Model attributes in the form of hash
120
- # @return [Object] Returns the model itself
121
- def build_from_hash(attributes)
122
117
  return nil unless attributes.is_a?(Hash)
123
118
  attributes = attributes.transform_keys(&:to_sym)
124
- self.class.openapi_types.each_pair do |key, type|
125
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
126
- self.send("#{key}=", nil)
119
+ transformed_hash = {}
120
+ openapi_types.each_pair do |key, type|
121
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
122
+ transformed_hash["#{key}"] = nil
127
123
  elsif type =~ /\AArray<(.*)>/i
128
124
  # check to ensure the input is an array given that the attribute
129
125
  # is documented as an array but the input is not
130
- if attributes[self.class.attribute_map[key]].is_a?(Array)
131
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
126
+ if attributes[attribute_map[key]].is_a?(Array)
127
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
132
128
  end
133
- elsif !attributes[self.class.attribute_map[key]].nil?
134
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
129
+ elsif !attributes[attribute_map[key]].nil?
130
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
135
131
  end
136
132
  end
137
-
138
- self
133
+ new(transformed_hash)
139
134
  end
140
135
 
141
136
  # Deserializes the data based on type
142
137
  # @param string type Data type
143
138
  # @param string value Value to be deserialized
144
139
  # @return [Object] Deserialized data
145
- def _deserialize(type, value)
140
+ def self._deserialize(type, value)
146
141
  case type.to_sym
147
142
  when :Time
148
143
  Time.parse(value)
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Enterprise Mission Assurance Support Service (eMASS)
3
3
 
4
- #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` endpoint to register the client certificate.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message. </br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
4
+ #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` POST endpoint to register the client certificate. The endpoint call returns the user `api-key`.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
5
5
 
6
- The version of the OpenAPI document: v3.10
6
+ The version of the OpenAPI document: v3.12
7
7
  Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0-SNAPSHOT
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -51,7 +51,7 @@ module EmassClient
51
51
  # [Read-only] RMF/DIACAP Policy identifier for the system record.
52
52
  attr_accessor :policy
53
53
 
54
- # [Read-Only] Registration types parameters (assessAndAuthorize, assessOnly, guest, regular, functional, cloudServiceProvider.)
54
+ # [Read-Only] Registration type of the system record. Values include (assessAndAuthorize, assessOnly, guest, regular, functional, cloudServiceProvider.)
55
55
  attr_accessor :registration_type
56
56
 
57
57
  # [Read-only] Name of the system record.
@@ -174,8 +174,17 @@ module EmassClient
174
174
  # [Read-only] Date the system record's Contingency Plan was tested.
175
175
  attr_accessor :contingency_plan_test_date
176
176
 
177
- # [Read-only] Date the system record's Annual Security Review was conducted.
178
- attr_accessor :security_review_date
177
+ # [Read-Only] Is the system required to complete a Security Review?
178
+ attr_accessor :security_review_required
179
+
180
+ # [Read-Only] Has a Security Review been completed for this system?
181
+ attr_accessor :security_review_completed
182
+
183
+ # [Read-Only] Date of the system's latest security review or annual assessment.
184
+ attr_accessor :security_review_completion_date
185
+
186
+ # [Read-Only] Date when the system's next security review or annual assessment is due by.
187
+ attr_accessor :next_security_review_due_date
179
188
 
180
189
  # [Read-Only] Does the system record have an Ongoing or Risk Accepted POA&M Item?
181
190
  attr_accessor :has_open_poam_item
@@ -198,9 +207,15 @@ module EmassClient
198
207
  # [Read-only] Does the system record contain and/or process Personal Health Information?
199
208
  attr_accessor :has_phi
200
209
 
201
- # [Read-only] Unique identifier for the DoD’s Ports, Protocols, and Services Management Registry system.
210
+ # [Read-Only] Determine if a PPSM registration is required.
211
+ attr_accessor :ppsm_registration_required
212
+
213
+ # [Read-only] Unique identifier for the DoD's Ports, Protocols, and Services Management Registry system.
202
214
  attr_accessor :ppsm_registry_number
203
215
 
216
+ # [Read-Only] Clarify why a PPSM registraiton is not necessary.
217
+ attr_accessor :ppsm_registration_exemption_justification
218
+
204
219
  # [Read-only] Identify the interconnected information systems and corresponding identifiers within control CA-3.
205
220
  attr_accessor :interconnected_information_system_and_identifiers
206
221
 
@@ -303,6 +318,51 @@ module EmassClient
303
318
  # [Read-Only] System Tag explanation(s) for enterprise level, to include CIO and CISO, tracking efforts. VA only.
304
319
  attr_accessor :group_tag_descriptions
305
320
 
321
+ # [Read-Only] The system's DADMS ID. USMC only.
322
+ attr_accessor :dadms_id
323
+
324
+ # [Read-Only] Date the system expires in DADMS. USMC only.
325
+ attr_accessor :dadms_expiration_date
326
+
327
+ # [Read-Only] Identify the type of connectivity for the network/enclave, e.g., DISA circuit (NIPR, SIPR) or HPCMP circuit (DREN, SDREN, Outreach). Navy only.
328
+ attr_accessor :enclave_connectivity
329
+
330
+ # [Read-Only] Identify the primary computing environment for where the information system is deployed. Navy only.
331
+ attr_accessor :environment_type
332
+
333
+ # [Read-Only] Indicate whether the information system provides inheritable controls. Navy only
334
+ attr_accessor :navy_common_control_provider
335
+
336
+ # [Read-Only] Identify the broker responsible for the delivery of commercial cloud services and capabilities. Refer to Navy Commercial Cloud Brokerage Policy. Navy Only
337
+ attr_accessor :navy_cloud_broker
338
+
339
+ # [Read-Only] The eMASS ID of the identified cloud broker. Navy only.
340
+ attr_accessor :cloud_broker_emass_id
341
+
342
+ # [Read-Only] The provisional authorization termination date of the identified cloud broker. Navy only
343
+ attr_accessor :cloud_broker_provisional_authorization_atd
344
+
345
+ # [Read-Only] Indicate whether this is a joint authorization being issued by two or more Authorizing Officials. Navy only
346
+ attr_accessor :navy_joint_authorization
347
+
348
+ # [Read-Only] Provide all NMCI CLINs associated to the system/services within the authorization boundary. Navy only
349
+ attr_accessor :nmci_ngen_clins
350
+
351
+ # [Read-Only] Identify the Navy enterprise network where the information system is deployed. Navy only
352
+ attr_accessor :enterprise_locations
353
+
354
+ # [Read-Only] Systems that have public-facing components/presences are typically required to be documented and registered as part of Organzationally-approved whitelisting processes.
355
+ attr_accessor :whitelist_id
356
+
357
+ # [Read-Only] Provide/upload the documentation that identifies or describes the components or aspects of the System that are public-facing (whitelisted).
358
+ attr_accessor :whitelist_inventory
359
+
360
+ # [Read-Only] Name of the system's Cybersecurity Service Provider.
361
+ attr_accessor :cybersecurity_service_provider
362
+
363
+ # [Read-Only] If Not Applicable, provide the exception justification.
364
+ attr_accessor :cybersecurity_service_provider_exception_justification
365
+
306
366
  attr_accessor :package
307
367
 
308
368
  attr_accessor :connectivity_ccsd
@@ -385,7 +445,10 @@ module EmassClient
385
445
  :'dod_confidentiality' => :'dodConfidentiality',
386
446
  :'contingency_plan_tested' => :'contingencyPlanTested',
387
447
  :'contingency_plan_test_date' => :'contingencyPlanTestDate',
388
- :'security_review_date' => :'securityReviewDate',
448
+ :'security_review_required' => :'securityReviewRequired',
449
+ :'security_review_completed' => :'securityReviewCompleted',
450
+ :'security_review_completion_date' => :'securityReviewCompletionDate',
451
+ :'next_security_review_due_date' => :'nextSecurityReviewDueDate',
389
452
  :'has_open_poam_item' => :'hasOpenPoamItem',
390
453
  :'has_open_poam_item90to120_past_scheduled_completion_date' => :'hasOpenPoamItem90to120PastScheduledCompletionDate',
391
454
  :'has_open_poam_item120_plus_past_scheudled_completion_date' => :'hasOpenPoamItem120PlusPastScheudledCompletionDate',
@@ -393,7 +456,9 @@ module EmassClient
393
456
  :'has_cui' => :'hasCUI',
394
457
  :'has_pii' => :'hasPII',
395
458
  :'has_phi' => :'hasPHI',
459
+ :'ppsm_registration_required' => :'ppsmRegistrationRequired',
396
460
  :'ppsm_registry_number' => :'ppsmRegistryNumber',
461
+ :'ppsm_registration_exemption_justification' => :'ppsmRegistrationExemptionJustification',
397
462
  :'interconnected_information_system_and_identifiers' => :'interconnectedInformationSystemAndIdentifiers',
398
463
  :'is_pia_required' => :'isPiaRequired',
399
464
  :'pia_status' => :'piaStatus',
@@ -428,6 +493,21 @@ module EmassClient
428
493
  :'is_fisma_reportable' => :'isFISMAReportable',
429
494
  :'group_tagging' => :'groupTagging',
430
495
  :'group_tag_descriptions' => :'groupTagDescriptions',
496
+ :'dadms_id' => :'dadmsId',
497
+ :'dadms_expiration_date' => :'dadmsExpirationDate',
498
+ :'enclave_connectivity' => :'enclaveConnectivity',
499
+ :'environment_type' => :'environmentType',
500
+ :'navy_common_control_provider' => :'navyCommonControlProvider',
501
+ :'navy_cloud_broker' => :'navyCloudBroker',
502
+ :'cloud_broker_emass_id' => :'cloudBrokerEmassId',
503
+ :'cloud_broker_provisional_authorization_atd' => :'cloudBrokerProvisionalAuthorizationAtd',
504
+ :'navy_joint_authorization' => :'navyJointAuthorization',
505
+ :'nmci_ngen_clins' => :'nmciNgenClins',
506
+ :'enterprise_locations' => :'enterpriseLocations',
507
+ :'whitelist_id' => :'whitelistId',
508
+ :'whitelist_inventory' => :'whitelistInventory',
509
+ :'cybersecurity_service_provider' => :'cybersecurityServiceProvider',
510
+ :'cybersecurity_service_provider_exception_justification' => :'cybersecurityServiceProviderExceptionJustification',
431
511
  :'package' => :'package',
432
512
  :'connectivity_ccsd' => :'connectivityCcsd'
433
513
  }
@@ -494,7 +574,10 @@ module EmassClient
494
574
  :'dod_confidentiality' => :'String',
495
575
  :'contingency_plan_tested' => :'Boolean',
496
576
  :'contingency_plan_test_date' => :'Integer',
497
- :'security_review_date' => :'Integer',
577
+ :'security_review_required' => :'Boolean',
578
+ :'security_review_completed' => :'Boolean',
579
+ :'security_review_completion_date' => :'Integer',
580
+ :'next_security_review_due_date' => :'Integer',
498
581
  :'has_open_poam_item' => :'Boolean',
499
582
  :'has_open_poam_item90to120_past_scheduled_completion_date' => :'Boolean',
500
583
  :'has_open_poam_item120_plus_past_scheudled_completion_date' => :'Boolean',
@@ -502,7 +585,9 @@ module EmassClient
502
585
  :'has_cui' => :'Boolean',
503
586
  :'has_pii' => :'Boolean',
504
587
  :'has_phi' => :'Boolean',
588
+ :'ppsm_registration_required' => :'String',
505
589
  :'ppsm_registry_number' => :'String',
590
+ :'ppsm_registration_exemption_justification' => :'String',
506
591
  :'interconnected_information_system_and_identifiers' => :'String',
507
592
  :'is_pia_required' => :'Boolean',
508
593
  :'pia_status' => :'String',
@@ -537,6 +622,21 @@ module EmassClient
537
622
  :'is_fisma_reportable' => :'Boolean',
538
623
  :'group_tagging' => :'String',
539
624
  :'group_tag_descriptions' => :'String',
625
+ :'dadms_id' => :'String',
626
+ :'dadms_expiration_date' => :'Integer',
627
+ :'enclave_connectivity' => :'String',
628
+ :'environment_type' => :'String',
629
+ :'navy_common_control_provider' => :'Boolean',
630
+ :'navy_cloud_broker' => :'String',
631
+ :'cloud_broker_emass_id' => :'Integer',
632
+ :'cloud_broker_provisional_authorization_atd' => :'Integer',
633
+ :'navy_joint_authorization' => :'Boolean',
634
+ :'nmci_ngen_clins' => :'String',
635
+ :'enterprise_locations' => :'String',
636
+ :'whitelist_id' => :'String',
637
+ :'whitelist_inventory' => :'String',
638
+ :'cybersecurity_service_provider' => :'String',
639
+ :'cybersecurity_service_provider_exception_justification' => :'String',
540
640
  :'package' => :'Array<PacGet>',
541
641
  :'connectivity_ccsd' => :'Array<ConnectivityCcsd>'
542
642
  }
@@ -596,7 +696,10 @@ module EmassClient
596
696
  :'dod_confidentiality',
597
697
  :'contingency_plan_tested',
598
698
  :'contingency_plan_test_date',
599
- :'security_review_date',
699
+ :'security_review_required',
700
+ :'security_review_completed',
701
+ :'security_review_completion_date',
702
+ :'next_security_review_due_date',
600
703
  :'has_open_poam_item',
601
704
  :'has_open_poam_item90to120_past_scheduled_completion_date',
602
705
  :'has_open_poam_item120_plus_past_scheudled_completion_date',
@@ -604,7 +707,9 @@ module EmassClient
604
707
  :'has_cui',
605
708
  :'has_pii',
606
709
  :'has_phi',
710
+ :'ppsm_registration_required',
607
711
  :'ppsm_registry_number',
712
+ :'ppsm_registration_exemption_justification',
608
713
  :'interconnected_information_system_and_identifiers',
609
714
  :'is_pia_required',
610
715
  :'pia_status',
@@ -639,6 +744,21 @@ module EmassClient
639
744
  :'is_fisma_reportable',
640
745
  :'group_tagging',
641
746
  :'group_tag_descriptions',
747
+ :'dadms_id',
748
+ :'dadms_expiration_date',
749
+ :'enclave_connectivity',
750
+ :'environment_type',
751
+ :'navy_common_control_provider',
752
+ :'navy_cloud_broker',
753
+ :'cloud_broker_emass_id',
754
+ :'cloud_broker_provisional_authorization_atd',
755
+ :'navy_joint_authorization',
756
+ :'nmci_ngen_clins',
757
+ :'enterprise_locations',
758
+ :'whitelist_id',
759
+ :'whitelist_inventory',
760
+ :'cybersecurity_service_provider',
761
+ :'cybersecurity_service_provider_exception_justification',
642
762
  :'package',
643
763
  :'connectivity_ccsd'
644
764
  ])
@@ -871,8 +991,20 @@ module EmassClient
871
991
  self.contingency_plan_test_date = attributes[:'contingency_plan_test_date']
872
992
  end
873
993
 
874
- if attributes.key?(:'security_review_date')
875
- self.security_review_date = attributes[:'security_review_date']
994
+ if attributes.key?(:'security_review_required')
995
+ self.security_review_required = attributes[:'security_review_required']
996
+ end
997
+
998
+ if attributes.key?(:'security_review_completed')
999
+ self.security_review_completed = attributes[:'security_review_completed']
1000
+ end
1001
+
1002
+ if attributes.key?(:'security_review_completion_date')
1003
+ self.security_review_completion_date = attributes[:'security_review_completion_date']
1004
+ end
1005
+
1006
+ if attributes.key?(:'next_security_review_due_date')
1007
+ self.next_security_review_due_date = attributes[:'next_security_review_due_date']
876
1008
  end
877
1009
 
878
1010
  if attributes.key?(:'has_open_poam_item')
@@ -903,10 +1035,18 @@ module EmassClient
903
1035
  self.has_phi = attributes[:'has_phi']
904
1036
  end
905
1037
 
1038
+ if attributes.key?(:'ppsm_registration_required')
1039
+ self.ppsm_registration_required = attributes[:'ppsm_registration_required']
1040
+ end
1041
+
906
1042
  if attributes.key?(:'ppsm_registry_number')
907
1043
  self.ppsm_registry_number = attributes[:'ppsm_registry_number']
908
1044
  end
909
1045
 
1046
+ if attributes.key?(:'ppsm_registration_exemption_justification')
1047
+ self.ppsm_registration_exemption_justification = attributes[:'ppsm_registration_exemption_justification']
1048
+ end
1049
+
910
1050
  if attributes.key?(:'interconnected_information_system_and_identifiers')
911
1051
  self.interconnected_information_system_and_identifiers = attributes[:'interconnected_information_system_and_identifiers']
912
1052
  end
@@ -1043,6 +1183,66 @@ module EmassClient
1043
1183
  self.group_tag_descriptions = attributes[:'group_tag_descriptions']
1044
1184
  end
1045
1185
 
1186
+ if attributes.key?(:'dadms_id')
1187
+ self.dadms_id = attributes[:'dadms_id']
1188
+ end
1189
+
1190
+ if attributes.key?(:'dadms_expiration_date')
1191
+ self.dadms_expiration_date = attributes[:'dadms_expiration_date']
1192
+ end
1193
+
1194
+ if attributes.key?(:'enclave_connectivity')
1195
+ self.enclave_connectivity = attributes[:'enclave_connectivity']
1196
+ end
1197
+
1198
+ if attributes.key?(:'environment_type')
1199
+ self.environment_type = attributes[:'environment_type']
1200
+ end
1201
+
1202
+ if attributes.key?(:'navy_common_control_provider')
1203
+ self.navy_common_control_provider = attributes[:'navy_common_control_provider']
1204
+ end
1205
+
1206
+ if attributes.key?(:'navy_cloud_broker')
1207
+ self.navy_cloud_broker = attributes[:'navy_cloud_broker']
1208
+ end
1209
+
1210
+ if attributes.key?(:'cloud_broker_emass_id')
1211
+ self.cloud_broker_emass_id = attributes[:'cloud_broker_emass_id']
1212
+ end
1213
+
1214
+ if attributes.key?(:'cloud_broker_provisional_authorization_atd')
1215
+ self.cloud_broker_provisional_authorization_atd = attributes[:'cloud_broker_provisional_authorization_atd']
1216
+ end
1217
+
1218
+ if attributes.key?(:'navy_joint_authorization')
1219
+ self.navy_joint_authorization = attributes[:'navy_joint_authorization']
1220
+ end
1221
+
1222
+ if attributes.key?(:'nmci_ngen_clins')
1223
+ self.nmci_ngen_clins = attributes[:'nmci_ngen_clins']
1224
+ end
1225
+
1226
+ if attributes.key?(:'enterprise_locations')
1227
+ self.enterprise_locations = attributes[:'enterprise_locations']
1228
+ end
1229
+
1230
+ if attributes.key?(:'whitelist_id')
1231
+ self.whitelist_id = attributes[:'whitelist_id']
1232
+ end
1233
+
1234
+ if attributes.key?(:'whitelist_inventory')
1235
+ self.whitelist_inventory = attributes[:'whitelist_inventory']
1236
+ end
1237
+
1238
+ if attributes.key?(:'cybersecurity_service_provider')
1239
+ self.cybersecurity_service_provider = attributes[:'cybersecurity_service_provider']
1240
+ end
1241
+
1242
+ if attributes.key?(:'cybersecurity_service_provider_exception_justification')
1243
+ self.cybersecurity_service_provider_exception_justification = attributes[:'cybersecurity_service_provider_exception_justification']
1244
+ end
1245
+
1046
1246
  if attributes.key?(:'package')
1047
1247
  if (value = attributes[:'package']).is_a?(Array)
1048
1248
  self.package = value
@@ -1059,6 +1259,7 @@ module EmassClient
1059
1259
  # Show invalid properties with the reasons. Usually used together with valid?
1060
1260
  # @return Array for valid properties with the reasons
1061
1261
  def list_invalid_properties
1262
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
1062
1263
  invalid_properties = Array.new
1063
1264
  if !@authorization_length.nil? && @authorization_length > 1825
1064
1265
  invalid_properties.push('invalid value for "authorization_length", must be smaller than or equal to 1825.')
@@ -1074,9 +1275,10 @@ module EmassClient
1074
1275
  # Check to see if the all the properties in the model are valid
1075
1276
  # @return true if the model is valid
1076
1277
  def valid?
1278
+ warn '[DEPRECATED] the `valid?` method is obsolete'
1077
1279
  policy_validator = EnumAttributeValidator.new('String', ["RMF", "DIACAP", "unknown_default_open_api"])
1078
1280
  return false unless policy_validator.valid?(@policy)
1079
- registration_type_validator = EnumAttributeValidator.new('String', ["Assess and Authorize", "Assess Only", "Guest", "Regular", "Functional", "Cloud Service Provider", "Common Control Provider", "unknown_default_open_api"])
1281
+ registration_type_validator = EnumAttributeValidator.new('String', ["Assess and Authorize", "Assess Only", "Guest", "Regular", "Functional", "Cloud Service Provider", "unknown_default_open_api"])
1080
1282
  return false unless registration_type_validator.valid?(@registration_type)
1081
1283
  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"])
1082
1284
  return false unless system_type_validator.valid?(@system_type)
@@ -1122,7 +1324,7 @@ module EmassClient
1122
1324
  # Custom attribute writer method checking allowed values (enum).
1123
1325
  # @param [Object] registration_type Object to be assigned
1124
1326
  def registration_type=(registration_type)
1125
- validator = EnumAttributeValidator.new('String', ["Assess and Authorize", "Assess Only", "Guest", "Regular", "Functional", "Cloud Service Provider", "Common Control Provider", "unknown_default_open_api"])
1327
+ validator = EnumAttributeValidator.new('String', ["Assess and Authorize", "Assess Only", "Guest", "Regular", "Functional", "Cloud Service Provider", "unknown_default_open_api"])
1126
1328
  unless validator.valid?(registration_type)
1127
1329
  fail ArgumentError, "invalid value for \"registration_type\", must be one of #{validator.allowable_values}."
1128
1330
  end
@@ -1331,7 +1533,10 @@ module EmassClient
1331
1533
  dod_confidentiality == o.dod_confidentiality &&
1332
1534
  contingency_plan_tested == o.contingency_plan_tested &&
1333
1535
  contingency_plan_test_date == o.contingency_plan_test_date &&
1334
- security_review_date == o.security_review_date &&
1536
+ security_review_required == o.security_review_required &&
1537
+ security_review_completed == o.security_review_completed &&
1538
+ security_review_completion_date == o.security_review_completion_date &&
1539
+ next_security_review_due_date == o.next_security_review_due_date &&
1335
1540
  has_open_poam_item == o.has_open_poam_item &&
1336
1541
  has_open_poam_item90to120_past_scheduled_completion_date == o.has_open_poam_item90to120_past_scheduled_completion_date &&
1337
1542
  has_open_poam_item120_plus_past_scheudled_completion_date == o.has_open_poam_item120_plus_past_scheudled_completion_date &&
@@ -1339,7 +1544,9 @@ module EmassClient
1339
1544
  has_cui == o.has_cui &&
1340
1545
  has_pii == o.has_pii &&
1341
1546
  has_phi == o.has_phi &&
1547
+ ppsm_registration_required == o.ppsm_registration_required &&
1342
1548
  ppsm_registry_number == o.ppsm_registry_number &&
1549
+ ppsm_registration_exemption_justification == o.ppsm_registration_exemption_justification &&
1343
1550
  interconnected_information_system_and_identifiers == o.interconnected_information_system_and_identifiers &&
1344
1551
  is_pia_required == o.is_pia_required &&
1345
1552
  pia_status == o.pia_status &&
@@ -1374,6 +1581,21 @@ module EmassClient
1374
1581
  is_fisma_reportable == o.is_fisma_reportable &&
1375
1582
  group_tagging == o.group_tagging &&
1376
1583
  group_tag_descriptions == o.group_tag_descriptions &&
1584
+ dadms_id == o.dadms_id &&
1585
+ dadms_expiration_date == o.dadms_expiration_date &&
1586
+ enclave_connectivity == o.enclave_connectivity &&
1587
+ environment_type == o.environment_type &&
1588
+ navy_common_control_provider == o.navy_common_control_provider &&
1589
+ navy_cloud_broker == o.navy_cloud_broker &&
1590
+ cloud_broker_emass_id == o.cloud_broker_emass_id &&
1591
+ cloud_broker_provisional_authorization_atd == o.cloud_broker_provisional_authorization_atd &&
1592
+ navy_joint_authorization == o.navy_joint_authorization &&
1593
+ nmci_ngen_clins == o.nmci_ngen_clins &&
1594
+ enterprise_locations == o.enterprise_locations &&
1595
+ whitelist_id == o.whitelist_id &&
1596
+ whitelist_inventory == o.whitelist_inventory &&
1597
+ cybersecurity_service_provider == o.cybersecurity_service_provider &&
1598
+ cybersecurity_service_provider_exception_justification == o.cybersecurity_service_provider_exception_justification &&
1377
1599
  package == o.package &&
1378
1600
  connectivity_ccsd == o.connectivity_ccsd
1379
1601
  end
@@ -1387,44 +1609,37 @@ module EmassClient
1387
1609
  # Calculates hash code according to all attributes.
1388
1610
  # @return [Integer] Hash code
1389
1611
  def hash
1390
- [registration_completion_date, system_life_cycle_acquisition_phase, special_type, special_type_description, mission_portfolio, is_nnpi, is_rbc, is_waiver, program_office, vram_id, system_id, policy, registration_type, name, acronym, description, instance, owning_organization, secondary_organization, version_release_no, system_type, is_nss, is_public_facing, coams_id, is_type_authorization, ditpr_id, apms_id, vasi_id, authorization_status, authorization_date, authorization_termination_date, authorization_length, terms_for_auth, security_plan_approval_status, security_plan_approval_date, mission_criticality, geographical_association, system_ownership, governing_mission_area, primary_functional_area, secondary_functional_area, primary_control_set, confidentiality, integrity, availability, applied_overlays, rmf_activity, cross_domain_ticket, ditpr_don_id, mac, dod_confidentiality, contingency_plan_tested, contingency_plan_test_date, security_review_date, has_open_poam_item, has_open_poam_item90to120_past_scheduled_completion_date, has_open_poam_item120_plus_past_scheudled_completion_date, impact, has_cui, has_pii, has_phi, ppsm_registry_number, interconnected_information_system_and_identifiers, is_pia_required, pia_status, pia_date, user_defined_field1, user_defined_field2, user_defined_field3, user_defined_field4, user_defined_field5, current_rmf_lifecycle_step, other_information, reports_for_scorecard, highest_system_data_classification, overall_classification, is_hva, is_financial_management, is_reciprocity, reciprocity_exemption, cloud_computing, cloud_type, atc_status, is_saa_s, is_paa_s, is_iaa_s, other_service_models, need_date, overall_risk_score, is_hrr, atc_date, atc_termination_date, system_development_life_cycle, is_fisma_reportable, group_tagging, group_tag_descriptions, package, connectivity_ccsd].hash
1612
+ [registration_completion_date, system_life_cycle_acquisition_phase, special_type, special_type_description, mission_portfolio, is_nnpi, is_rbc, is_waiver, program_office, vram_id, system_id, policy, registration_type, name, acronym, description, instance, owning_organization, secondary_organization, version_release_no, system_type, is_nss, is_public_facing, coams_id, is_type_authorization, ditpr_id, apms_id, vasi_id, authorization_status, authorization_date, authorization_termination_date, authorization_length, terms_for_auth, security_plan_approval_status, security_plan_approval_date, mission_criticality, geographical_association, system_ownership, governing_mission_area, primary_functional_area, secondary_functional_area, primary_control_set, confidentiality, integrity, availability, applied_overlays, rmf_activity, cross_domain_ticket, ditpr_don_id, mac, dod_confidentiality, contingency_plan_tested, contingency_plan_test_date, security_review_required, security_review_completed, security_review_completion_date, next_security_review_due_date, has_open_poam_item, has_open_poam_item90to120_past_scheduled_completion_date, has_open_poam_item120_plus_past_scheudled_completion_date, impact, has_cui, has_pii, has_phi, ppsm_registration_required, ppsm_registry_number, ppsm_registration_exemption_justification, interconnected_information_system_and_identifiers, is_pia_required, pia_status, pia_date, user_defined_field1, user_defined_field2, user_defined_field3, user_defined_field4, user_defined_field5, current_rmf_lifecycle_step, other_information, reports_for_scorecard, highest_system_data_classification, overall_classification, is_hva, is_financial_management, is_reciprocity, reciprocity_exemption, cloud_computing, cloud_type, atc_status, is_saa_s, is_paa_s, is_iaa_s, other_service_models, need_date, overall_risk_score, is_hrr, atc_date, atc_termination_date, system_development_life_cycle, is_fisma_reportable, group_tagging, group_tag_descriptions, dadms_id, dadms_expiration_date, enclave_connectivity, environment_type, navy_common_control_provider, navy_cloud_broker, cloud_broker_emass_id, cloud_broker_provisional_authorization_atd, navy_joint_authorization, nmci_ngen_clins, enterprise_locations, whitelist_id, whitelist_inventory, cybersecurity_service_provider, cybersecurity_service_provider_exception_justification, package, connectivity_ccsd].hash
1391
1613
  end
1392
1614
 
1393
1615
  # Builds the object from hash
1394
1616
  # @param [Hash] attributes Model attributes in the form of hash
1395
1617
  # @return [Object] Returns the model itself
1396
1618
  def self.build_from_hash(attributes)
1397
- new.build_from_hash(attributes)
1398
- end
1399
-
1400
- # Builds the object from hash
1401
- # @param [Hash] attributes Model attributes in the form of hash
1402
- # @return [Object] Returns the model itself
1403
- def build_from_hash(attributes)
1404
1619
  return nil unless attributes.is_a?(Hash)
1405
1620
  attributes = attributes.transform_keys(&:to_sym)
1406
- self.class.openapi_types.each_pair do |key, type|
1407
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
1408
- self.send("#{key}=", nil)
1621
+ transformed_hash = {}
1622
+ openapi_types.each_pair do |key, type|
1623
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
1624
+ transformed_hash["#{key}"] = nil
1409
1625
  elsif type =~ /\AArray<(.*)>/i
1410
1626
  # check to ensure the input is an array given that the attribute
1411
1627
  # is documented as an array but the input is not
1412
- if attributes[self.class.attribute_map[key]].is_a?(Array)
1413
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
1628
+ if attributes[attribute_map[key]].is_a?(Array)
1629
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
1414
1630
  end
1415
- elsif !attributes[self.class.attribute_map[key]].nil?
1416
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1631
+ elsif !attributes[attribute_map[key]].nil?
1632
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
1417
1633
  end
1418
1634
  end
1419
-
1420
- self
1635
+ new(transformed_hash)
1421
1636
  end
1422
1637
 
1423
1638
  # Deserializes the data based on type
1424
1639
  # @param string type Data type
1425
1640
  # @param string value Value to be deserialized
1426
1641
  # @return [Object] Deserialized data
1427
- def _deserialize(type, value)
1642
+ def self._deserialize(type, value)
1428
1643
  case type.to_sym
1429
1644
  when :Time
1430
1645
  Time.parse(value)