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