emass_client 3.9.10 → 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 +56 -41
  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
 
@@ -105,6 +105,7 @@ module EmassClient
105
105
  # Show invalid properties with the reasons. Usually used together with valid?
106
106
  # @return Array for valid properties with the reasons
107
107
  def list_invalid_properties
108
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
108
109
  invalid_properties = Array.new
109
110
  invalid_properties
110
111
  end
@@ -112,6 +113,7 @@ module EmassClient
112
113
  # Check to see if the all the properties in the model are valid
113
114
  # @return true if the model is valid
114
115
  def valid?
116
+ warn '[DEPRECATED] the `valid?` method is obsolete'
115
117
  true
116
118
  end
117
119
 
@@ -144,37 +146,30 @@ module EmassClient
144
146
  # @param [Hash] attributes Model attributes in the form of hash
145
147
  # @return [Object] Returns the model itself
146
148
  def self.build_from_hash(attributes)
147
- new.build_from_hash(attributes)
148
- end
149
-
150
- # Builds the object from hash
151
- # @param [Hash] attributes Model attributes in the form of hash
152
- # @return [Object] Returns the model itself
153
- def build_from_hash(attributes)
154
149
  return nil unless attributes.is_a?(Hash)
155
150
  attributes = attributes.transform_keys(&:to_sym)
156
- self.class.openapi_types.each_pair do |key, type|
157
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
158
- self.send("#{key}=", nil)
151
+ transformed_hash = {}
152
+ openapi_types.each_pair do |key, type|
153
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
154
+ transformed_hash["#{key}"] = nil
159
155
  elsif type =~ /\AArray<(.*)>/i
160
156
  # check to ensure the input is an array given that the attribute
161
157
  # is documented as an array but the input is not
162
- if attributes[self.class.attribute_map[key]].is_a?(Array)
163
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
158
+ if attributes[attribute_map[key]].is_a?(Array)
159
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
164
160
  end
165
- elsif !attributes[self.class.attribute_map[key]].nil?
166
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
161
+ elsif !attributes[attribute_map[key]].nil?
162
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
167
163
  end
168
164
  end
169
-
170
- self
165
+ new(transformed_hash)
171
166
  end
172
167
 
173
168
  # Deserializes the data based on type
174
169
  # @param string type Data type
175
170
  # @param string value Value to be deserialized
176
171
  # @return [Object] Deserialized data
177
- def _deserialize(type, value)
172
+ def self._deserialize(type, value)
178
173
  case type.to_sym
179
174
  when :Time
180
175
  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
 
@@ -88,6 +88,7 @@ module EmassClient
88
88
  # Show invalid properties with the reasons. Usually used together with valid?
89
89
  # @return Array for valid properties with the reasons
90
90
  def list_invalid_properties
91
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
91
92
  invalid_properties = Array.new
92
93
  invalid_properties
93
94
  end
@@ -95,6 +96,7 @@ module EmassClient
95
96
  # Check to see if the all the properties in the model are valid
96
97
  # @return true if the model is valid
97
98
  def valid?
99
+ warn '[DEPRECATED] the `valid?` method is obsolete'
98
100
  true
99
101
  end
100
102
 
@@ -124,37 +126,30 @@ module EmassClient
124
126
  # @param [Hash] attributes Model attributes in the form of hash
125
127
  # @return [Object] Returns the model itself
126
128
  def self.build_from_hash(attributes)
127
- new.build_from_hash(attributes)
128
- end
129
-
130
- # Builds the object from hash
131
- # @param [Hash] attributes Model attributes in the form of hash
132
- # @return [Object] Returns the model itself
133
- def build_from_hash(attributes)
134
129
  return nil unless attributes.is_a?(Hash)
135
130
  attributes = attributes.transform_keys(&:to_sym)
136
- self.class.openapi_types.each_pair do |key, type|
137
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
138
- self.send("#{key}=", nil)
131
+ transformed_hash = {}
132
+ openapi_types.each_pair do |key, type|
133
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
134
+ transformed_hash["#{key}"] = nil
139
135
  elsif type =~ /\AArray<(.*)>/i
140
136
  # check to ensure the input is an array given that the attribute
141
137
  # is documented as an array but the input is not
142
- if attributes[self.class.attribute_map[key]].is_a?(Array)
143
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
138
+ if attributes[attribute_map[key]].is_a?(Array)
139
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
144
140
  end
145
- elsif !attributes[self.class.attribute_map[key]].nil?
146
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
141
+ elsif !attributes[attribute_map[key]].nil?
142
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
147
143
  end
148
144
  end
149
-
150
- self
145
+ new(transformed_hash)
151
146
  end
152
147
 
153
148
  # Deserializes the data based on type
154
149
  # @param string type Data type
155
150
  # @param string value Value to be deserialized
156
151
  # @return [Object] Deserialized data
157
- def _deserialize(type, value)
152
+ def self._deserialize(type, value)
158
153
  case type.to_sym
159
154
  when :Time
160
155
  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
 
@@ -117,6 +117,7 @@ module EmassClient
117
117
  # Show invalid properties with the reasons. Usually used together with valid?
118
118
  # @return Array for valid properties with the reasons
119
119
  def list_invalid_properties
120
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
120
121
  invalid_properties = Array.new
121
122
  invalid_properties
122
123
  end
@@ -124,6 +125,7 @@ module EmassClient
124
125
  # Check to see if the all the properties in the model are valid
125
126
  # @return true if the model is valid
126
127
  def valid?
128
+ warn '[DEPRECATED] the `valid?` method is obsolete'
127
129
  true
128
130
  end
129
131
 
@@ -156,37 +158,30 @@ module EmassClient
156
158
  # @param [Hash] attributes Model attributes in the form of hash
157
159
  # @return [Object] Returns the model itself
158
160
  def self.build_from_hash(attributes)
159
- new.build_from_hash(attributes)
160
- end
161
-
162
- # Builds the object from hash
163
- # @param [Hash] attributes Model attributes in the form of hash
164
- # @return [Object] Returns the model itself
165
- def build_from_hash(attributes)
166
161
  return nil unless attributes.is_a?(Hash)
167
162
  attributes = attributes.transform_keys(&:to_sym)
168
- self.class.openapi_types.each_pair do |key, type|
169
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
170
- self.send("#{key}=", nil)
163
+ transformed_hash = {}
164
+ openapi_types.each_pair do |key, type|
165
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
166
+ transformed_hash["#{key}"] = nil
171
167
  elsif type =~ /\AArray<(.*)>/i
172
168
  # check to ensure the input is an array given that the attribute
173
169
  # is documented as an array but the input is not
174
- if attributes[self.class.attribute_map[key]].is_a?(Array)
175
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
170
+ if attributes[attribute_map[key]].is_a?(Array)
171
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
176
172
  end
177
- elsif !attributes[self.class.attribute_map[key]].nil?
178
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
173
+ elsif !attributes[attribute_map[key]].nil?
174
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
179
175
  end
180
176
  end
181
-
182
- self
177
+ new(transformed_hash)
183
178
  end
184
179
 
185
180
  # Deserializes the data based on type
186
181
  # @param string type Data type
187
182
  # @param string value Value to be deserialized
188
183
  # @return [Object] Deserialized data
189
- def _deserialize(type, value)
184
+ def self._deserialize(type, value)
190
185
  case type.to_sym
191
186
  when :Time
192
187
  Time.parse(value)
@@ -0,0 +1,225 @@
1
+ =begin
2
+ #Enterprise Mission Assurance Support Service (eMASS)
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` 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
+
6
+ The version of the OpenAPI document: v3.12
7
+ Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module EmassClient
17
+ class MilestoneResponseDelete
18
+ attr_accessor :meta
19
+
20
+ attr_accessor :data
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'meta' => :'meta',
26
+ :'data' => :'data'
27
+ }
28
+ end
29
+
30
+ # Returns all the JSON keys this model knows about
31
+ def self.acceptable_attributes
32
+ attribute_map.values
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'meta' => :'Response200',
39
+ :'data' => :'Array<MilestonesPutPostDelete>'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `EmassClient::MilestoneResponseDelete` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `EmassClient::MilestoneResponseDelete`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'meta')
65
+ self.meta = attributes[:'meta']
66
+ end
67
+
68
+ if attributes.key?(:'data')
69
+ if (value = attributes[:'data']).is_a?(Array)
70
+ self.data = value
71
+ end
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
79
+ invalid_properties = Array.new
80
+ invalid_properties
81
+ end
82
+
83
+ # Check to see if the all the properties in the model are valid
84
+ # @return true if the model is valid
85
+ def valid?
86
+ warn '[DEPRECATED] the `valid?` method is obsolete'
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ meta == o.meta &&
96
+ data == o.data
97
+ end
98
+
99
+ # @see the `==` method
100
+ # @param [Object] Object to be compared
101
+ def eql?(o)
102
+ self == o
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Integer] Hash code
107
+ def hash
108
+ [meta, data].hash
109
+ end
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def self.build_from_hash(attributes)
115
+ return nil unless attributes.is_a?(Hash)
116
+ attributes = attributes.transform_keys(&:to_sym)
117
+ transformed_hash = {}
118
+ openapi_types.each_pair do |key, type|
119
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
120
+ transformed_hash["#{key}"] = nil
121
+ elsif type =~ /\AArray<(.*)>/i
122
+ # check to ensure the input is an array given that the attribute
123
+ # is documented as an array but the input is not
124
+ if attributes[attribute_map[key]].is_a?(Array)
125
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
126
+ end
127
+ elsif !attributes[attribute_map[key]].nil?
128
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
129
+ end
130
+ end
131
+ new(transformed_hash)
132
+ end
133
+
134
+ # Deserializes the data based on type
135
+ # @param string type Data type
136
+ # @param string value Value to be deserialized
137
+ # @return [Object] Deserialized data
138
+ def self._deserialize(type, value)
139
+ case type.to_sym
140
+ when :Time
141
+ Time.parse(value)
142
+ when :Date
143
+ Date.parse(value)
144
+ when :String
145
+ value.to_s
146
+ when :Integer
147
+ value.to_i
148
+ when :Float
149
+ value.to_f
150
+ when :Boolean
151
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
152
+ true
153
+ else
154
+ false
155
+ end
156
+ when :Object
157
+ # generic object (usually a Hash), return directly
158
+ value
159
+ when /\AArray<(?<inner_type>.+)>\z/
160
+ inner_type = Regexp.last_match[:inner_type]
161
+ value.map { |v| _deserialize(inner_type, v) }
162
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
163
+ k_type = Regexp.last_match[:k_type]
164
+ v_type = Regexp.last_match[:v_type]
165
+ {}.tap do |hash|
166
+ value.each do |k, v|
167
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
168
+ end
169
+ end
170
+ else # model
171
+ # models (e.g. Pet) or oneOf
172
+ klass = EmassClient.const_get(type)
173
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
174
+ end
175
+ end
176
+
177
+ # Returns the string representation of the object
178
+ # @return [String] String presentation of the object
179
+ def to_s
180
+ to_hash.to_s
181
+ end
182
+
183
+ # to_body is an alias to to_hash (backward compatibility)
184
+ # @return [Hash] Returns the object in the form of hash
185
+ def to_body
186
+ to_hash
187
+ end
188
+
189
+ # Returns the object in the form of hash
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_hash
192
+ hash = {}
193
+ self.class.attribute_map.each_pair do |attr, param|
194
+ value = self.send(attr)
195
+ if value.nil?
196
+ is_nullable = self.class.openapi_nullable.include?(attr)
197
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
198
+ end
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ hash
203
+ end
204
+
205
+ # Outputs non-array value in the form of hash
206
+ # For object, use to_hash. Otherwise, just return the value
207
+ # @param [Object] value Any valid value
208
+ # @return [Hash] Returns the value in the form of hash
209
+ def _to_hash(value)
210
+ if value.is_a?(Array)
211
+ value.compact.map { |v| _to_hash(v) }
212
+ elsif value.is_a?(Hash)
213
+ {}.tap do |hash|
214
+ value.each { |k, v| hash[k] = _to_hash(v) }
215
+ end
216
+ elsif value.respond_to? :to_hash
217
+ value.to_hash
218
+ else
219
+ value
220
+ end
221
+ end
222
+
223
+ end
224
+
225
+ end
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Enterprise Mission Assurance Support Service (eMASS)
3
3
 
4
- #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` endpoint to register the client certificate.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
4
+ #The Enterprise Mission Assurance Support Service (eMASS) Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. <strong>Register External Application (that use the eMASS API)</strong></br> New users will need to [register](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf) an API key with the eMASS development team prior to accessing the site for the first time. The eMASS REST API requires a client certificate (SSL/TLS, DoD PKI only). Use the `Registration` POST endpoint to register the client certificate. The endpoint call returns the user `api-key`.</br></br> Every call to the eMASS REST API will require the use of the agreed upon public key certificate and API key. The API key must be provided in the request header for all endpoint calls (api-key). If the service receives an untrusted certificate or API key, a 401 error response code will be returned along with an error message.</br></br> <strong>Available Request Headers</strong></br> <table> <tr> <th align=left>key</th> <th align=left>Example Value</th> <th align=left>Description</th> </tr> <tr> <td>`api-key`</td> <td>api-key-provided-by-emass</td> <td>This API key must be provided in the request header for all endpoint calls</td> </tr> <tr> <td>`user-uid`</td> <td>USER.UID.KEY</td> <td>This User unique identifier key must be provided in the request header for all PUT, POST, and DELETE endpoint calls</td> </tr> <tr> <td></td><td></td> <td> Note: For DoD users this is the DoD ID Number (EIDIPI) on their DoD CAC </td> </tr> </table> </br><strong>Approve API Client for Actionable Requests</strong></br> Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions. Please note that leaving a field parameter blank (for PUT/POST requests) has the potential to clear information in the active eMASS records. To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
5
5
 
6
- The version of the OpenAPI document: v3.10
6
+ The version of the OpenAPI document: v3.12
7
7
  Contact: disa.meade.id.mbx.emass-tier-iii-support@mail.mil
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0-SNAPSHOT
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -75,6 +75,7 @@ module EmassClient
75
75
  # Show invalid properties with the reasons. Usually used together with valid?
76
76
  # @return Array for valid properties with the reasons
77
77
  def list_invalid_properties
78
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
79
  invalid_properties = Array.new
79
80
  invalid_properties
80
81
  end
@@ -82,6 +83,7 @@ module EmassClient
82
83
  # Check to see if the all the properties in the model are valid
83
84
  # @return true if the model is valid
84
85
  def valid?
86
+ warn '[DEPRECATED] the `valid?` method is obsolete'
85
87
  true
86
88
  end
87
89
 
@@ -110,37 +112,30 @@ module EmassClient
110
112
  # @param [Hash] attributes Model attributes in the form of hash
111
113
  # @return [Object] Returns the model itself
112
114
  def self.build_from_hash(attributes)
113
- new.build_from_hash(attributes)
114
- end
115
-
116
- # Builds the object from hash
117
- # @param [Hash] attributes Model attributes in the form of hash
118
- # @return [Object] Returns the model itself
119
- def build_from_hash(attributes)
120
115
  return nil unless attributes.is_a?(Hash)
121
116
  attributes = attributes.transform_keys(&:to_sym)
122
- self.class.openapi_types.each_pair do |key, type|
123
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
124
- self.send("#{key}=", nil)
117
+ transformed_hash = {}
118
+ openapi_types.each_pair do |key, type|
119
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
120
+ transformed_hash["#{key}"] = nil
125
121
  elsif type =~ /\AArray<(.*)>/i
126
122
  # check to ensure the input is an array given that the attribute
127
123
  # is documented as an array but the input is not
128
- if attributes[self.class.attribute_map[key]].is_a?(Array)
129
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
124
+ if attributes[attribute_map[key]].is_a?(Array)
125
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
130
126
  end
131
- elsif !attributes[self.class.attribute_map[key]].nil?
132
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
127
+ elsif !attributes[attribute_map[key]].nil?
128
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
133
129
  end
134
130
  end
135
-
136
- self
131
+ new(transformed_hash)
137
132
  end
138
133
 
139
134
  # Deserializes the data based on type
140
135
  # @param string type Data type
141
136
  # @param string value Value to be deserialized
142
137
  # @return [Object] Deserialized data
143
- def _deserialize(type, value)
138
+ def self._deserialize(type, value)
144
139
  case type.to_sym
145
140
  when :Time
146
141
  Time.parse(value)