emass_client 3.10.1 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +174 -131
  3. data/lib/emass_client/api/artifacts_api.rb +47 -52
  4. data/lib/emass_client/api/artifacts_export_api.rb +5 -5
  5. data/lib/emass_client/api/cac_api.rb +12 -12
  6. data/lib/emass_client/api/cloud_resource_results_api.rb +83 -9
  7. data/lib/emass_client/api/cmmc_assessment_dashboards_api.rb +314 -0
  8. data/lib/emass_client/api/cmmc_assessments_api.rb +5 -5
  9. data/lib/emass_client/api/coast_guard_system_fisma_metrics_dashboard_api.rb +95 -0
  10. data/lib/emass_client/api/container_scan_results_api.rb +83 -9
  11. data/lib/emass_client/api/controls_api.rb +17 -17
  12. data/lib/emass_client/api/device_scan_results_api.rb +112 -0
  13. data/lib/emass_client/api/hardware_baseline_api.rb +313 -0
  14. data/lib/emass_client/api/milestones_api.rb +18 -18
  15. data/lib/emass_client/api/organization_migration_status_dashboard_api.rb +95 -0
  16. data/lib/emass_client/api/pac_api.rb +16 -16
  17. data/lib/emass_client/api/poam_api.rb +47 -44
  18. data/lib/emass_client/api/registration_api.rb +5 -5
  19. data/lib/emass_client/api/software_baseline_api.rb +313 -0
  20. data/lib/emass_client/api/static_code_scans_api.rb +9 -9
  21. data/lib/emass_client/api/system_application_findings_dashboards_api.rb +168 -0
  22. data/lib/emass_client/api/system_artifacts_dashboards_api.rb +168 -0
  23. data/lib/emass_client/api/system_associations_dashboard_api.rb +95 -0
  24. data/lib/emass_client/api/system_atciatc_dashboard_api.rb +95 -0
  25. data/lib/emass_client/api/system_conmon_integration_status_dashboard_api.rb +95 -0
  26. data/lib/emass_client/api/system_connectivity_ccsd_dashboards_api.rb +168 -0
  27. data/lib/emass_client/api/system_critical_assets_dashboard_api.rb +95 -0
  28. data/lib/emass_client/api/system_device_findings_dashboards_api.rb +168 -0
  29. data/lib/emass_client/api/system_fisma_metrics_dashboard_api.rb +95 -0
  30. data/lib/emass_client/api/system_hardware_dashboards_api.rb +168 -0
  31. data/lib/emass_client/api/system_migration_status_dashboard_api.rb +95 -0
  32. data/lib/emass_client/api/system_poam_dashboards_api.rb +168 -0
  33. data/lib/emass_client/api/system_ports_protocols_dashboards_api.rb +168 -0
  34. data/lib/emass_client/api/system_privacy_dashboard_api.rb +95 -0
  35. data/lib/emass_client/api/system_questionnaire_dashboards_api.rb +168 -0
  36. data/lib/emass_client/api/system_roles_api.rb +8 -16
  37. data/lib/emass_client/api/system_security_controls_dashboards_api.rb +241 -0
  38. data/lib/emass_client/api/system_sensor_hardware_dashboards_api.rb +168 -0
  39. data/lib/emass_client/api/system_sensor_software_dashboards_api.rb +241 -0
  40. data/lib/emass_client/api/system_software_dashboards_api.rb +168 -0
  41. data/lib/emass_client/api/system_status_dashboard_api.rb +95 -0
  42. data/lib/emass_client/api/system_terms_conditions_dashboards_api.rb +168 -0
  43. data/lib/emass_client/api/system_vulnerability_dashboard_api.rb +95 -0
  44. data/lib/emass_client/api/system_workflows_dashboards_api.rb +241 -0
  45. data/lib/emass_client/api/systems_api.rb +22 -28
  46. data/lib/emass_client/api/test_api.rb +5 -5
  47. data/lib/emass_client/api/test_results_api.rb +19 -16
  48. data/lib/emass_client/api/user_system_assignments_dashboard_api.rb +95 -0
  49. data/lib/emass_client/api/va_system_dashboards_api.rb +679 -0
  50. data/lib/emass_client/api/vaombfisma_dashboard_api.rb +95 -0
  51. data/lib/emass_client/api/workflow_definitions_api.rb +9 -9
  52. data/lib/emass_client/api/workflow_instances_api.rb +17 -14
  53. data/lib/emass_client/api_client.rb +46 -32
  54. data/lib/emass_client/api_error.rb +4 -4
  55. data/lib/emass_client/configuration.rb +42 -12
  56. data/lib/emass_client/models/{response201.rb → api_rule_failed.rb} +29 -28
  57. data/lib/emass_client/models/{response490_meta.rb → api_rule_failed_meta.rb} +34 -29
  58. data/lib/emass_client/models/artifacts_ids.rb +221 -0
  59. data/lib/emass_client/models/artifacts_optional_fields.rb +298 -0
  60. data/lib/emass_client/models/artifacts_read_only_fields.rb +255 -0
  61. data/lib/emass_client/models/artifacts_request_delete_body_inner.rb +26 -25
  62. data/lib/emass_client/models/artifacts_required_fields.rb +252 -0
  63. data/lib/emass_client/models/artifacts_response_del.rb +26 -25
  64. data/lib/emass_client/models/artifacts_response_del_data_inner.rb +26 -25
  65. data/lib/emass_client/models/artifacts_response_get.rb +27 -26
  66. data/lib/emass_client/models/{artifacts_get.rb → artifacts_response_get_data_inner.rb} +91 -70
  67. data/lib/emass_client/models/artifacts_response_put_post.rb +26 -25
  68. data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +40 -30
  69. data/lib/emass_client/models/{response403.rb → bad_request.rb} +29 -28
  70. data/lib/emass_client/models/{response400_meta.rb → bad_request_meta.rb} +34 -29
  71. data/lib/emass_client/models/cac_get.rb +26 -25
  72. data/lib/emass_client/models/cac_response_get.rb +26 -25
  73. data/lib/emass_client/models/cac_response_post.rb +26 -25
  74. data/lib/emass_client/models/cac_response_post_data_inner.rb +40 -30
  75. data/lib/emass_client/models/{poam_response_post.rb → cloud_resources_delete.rb} +29 -28
  76. data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +221 -0
  77. data/lib/emass_client/models/{cloud_resources_post.rb → cloud_resources_post_delete.rb} +42 -32
  78. data/lib/emass_client/models/cloud_resources_response_post.rb +27 -26
  79. data/lib/emass_client/models/cmmc_get.rb +96 -140
  80. data/lib/emass_client/models/cmmc_response_get.rb +26 -25
  81. data/lib/emass_client/models/connectivity_ccsd.rb +26 -25
  82. data/lib/emass_client/models/container_resources_delete_body_inner.rb +221 -0
  83. data/lib/emass_client/models/{containers_resources_post.rb → containers_resources_post_delete.rb} +42 -32
  84. data/lib/emass_client/models/{poam_response_delete.rb → containers_response_delete.rb} +29 -28
  85. data/lib/emass_client/models/containers_response_post.rb +27 -26
  86. data/lib/emass_client/models/controls_conditional_fields.rb +357 -0
  87. data/lib/emass_client/models/controls_ids.rb +221 -0
  88. data/lib/emass_client/models/controls_optional_fields.rb +471 -0
  89. data/lib/emass_client/models/controls_put.rb +40 -30
  90. data/lib/emass_client/models/controls_read_only_fields.rb +277 -0
  91. data/lib/emass_client/models/controls_required_fields.rb +295 -0
  92. data/lib/emass_client/models/controls_response_get.rb +27 -26
  93. data/lib/emass_client/models/{controls_get.rb → controls_response_get_data_inner.rb} +210 -166
  94. data/lib/emass_client/models/controls_response_put.rb +26 -25
  95. data/lib/emass_client/models/{response400.rb → created.rb} +29 -28
  96. data/lib/emass_client/models/{response201_meta.rb → created_meta.rb} +34 -29
  97. data/lib/emass_client/models/definition_transitions.rb +26 -25
  98. data/lib/emass_client/models/{success200_response.rb → device_scan_results_response_post.rb} +29 -28
  99. data/lib/emass_client/models/{success200_response_data_inner.rb → device_scan_results_response_post_data_inner.rb} +72 -33
  100. data/lib/emass_client/models/{response401.rb → forbidden.rb} +29 -28
  101. data/lib/emass_client/models/{response403_meta.rb → forbidden_meta.rb} +34 -29
  102. data/lib/emass_client/models/get_system_status_details200_response.rb +240 -0
  103. data/lib/emass_client/models/hw_baseline_conditional_fields.rb +244 -0
  104. data/lib/emass_client/models/hw_baseline_ids.rb +221 -0
  105. data/lib/emass_client/models/hw_baseline_optional_fields.rb +354 -0
  106. data/lib/emass_client/models/hw_baseline_read_only_fields.rb +222 -0
  107. data/lib/emass_client/models/hw_baseline_request_delete_body_inner.rb +220 -0
  108. data/lib/emass_client/models/hw_baseline_required_fields.rb +221 -0
  109. data/lib/emass_client/models/hw_baseline_response_delete.rb +231 -0
  110. data/lib/emass_client/models/hw_baseline_response_delete_data_inner.rb +274 -0
  111. data/lib/emass_client/models/{dashboard_mock_response.rb → hw_baseline_response_get.rb} +30 -29
  112. data/lib/emass_client/models/hw_baseline_response_get_data_inner.rb +429 -0
  113. data/lib/emass_client/models/hw_baseline_response_post_put.rb +231 -0
  114. data/lib/emass_client/models/hw_baseline_response_post_put_data_inner.rb +274 -0
  115. data/lib/emass_client/models/{instances_transitions.rb → instance_transitions.rb} +28 -27
  116. data/lib/emass_client/models/internal_server_error.rb +220 -0
  117. data/lib/emass_client/models/{response500_meta.rb → internal_server_error_meta.rb} +34 -29
  118. data/lib/emass_client/models/length_required.rb +220 -0
  119. data/lib/emass_client/models/{response411_meta.rb → length_required_meta.rb} +34 -29
  120. data/lib/emass_client/models/method_not_allowed.rb +220 -0
  121. data/lib/emass_client/models/{response405_meta.rb → method_not_allowed_meta.rb} +34 -29
  122. data/lib/emass_client/models/milestone_response_delete.rb +231 -0
  123. data/lib/emass_client/models/milestone_response_get.rb +26 -25
  124. data/lib/emass_client/models/milestone_response_get_milestone.rb +26 -25
  125. data/lib/emass_client/models/milestone_response_post.rb +26 -25
  126. data/lib/emass_client/models/milestone_response_put.rb +26 -25
  127. data/lib/emass_client/models/milestones_fields.rb +222 -0
  128. data/lib/emass_client/models/milestones_get.rb +55 -32
  129. data/lib/emass_client/models/milestones_put_post_delete.rb +40 -30
  130. data/lib/emass_client/models/milestones_request_delete_body_inner.rb +26 -25
  131. data/lib/emass_client/models/milestones_required_post.rb +35 -53
  132. data/lib/emass_client/models/milestones_required_post_milestones_inner.rb +265 -0
  133. data/lib/emass_client/models/milestones_required_put.rb +35 -68
  134. data/lib/emass_client/models/{ssps.rb → milestones_required_put_milestones_inner.rb} +101 -52
  135. data/lib/emass_client/models/{response404.rb → not_found.rb} +34 -29
  136. data/lib/emass_client/models/pac_get.rb +29 -37
  137. data/lib/emass_client/models/pac_post.rb +40 -30
  138. data/lib/emass_client/models/pac_response_get.rb +26 -25
  139. data/lib/emass_client/models/pac_response_post.rb +26 -25
  140. data/lib/emass_client/models/{dashboard_mock_response_pagination.rb → pagination.rb} +47 -46
  141. data/lib/emass_client/models/poam_conditional_fields.rb +402 -0
  142. data/lib/emass_client/models/poam_ids.rb +241 -0
  143. data/lib/emass_client/models/poam_optional_fields.rb +409 -0
  144. data/lib/emass_client/models/poam_post_put_del.rb +40 -30
  145. data/lib/emass_client/models/poam_read_only_fields.rb +332 -0
  146. data/lib/emass_client/models/poam_request_delete_body_inner.rb +26 -25
  147. data/lib/emass_client/models/poam_required_fields.rb +305 -0
  148. data/lib/emass_client/models/poam_response_get_poams.rb +27 -26
  149. data/lib/emass_client/models/poam_response_get_poams_data.rb +824 -0
  150. data/lib/emass_client/models/poam_response_get_systems.rb +27 -26
  151. data/lib/emass_client/models/poam_response_get_systems_data_inner.rb +824 -0
  152. data/lib/emass_client/models/{poam_response_put.rb → poam_response_post_put_delete.rb} +28 -27
  153. data/lib/emass_client/models/register.rb +26 -25
  154. data/lib/emass_client/models/register_data.rb +26 -25
  155. data/lib/emass_client/models/register_user_request_post_body.rb +38 -25
  156. data/lib/emass_client/models/response200.rb +32 -27
  157. data/lib/emass_client/models/role_category.rb +26 -25
  158. data/lib/emass_client/models/roles.rb +26 -25
  159. data/lib/emass_client/models/stage.rb +26 -25
  160. data/lib/emass_client/models/{static_code_application.rb → static_code_application_post.rb} +28 -27
  161. data/lib/emass_client/models/static_code_post.rb +40 -30
  162. data/lib/emass_client/models/static_code_request_post_body.rb +27 -26
  163. data/lib/emass_client/models/static_code_request_post_body_application.rb +26 -25
  164. data/lib/emass_client/models/static_code_response_post.rb +26 -25
  165. data/lib/emass_client/models/sw_baseline_conditional_fields.rb +222 -0
  166. data/lib/emass_client/models/sw_baseline_ids.rb +221 -0
  167. data/lib/emass_client/models/sw_baseline_optional_fields.rb +563 -0
  168. data/lib/emass_client/models/sw_baseline_read_only_fields.rb +222 -0
  169. data/lib/emass_client/models/sw_baseline_request_delete_body_inner.rb +220 -0
  170. data/lib/emass_client/models/sw_baseline_required_fields.rb +241 -0
  171. data/lib/emass_client/models/sw_baseline_response_delete.rb +231 -0
  172. data/lib/emass_client/models/sw_baseline_response_delete_data_inner.rb +274 -0
  173. data/lib/emass_client/models/sw_baseline_response_get.rb +240 -0
  174. data/lib/emass_client/models/sw_baseline_response_get_data_inner.rb +624 -0
  175. data/lib/emass_client/models/sw_baseline_response_post_put.rb +231 -0
  176. data/lib/emass_client/models/sw_baseline_response_post_put_data_inner.rb +274 -0
  177. data/lib/emass_client/models/system_response.rb +26 -25
  178. data/lib/emass_client/models/system_roles_category_response.rb +26 -25
  179. data/lib/emass_client/models/system_roles_response.rb +26 -25
  180. data/lib/emass_client/models/system_roles_response_data_inner.rb +26 -25
  181. data/lib/emass_client/models/systems.rb +950 -113
  182. data/lib/emass_client/models/systems_response.rb +26 -25
  183. data/lib/emass_client/models/test.rb +26 -25
  184. data/lib/emass_client/models/test_data.rb +26 -25
  185. data/lib/emass_client/models/test_results_get.rb +37 -26
  186. data/lib/emass_client/models/test_results_post.rb +40 -30
  187. data/lib/emass_client/models/test_results_response_get.rb +26 -25
  188. data/lib/emass_client/models/test_results_response_post.rb +26 -25
  189. data/lib/emass_client/models/unauthorized.rb +220 -0
  190. data/lib/emass_client/models/{response401_meta.rb → unauthorized_meta.rb} +34 -29
  191. data/lib/emass_client/models/users.rb +26 -25
  192. data/lib/emass_client/models/workflow_definition_get.rb +26 -25
  193. data/lib/emass_client/models/workflow_definition_response_get.rb +26 -25
  194. data/lib/emass_client/models/workflow_instance_get.rb +40 -28
  195. data/lib/emass_client/models/workflow_instance_response_get.rb +26 -25
  196. data/lib/emass_client/models/workflow_instances_response_get.rb +27 -26
  197. data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +26 -25
  198. data/lib/emass_client/version.rb +5 -5
  199. data/lib/emass_client.rb +112 -39
  200. metadata +116 -43
  201. data/lib/emass_client/api/dashboards_api.rb +0 -2139
  202. data/lib/emass_client/models/mock_object.rb +0 -343
  203. data/lib/emass_client/models/poam_get.rb +0 -683
  204. data/lib/emass_client/models/response405.rb +0 -219
  205. data/lib/emass_client/models/response411.rb +0 -219
  206. data/lib/emass_client/models/response490.rb +0 -219
  207. data/lib/emass_client/models/response500.rb +0 -219
  208. data/lib/emass_client/models/workflow_instances_get.rb +0 -342
@@ -0,0 +1,624 @@
1
+ =begin
2
+ #Enterprise Mission Assurance Support Service (eMASS)
3
+
4
+ #The eMASS Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records. The eMASS API provides an interface for application to communicate eMASS Services. For information on how to register and use the eMASS API reference the [eMASS API Getting Started](eMASSGettingStarted.md). Additional information about eMASS can be obtain by contacting the National Industrial Security Program (NISP). Points of Contact are:
5
+
6
+ The version of the OpenAPI document: v3.22
7
+ Contact: disa.global.servicedesk.mbx.ma-ticket-request@mail.mil
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module EmassClient
17
+ class SwBaselineResponseGetDataInner
18
+ # [Required] Unique eMASS system identifier.
19
+ attr_accessor :system_id
20
+
21
+ # [Read-Only] GUID identifying the specific software asset.
22
+ attr_accessor :software_id
23
+
24
+ # [Required] Vendor of the software asset.
25
+ attr_accessor :software_vendor
26
+
27
+ # [Required] Name of the software asset.
28
+ attr_accessor :software_name
29
+
30
+ # [Required] Version of the software asset.
31
+ attr_accessor :version
32
+
33
+ # [Optional] Type of the software asset.
34
+ attr_accessor :software_type
35
+
36
+ # [Optional] Parent system of the software asset.
37
+ attr_accessor :parent_system
38
+
39
+ # [Optional] Subsystem of the software asset.
40
+ attr_accessor :subsystem
41
+
42
+ # [Optional] Network of the software asset.
43
+ attr_accessor :network
44
+
45
+ # [Optional] Hosting environment of the software asset.
46
+ attr_accessor :hosting_environment
47
+
48
+ # [Optional] Dependencies of the software asset.
49
+ attr_accessor :software_dependencies
50
+
51
+ # [Optional] Cryptographic hash of the software asset.
52
+ attr_accessor :cryptographic_hash
53
+
54
+ # [Optional] In-service data of the software asset.
55
+ attr_accessor :in_service_data
56
+
57
+ # [Optional] IT budget UII of the software asset.
58
+ attr_accessor :it_budget_uii
59
+
60
+ # [Optional] Fiscal year (FY) of the software asset.
61
+ attr_accessor :fiscal_year
62
+
63
+ # [Optional] Period of performance (POP) end date of the software asset.
64
+ attr_accessor :pop_end_date
65
+
66
+ # [Optional] License or contract number of the software asset.
67
+ attr_accessor :license_or_contract
68
+
69
+ # [Optional] License term of the software asset.
70
+ attr_accessor :license_term
71
+
72
+ # [Optional] Cost per license of the software asset. Number will be converted to display 2 decimal points.
73
+ attr_accessor :cost_per_license
74
+
75
+ # [Optional] Total licenses of the software asset.
76
+ attr_accessor :total_licenses
77
+
78
+ # [Optional] Total license cost of the software asset. Number will be converted to display 2 decimal points.
79
+ attr_accessor :total_license_cost
80
+
81
+ # [Optional] Number of licenses used for the software asset.
82
+ attr_accessor :licenses_used
83
+
84
+ # [Optional] Point of contact (POC) for the software asset.
85
+ attr_accessor :license_poc
86
+
87
+ # [Optional] License renewal date for the software asset.
88
+ attr_accessor :license_renewal_date
89
+
90
+ # [Optional] License expiration date for the software asset.
91
+ attr_accessor :license_expiration_date
92
+
93
+ # [Optional] Approval status of the software asset.
94
+ attr_accessor :approval_status
95
+
96
+ # [Optional] Release date of the software asset.
97
+ attr_accessor :release_date
98
+
99
+ # [Optional] Maintenance date of the software asset.
100
+ attr_accessor :maintenance_date
101
+
102
+ # [Optional] Retirement date of the software asset.
103
+ attr_accessor :retirement_date
104
+
105
+ # [Optional] End of life support date of the software asset.
106
+ attr_accessor :end_of_life_support_date
107
+
108
+ # [Optional] If set, the Extended End of Life/Support Date cannot occur prior to the End of Life/Support Date.
109
+ attr_accessor :extended_end_of_life_support_date
110
+
111
+ # [Optional] Indicates whether the asset is a critical information system asset.
112
+ attr_accessor :critical_asset
113
+
114
+ # [Optional] Location of the software asset.
115
+ attr_accessor :location
116
+
117
+ # [Optional] Purpose of the software asset.
118
+ attr_accessor :purpose
119
+
120
+ # [Optional] Unsupported operating system. VA only.
121
+ attr_accessor :unsupported_operating_system
122
+
123
+ # [Optional] Unapproved software from TRM. VA only
124
+ attr_accessor :unapproved_software_from_trm
125
+
126
+ # [Optional] Approved waiver. VA only
127
+ attr_accessor :approved_waiver
128
+
129
+ # Attribute mapping from ruby-style variable name to JSON key.
130
+ def self.attribute_map
131
+ {
132
+ :'system_id' => :'systemId',
133
+ :'software_id' => :'softwareId',
134
+ :'software_vendor' => :'softwareVendor',
135
+ :'software_name' => :'softwareName',
136
+ :'version' => :'version',
137
+ :'software_type' => :'softwareType',
138
+ :'parent_system' => :'parentSystem',
139
+ :'subsystem' => :'subsystem',
140
+ :'network' => :'network',
141
+ :'hosting_environment' => :'hostingEnvironment',
142
+ :'software_dependencies' => :'softwareDependencies',
143
+ :'cryptographic_hash' => :'cryptographicHash',
144
+ :'in_service_data' => :'inServiceData',
145
+ :'it_budget_uii' => :'itBudgetUii',
146
+ :'fiscal_year' => :'fiscalYear',
147
+ :'pop_end_date' => :'popEndDate',
148
+ :'license_or_contract' => :'licenseOrContract',
149
+ :'license_term' => :'licenseTerm',
150
+ :'cost_per_license' => :'costPerLicense',
151
+ :'total_licenses' => :'totalLicenses',
152
+ :'total_license_cost' => :'totalLicenseCost',
153
+ :'licenses_used' => :'licensesUsed',
154
+ :'license_poc' => :'licensePoc',
155
+ :'license_renewal_date' => :'licenseRenewalDate',
156
+ :'license_expiration_date' => :'licenseExpirationDate',
157
+ :'approval_status' => :'approvalStatus',
158
+ :'release_date' => :'releaseDate',
159
+ :'maintenance_date' => :'maintenanceDate',
160
+ :'retirement_date' => :'retirementDate',
161
+ :'end_of_life_support_date' => :'endOfLifeSupportDate',
162
+ :'extended_end_of_life_support_date' => :'extendedEndOfLifeSupportDate',
163
+ :'critical_asset' => :'criticalAsset',
164
+ :'location' => :'location',
165
+ :'purpose' => :'purpose',
166
+ :'unsupported_operating_system' => :'unsupportedOperatingSystem',
167
+ :'unapproved_software_from_trm' => :'unapprovedSoftwareFromTrm',
168
+ :'approved_waiver' => :'approvedWaiver'
169
+ }
170
+ end
171
+
172
+ # Returns attribute mapping this model knows about
173
+ def self.acceptable_attribute_map
174
+ attribute_map
175
+ end
176
+
177
+ # Returns all the JSON keys this model knows about
178
+ def self.acceptable_attributes
179
+ acceptable_attribute_map.values
180
+ end
181
+
182
+ # Attribute type mapping.
183
+ def self.openapi_types
184
+ {
185
+ :'system_id' => :'Integer',
186
+ :'software_id' => :'String',
187
+ :'software_vendor' => :'String',
188
+ :'software_name' => :'String',
189
+ :'version' => :'String',
190
+ :'software_type' => :'String',
191
+ :'parent_system' => :'String',
192
+ :'subsystem' => :'String',
193
+ :'network' => :'String',
194
+ :'hosting_environment' => :'String',
195
+ :'software_dependencies' => :'String',
196
+ :'cryptographic_hash' => :'String',
197
+ :'in_service_data' => :'String',
198
+ :'it_budget_uii' => :'String',
199
+ :'fiscal_year' => :'String',
200
+ :'pop_end_date' => :'Integer',
201
+ :'license_or_contract' => :'String',
202
+ :'license_term' => :'String',
203
+ :'cost_per_license' => :'Float',
204
+ :'total_licenses' => :'Integer',
205
+ :'total_license_cost' => :'Float',
206
+ :'licenses_used' => :'Integer',
207
+ :'license_poc' => :'String',
208
+ :'license_renewal_date' => :'Integer',
209
+ :'license_expiration_date' => :'Integer',
210
+ :'approval_status' => :'String',
211
+ :'release_date' => :'Integer',
212
+ :'maintenance_date' => :'Integer',
213
+ :'retirement_date' => :'Integer',
214
+ :'end_of_life_support_date' => :'Integer',
215
+ :'extended_end_of_life_support_date' => :'Integer',
216
+ :'critical_asset' => :'Boolean',
217
+ :'location' => :'String',
218
+ :'purpose' => :'String',
219
+ :'unsupported_operating_system' => :'Boolean',
220
+ :'unapproved_software_from_trm' => :'Boolean',
221
+ :'approved_waiver' => :'Boolean'
222
+ }
223
+ end
224
+
225
+ # List of attributes with nullable: true
226
+ def self.openapi_nullable
227
+ Set.new([
228
+ :'software_id',
229
+ :'software_type',
230
+ :'parent_system',
231
+ :'subsystem',
232
+ :'network',
233
+ :'hosting_environment',
234
+ :'software_dependencies',
235
+ :'cryptographic_hash',
236
+ :'in_service_data',
237
+ :'it_budget_uii',
238
+ :'fiscal_year',
239
+ :'pop_end_date',
240
+ :'license_or_contract',
241
+ :'license_term',
242
+ :'cost_per_license',
243
+ :'total_licenses',
244
+ :'total_license_cost',
245
+ :'licenses_used',
246
+ :'license_poc',
247
+ :'license_renewal_date',
248
+ :'license_expiration_date',
249
+ :'approval_status',
250
+ :'release_date',
251
+ :'maintenance_date',
252
+ :'retirement_date',
253
+ :'end_of_life_support_date',
254
+ :'extended_end_of_life_support_date',
255
+ :'critical_asset',
256
+ :'location',
257
+ :'purpose',
258
+ :'unsupported_operating_system',
259
+ :'unapproved_software_from_trm',
260
+ :'approved_waiver'
261
+ ])
262
+ end
263
+
264
+ # List of class defined in allOf (OpenAPI v3)
265
+ def self.openapi_all_of
266
+ [
267
+ :'SwBaselineIds',
268
+ :'SwBaselineOptionalFields',
269
+ :'SwBaselineReadOnlyFields',
270
+ :'SwBaselineRequiredFields'
271
+ ]
272
+ end
273
+
274
+ # Initializes the object
275
+ # @param [Hash] attributes Model attributes in the form of hash
276
+ def initialize(attributes = {})
277
+ if (!attributes.is_a?(Hash))
278
+ fail ArgumentError, "The input argument (attributes) must be a hash in `EmassClient::SwBaselineResponseGetDataInner` initialize method"
279
+ end
280
+
281
+ # check to see if the attribute exists and convert string to symbol for hash key
282
+ acceptable_attribute_map = self.class.acceptable_attribute_map
283
+ attributes = attributes.each_with_object({}) { |(k, v), h|
284
+ if (!acceptable_attribute_map.key?(k.to_sym))
285
+ fail ArgumentError, "`#{k}` is not a valid attribute in `EmassClient::SwBaselineResponseGetDataInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
286
+ end
287
+ h[k.to_sym] = v
288
+ }
289
+
290
+ if attributes.key?(:'system_id')
291
+ self.system_id = attributes[:'system_id']
292
+ end
293
+
294
+ if attributes.key?(:'software_id')
295
+ self.software_id = attributes[:'software_id']
296
+ end
297
+
298
+ if attributes.key?(:'software_vendor')
299
+ self.software_vendor = attributes[:'software_vendor']
300
+ end
301
+
302
+ if attributes.key?(:'software_name')
303
+ self.software_name = attributes[:'software_name']
304
+ end
305
+
306
+ if attributes.key?(:'version')
307
+ self.version = attributes[:'version']
308
+ end
309
+
310
+ if attributes.key?(:'software_type')
311
+ self.software_type = attributes[:'software_type']
312
+ end
313
+
314
+ if attributes.key?(:'parent_system')
315
+ self.parent_system = attributes[:'parent_system']
316
+ end
317
+
318
+ if attributes.key?(:'subsystem')
319
+ self.subsystem = attributes[:'subsystem']
320
+ end
321
+
322
+ if attributes.key?(:'network')
323
+ self.network = attributes[:'network']
324
+ end
325
+
326
+ if attributes.key?(:'hosting_environment')
327
+ self.hosting_environment = attributes[:'hosting_environment']
328
+ end
329
+
330
+ if attributes.key?(:'software_dependencies')
331
+ self.software_dependencies = attributes[:'software_dependencies']
332
+ end
333
+
334
+ if attributes.key?(:'cryptographic_hash')
335
+ self.cryptographic_hash = attributes[:'cryptographic_hash']
336
+ end
337
+
338
+ if attributes.key?(:'in_service_data')
339
+ self.in_service_data = attributes[:'in_service_data']
340
+ end
341
+
342
+ if attributes.key?(:'it_budget_uii')
343
+ self.it_budget_uii = attributes[:'it_budget_uii']
344
+ end
345
+
346
+ if attributes.key?(:'fiscal_year')
347
+ self.fiscal_year = attributes[:'fiscal_year']
348
+ end
349
+
350
+ if attributes.key?(:'pop_end_date')
351
+ self.pop_end_date = attributes[:'pop_end_date']
352
+ end
353
+
354
+ if attributes.key?(:'license_or_contract')
355
+ self.license_or_contract = attributes[:'license_or_contract']
356
+ end
357
+
358
+ if attributes.key?(:'license_term')
359
+ self.license_term = attributes[:'license_term']
360
+ end
361
+
362
+ if attributes.key?(:'cost_per_license')
363
+ self.cost_per_license = attributes[:'cost_per_license']
364
+ end
365
+
366
+ if attributes.key?(:'total_licenses')
367
+ self.total_licenses = attributes[:'total_licenses']
368
+ end
369
+
370
+ if attributes.key?(:'total_license_cost')
371
+ self.total_license_cost = attributes[:'total_license_cost']
372
+ end
373
+
374
+ if attributes.key?(:'licenses_used')
375
+ self.licenses_used = attributes[:'licenses_used']
376
+ end
377
+
378
+ if attributes.key?(:'license_poc')
379
+ self.license_poc = attributes[:'license_poc']
380
+ end
381
+
382
+ if attributes.key?(:'license_renewal_date')
383
+ self.license_renewal_date = attributes[:'license_renewal_date']
384
+ end
385
+
386
+ if attributes.key?(:'license_expiration_date')
387
+ self.license_expiration_date = attributes[:'license_expiration_date']
388
+ end
389
+
390
+ if attributes.key?(:'approval_status')
391
+ self.approval_status = attributes[:'approval_status']
392
+ end
393
+
394
+ if attributes.key?(:'release_date')
395
+ self.release_date = attributes[:'release_date']
396
+ end
397
+
398
+ if attributes.key?(:'maintenance_date')
399
+ self.maintenance_date = attributes[:'maintenance_date']
400
+ end
401
+
402
+ if attributes.key?(:'retirement_date')
403
+ self.retirement_date = attributes[:'retirement_date']
404
+ end
405
+
406
+ if attributes.key?(:'end_of_life_support_date')
407
+ self.end_of_life_support_date = attributes[:'end_of_life_support_date']
408
+ end
409
+
410
+ if attributes.key?(:'extended_end_of_life_support_date')
411
+ self.extended_end_of_life_support_date = attributes[:'extended_end_of_life_support_date']
412
+ end
413
+
414
+ if attributes.key?(:'critical_asset')
415
+ self.critical_asset = attributes[:'critical_asset']
416
+ end
417
+
418
+ if attributes.key?(:'location')
419
+ self.location = attributes[:'location']
420
+ end
421
+
422
+ if attributes.key?(:'purpose')
423
+ self.purpose = attributes[:'purpose']
424
+ end
425
+
426
+ if attributes.key?(:'unsupported_operating_system')
427
+ self.unsupported_operating_system = attributes[:'unsupported_operating_system']
428
+ end
429
+
430
+ if attributes.key?(:'unapproved_software_from_trm')
431
+ self.unapproved_software_from_trm = attributes[:'unapproved_software_from_trm']
432
+ end
433
+
434
+ if attributes.key?(:'approved_waiver')
435
+ self.approved_waiver = attributes[:'approved_waiver']
436
+ end
437
+ end
438
+
439
+ # Show invalid properties with the reasons. Usually used together with valid?
440
+ # @return Array for valid properties with the reasons
441
+ def list_invalid_properties
442
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
443
+ invalid_properties = Array.new
444
+ invalid_properties
445
+ end
446
+
447
+ # Check to see if the all the properties in the model are valid
448
+ # @return true if the model is valid
449
+ def valid?
450
+ warn '[DEPRECATED] the `valid?` method is obsolete'
451
+ true
452
+ end
453
+
454
+ # Checks equality by comparing each attribute.
455
+ # @param [Object] Object to be compared
456
+ def ==(o)
457
+ return true if self.equal?(o)
458
+ self.class == o.class &&
459
+ system_id == o.system_id &&
460
+ software_id == o.software_id &&
461
+ software_vendor == o.software_vendor &&
462
+ software_name == o.software_name &&
463
+ version == o.version &&
464
+ software_type == o.software_type &&
465
+ parent_system == o.parent_system &&
466
+ subsystem == o.subsystem &&
467
+ network == o.network &&
468
+ hosting_environment == o.hosting_environment &&
469
+ software_dependencies == o.software_dependencies &&
470
+ cryptographic_hash == o.cryptographic_hash &&
471
+ in_service_data == o.in_service_data &&
472
+ it_budget_uii == o.it_budget_uii &&
473
+ fiscal_year == o.fiscal_year &&
474
+ pop_end_date == o.pop_end_date &&
475
+ license_or_contract == o.license_or_contract &&
476
+ license_term == o.license_term &&
477
+ cost_per_license == o.cost_per_license &&
478
+ total_licenses == o.total_licenses &&
479
+ total_license_cost == o.total_license_cost &&
480
+ licenses_used == o.licenses_used &&
481
+ license_poc == o.license_poc &&
482
+ license_renewal_date == o.license_renewal_date &&
483
+ license_expiration_date == o.license_expiration_date &&
484
+ approval_status == o.approval_status &&
485
+ release_date == o.release_date &&
486
+ maintenance_date == o.maintenance_date &&
487
+ retirement_date == o.retirement_date &&
488
+ end_of_life_support_date == o.end_of_life_support_date &&
489
+ extended_end_of_life_support_date == o.extended_end_of_life_support_date &&
490
+ critical_asset == o.critical_asset &&
491
+ location == o.location &&
492
+ purpose == o.purpose &&
493
+ unsupported_operating_system == o.unsupported_operating_system &&
494
+ unapproved_software_from_trm == o.unapproved_software_from_trm &&
495
+ approved_waiver == o.approved_waiver
496
+ end
497
+
498
+ # @see the `==` method
499
+ # @param [Object] Object to be compared
500
+ def eql?(o)
501
+ self == o
502
+ end
503
+
504
+ # Calculates hash code according to all attributes.
505
+ # @return [Integer] Hash code
506
+ def hash
507
+ [system_id, software_id, software_vendor, software_name, version, software_type, parent_system, subsystem, network, hosting_environment, software_dependencies, cryptographic_hash, in_service_data, it_budget_uii, fiscal_year, pop_end_date, license_or_contract, license_term, cost_per_license, total_licenses, total_license_cost, licenses_used, license_poc, license_renewal_date, license_expiration_date, approval_status, release_date, maintenance_date, retirement_date, end_of_life_support_date, extended_end_of_life_support_date, critical_asset, location, purpose, unsupported_operating_system, unapproved_software_from_trm, approved_waiver].hash
508
+ end
509
+
510
+ # Builds the object from hash
511
+ # @param [Hash] attributes Model attributes in the form of hash
512
+ # @return [Object] Returns the model itself
513
+ def self.build_from_hash(attributes)
514
+ return nil unless attributes.is_a?(Hash)
515
+ attributes = attributes.transform_keys(&:to_sym)
516
+ transformed_hash = {}
517
+ openapi_types.each_pair do |key, type|
518
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
519
+ transformed_hash["#{key}"] = nil
520
+ elsif type =~ /\AArray<(.*)>/i
521
+ # check to ensure the input is an array given that the attribute
522
+ # is documented as an array but the input is not
523
+ if attributes[attribute_map[key]].is_a?(Array)
524
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
525
+ end
526
+ elsif !attributes[attribute_map[key]].nil?
527
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
528
+ end
529
+ end
530
+ new(transformed_hash)
531
+ end
532
+
533
+ # Deserializes the data based on type
534
+ # @param string type Data type
535
+ # @param string value Value to be deserialized
536
+ # @return [Object] Deserialized data
537
+ def self._deserialize(type, value)
538
+ case type.to_sym
539
+ when :Time
540
+ Time.parse(value)
541
+ when :Date
542
+ Date.parse(value)
543
+ when :String
544
+ value.to_s
545
+ when :Integer
546
+ value.to_i
547
+ when :Float
548
+ value.to_f
549
+ when :Boolean
550
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
551
+ true
552
+ else
553
+ false
554
+ end
555
+ when :Object
556
+ # generic object (usually a Hash), return directly
557
+ value
558
+ when /\AArray<(?<inner_type>.+)>\z/
559
+ inner_type = Regexp.last_match[:inner_type]
560
+ value.map { |v| _deserialize(inner_type, v) }
561
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
562
+ k_type = Regexp.last_match[:k_type]
563
+ v_type = Regexp.last_match[:v_type]
564
+ {}.tap do |hash|
565
+ value.each do |k, v|
566
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
567
+ end
568
+ end
569
+ else # model
570
+ # models (e.g. Pet) or oneOf
571
+ klass = EmassClient.const_get(type)
572
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
573
+ end
574
+ end
575
+
576
+ # Returns the string representation of the object
577
+ # @return [String] String presentation of the object
578
+ def to_s
579
+ to_hash.to_s
580
+ end
581
+
582
+ # to_body is an alias to to_hash (backward compatibility)
583
+ # @return [Hash] Returns the object in the form of hash
584
+ def to_body
585
+ to_hash
586
+ end
587
+
588
+ # Returns the object in the form of hash
589
+ # @return [Hash] Returns the object in the form of hash
590
+ def to_hash
591
+ hash = {}
592
+ self.class.attribute_map.each_pair do |attr, param|
593
+ value = self.send(attr)
594
+ if value.nil?
595
+ is_nullable = self.class.openapi_nullable.include?(attr)
596
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
597
+ end
598
+
599
+ hash[param] = _to_hash(value)
600
+ end
601
+ hash
602
+ end
603
+
604
+ # Outputs non-array value in the form of hash
605
+ # For object, use to_hash. Otherwise, just return the value
606
+ # @param [Object] value Any valid value
607
+ # @return [Hash] Returns the value in the form of hash
608
+ def _to_hash(value)
609
+ if value.is_a?(Array)
610
+ value.compact.map { |v| _to_hash(v) }
611
+ elsif value.is_a?(Hash)
612
+ {}.tap do |hash|
613
+ value.each { |k, v| hash[k] = _to_hash(v) }
614
+ end
615
+ elsif value.respond_to? :to_hash
616
+ value.to_hash
617
+ else
618
+ value
619
+ end
620
+ end
621
+
622
+ end
623
+
624
+ end