emass_client 3.12.0 → 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 (212) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +159 -129
  3. data/lib/emass_client/api/artifacts_api.rb +40 -48
  4. data/lib/emass_client/api/artifacts_export_api.rb +5 -5
  5. data/lib/emass_client/api/cac_api.rb +10 -10
  6. data/lib/emass_client/api/cloud_resource_results_api.rb +10 -10
  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 +10 -10
  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 +15 -15
  15. data/lib/emass_client/api/organization_migration_status_dashboard_api.rb +95 -0
  16. data/lib/emass_client/api/pac_api.rb +10 -10
  17. data/lib/emass_client/api/poam_api.rb +40 -40
  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/{enterprise_artifacts_dashboards_api.rb → system_artifacts_dashboards_api.rb} +21 -21
  23. data/lib/emass_client/api/system_associations_dashboard_api.rb +8 -8
  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 +8 -8
  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/{hardware_baseline_dashboards_api.rb → system_hardware_dashboards_api.rb} +21 -21
  31. data/lib/emass_client/api/system_migration_status_dashboard_api.rb +95 -0
  32. data/lib/emass_client/api/{enterprise_poam_dashboards_api.rb → system_poam_dashboards_api.rb} +21 -21
  33. data/lib/emass_client/api/{ports_and_protocols_dashboards_api.rb → system_ports_protocols_dashboards_api.rb} +21 -21
  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 -8
  37. data/lib/emass_client/api/{enterprise_security_controls_dashboards_api.rb → system_security_controls_dashboards_api.rb} +31 -31
  38. data/lib/emass_client/api/{enterprise_sensor_based_hardware_resources_dashboards_api.rb → system_sensor_hardware_dashboards_api.rb} +21 -21
  39. data/lib/emass_client/api/{enterprise_sensor_based_software_resources_dashboards_api.rb → system_sensor_software_dashboards_api.rb} +29 -29
  40. data/lib/emass_client/api/{software_baseline_dashboards_api.rb → system_software_dashboards_api.rb} +21 -21
  41. data/lib/emass_client/api/system_status_dashboard_api.rb +8 -8
  42. data/lib/emass_client/api/{enterprise_terms_conditions_dashboards_api.rb → system_terms_conditions_dashboards_api.rb} +21 -21
  43. data/lib/emass_client/api/system_vulnerability_dashboard_api.rb +95 -0
  44. data/lib/emass_client/api/{enterprise_vulnerability_dashboards_api.rb → system_workflows_dashboards_api.rb} +53 -53
  45. data/lib/emass_client/api/systems_api.rb +16 -22
  46. data/lib/emass_client/api/test_api.rb +5 -5
  47. data/lib/emass_client/api/test_results_api.rb +10 -10
  48. data/lib/emass_client/api/{users_dashboard_api.rb → user_system_assignments_dashboard_api.rb} +13 -13
  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 +14 -14
  53. data/lib/emass_client/api_client.rb +44 -31
  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} +17 -11
  57. data/lib/emass_client/models/{response490_meta.rb → api_rule_failed_meta.rb} +16 -10
  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 +14 -8
  62. data/lib/emass_client/models/artifacts_required_fields.rb +252 -0
  63. data/lib/emass_client/models/artifacts_response_del.rb +14 -8
  64. data/lib/emass_client/models/artifacts_response_del_data_inner.rb +14 -8
  65. data/lib/emass_client/models/artifacts_response_get.rb +15 -9
  66. data/lib/emass_client/models/{artifacts_get.rb → artifacts_response_get_data_inner.rb} +78 -62
  67. data/lib/emass_client/models/artifacts_response_put_post.rb +14 -8
  68. data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +19 -13
  69. data/lib/emass_client/models/{response400.rb → bad_request.rb} +17 -11
  70. data/lib/emass_client/models/{response400_meta.rb → bad_request_meta.rb} +16 -10
  71. data/lib/emass_client/models/cac_get.rb +14 -8
  72. data/lib/emass_client/models/cac_response_get.rb +14 -8
  73. data/lib/emass_client/models/cac_response_post.rb +14 -8
  74. data/lib/emass_client/models/cac_response_post_data_inner.rb +19 -13
  75. data/lib/emass_client/models/cloud_resources_delete.rb +14 -8
  76. data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +14 -8
  77. data/lib/emass_client/models/cloud_resources_post_delete.rb +19 -13
  78. data/lib/emass_client/models/cloud_resources_response_post.rb +14 -8
  79. data/lib/emass_client/models/cmmc_get.rb +84 -123
  80. data/lib/emass_client/models/cmmc_response_get.rb +14 -8
  81. data/lib/emass_client/models/connectivity_ccsd.rb +14 -8
  82. data/lib/emass_client/models/container_resources_delete_body_inner.rb +14 -8
  83. data/lib/emass_client/models/containers_resources_post_delete.rb +19 -13
  84. data/lib/emass_client/models/containers_response_delete.rb +14 -8
  85. data/lib/emass_client/models/containers_response_post.rb +14 -8
  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 +19 -13
  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 +15 -9
  93. data/lib/emass_client/models/{controls_get.rb → controls_response_get_data_inner.rb} +155 -138
  94. data/lib/emass_client/models/controls_response_put.rb +14 -8
  95. data/lib/emass_client/models/{response403.rb → created.rb} +17 -11
  96. data/lib/emass_client/models/{response201_meta.rb → created_meta.rb} +16 -10
  97. data/lib/emass_client/models/definition_transitions.rb +14 -8
  98. data/lib/emass_client/models/{poam_response_post.rb → device_scan_results_response_post.rb} +17 -11
  99. data/lib/emass_client/models/{success200_response_data_inner.rb → device_scan_results_response_post_data_inner.rb} +51 -16
  100. data/lib/emass_client/models/{response401.rb → forbidden.rb} +17 -11
  101. data/lib/emass_client/models/{response403_meta.rb → forbidden_meta.rb} +16 -10
  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/{poam_response_delete.rb → hw_baseline_response_delete.rb} +17 -11
  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} +18 -12
  112. data/lib/emass_client/models/hw_baseline_response_get_data_inner.rb +429 -0
  113. data/lib/emass_client/models/{success200_response.rb → hw_baseline_response_post_put.rb} +17 -11
  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} +16 -10
  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} +16 -10
  118. data/lib/emass_client/models/length_required.rb +220 -0
  119. data/lib/emass_client/models/{response411_meta.rb → length_required_meta.rb} +16 -10
  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} +16 -10
  122. data/lib/emass_client/models/milestone_response_delete.rb +14 -8
  123. data/lib/emass_client/models/milestone_response_get.rb +14 -8
  124. data/lib/emass_client/models/milestone_response_get_milestone.rb +14 -8
  125. data/lib/emass_client/models/milestone_response_post.rb +14 -8
  126. data/lib/emass_client/models/milestone_response_put.rb +14 -8
  127. data/lib/emass_client/models/milestones_fields.rb +222 -0
  128. data/lib/emass_client/models/milestones_get.rb +43 -15
  129. data/lib/emass_client/models/milestones_put_post_delete.rb +19 -13
  130. data/lib/emass_client/models/milestones_request_delete_body_inner.rb +14 -8
  131. data/lib/emass_client/models/milestones_required_post.rb +23 -40
  132. data/lib/emass_client/models/milestones_required_post_milestones_inner.rb +265 -0
  133. data/lib/emass_client/models/milestones_required_put.rb +23 -57
  134. data/lib/emass_client/models/{ssps.rb → milestones_required_put_milestones_inner.rb} +89 -35
  135. data/lib/emass_client/models/{response404.rb → not_found.rb} +16 -10
  136. data/lib/emass_client/models/pac_get.rb +30 -13
  137. data/lib/emass_client/models/pac_post.rb +19 -13
  138. data/lib/emass_client/models/pac_response_get.rb +14 -8
  139. data/lib/emass_client/models/pac_response_post.rb +14 -8
  140. data/lib/emass_client/models/{dashboard_mock_response_pagination.rb → pagination.rb} +35 -29
  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 +19 -13
  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 +14 -8
  147. data/lib/emass_client/models/poam_required_fields.rb +305 -0
  148. data/lib/emass_client/models/poam_response_get_poams.rb +15 -9
  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 +15 -9
  151. data/lib/emass_client/models/{poam_get.rb → poam_response_get_systems_data_inner.rb} +325 -365
  152. data/lib/emass_client/models/{poam_response_put.rb → poam_response_post_put_delete.rb} +16 -10
  153. data/lib/emass_client/models/register.rb +14 -8
  154. data/lib/emass_client/models/register_data.rb +14 -8
  155. data/lib/emass_client/models/register_user_request_post_body.rb +24 -8
  156. data/lib/emass_client/models/response200.rb +14 -8
  157. data/lib/emass_client/models/role_category.rb +14 -8
  158. data/lib/emass_client/models/roles.rb +14 -8
  159. data/lib/emass_client/models/stage.rb +14 -8
  160. data/lib/emass_client/models/static_code_application_post.rb +14 -8
  161. data/lib/emass_client/models/static_code_post.rb +19 -13
  162. data/lib/emass_client/models/static_code_request_post_body.rb +14 -8
  163. data/lib/emass_client/models/static_code_request_post_body_application.rb +14 -8
  164. data/lib/emass_client/models/static_code_response_post.rb +14 -8
  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 +14 -8
  178. data/lib/emass_client/models/system_roles_category_response.rb +14 -8
  179. data/lib/emass_client/models/system_roles_response.rb +14 -8
  180. data/lib/emass_client/models/system_roles_response_data_inner.rb +14 -8
  181. data/lib/emass_client/models/systems.rb +708 -86
  182. data/lib/emass_client/models/systems_response.rb +14 -8
  183. data/lib/emass_client/models/test.rb +14 -8
  184. data/lib/emass_client/models/test_data.rb +14 -8
  185. data/lib/emass_client/models/test_results_get.rb +14 -8
  186. data/lib/emass_client/models/test_results_post.rb +19 -13
  187. data/lib/emass_client/models/test_results_response_get.rb +14 -8
  188. data/lib/emass_client/models/test_results_response_post.rb +14 -8
  189. data/lib/emass_client/models/unauthorized.rb +220 -0
  190. data/lib/emass_client/models/{response401_meta.rb → unauthorized_meta.rb} +16 -10
  191. data/lib/emass_client/models/users.rb +14 -8
  192. data/lib/emass_client/models/workflow_definition_get.rb +14 -8
  193. data/lib/emass_client/models/workflow_definition_response_get.rb +14 -8
  194. data/lib/emass_client/models/workflow_instance_get.rb +28 -11
  195. data/lib/emass_client/models/workflow_instance_response_get.rb +14 -8
  196. data/lib/emass_client/models/workflow_instances_response_get.rb +15 -9
  197. data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +14 -8
  198. data/lib/emass_client/version.rb +5 -5
  199. data/lib/emass_client.rb +101 -52
  200. metadata +105 -56
  201. data/lib/emass_client/api/fisma_inventory_summary_dashboards_api.rb +0 -168
  202. data/lib/emass_client/api/privacy_compliance_dashboards_api.rb +0 -168
  203. data/lib/emass_client/api/system_a20_summary_dashboard_api.rb +0 -95
  204. data/lib/emass_client/api/system_aa_summary_dashboard_api.rb +0 -95
  205. data/lib/emass_client/api/system_pl109_reporting_summary_dashboard_api.rb +0 -95
  206. data/lib/emass_client/api/threat_risks_dashboards_api.rb +0 -241
  207. data/lib/emass_client/models/mock_object.rb +0 -338
  208. data/lib/emass_client/models/response405.rb +0 -214
  209. data/lib/emass_client/models/response411.rb +0 -214
  210. data/lib/emass_client/models/response490.rb +0 -214
  211. data/lib/emass_client/models/response500.rb +0 -214
  212. data/lib/emass_client/models/workflow_instances_get.rb +0 -337
@@ -0,0 +1,563 @@
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 SwBaselineOptionalFields
18
+ # [Optional] Type of the software asset.
19
+ attr_accessor :software_type
20
+
21
+ # [Optional] Parent system of the software asset.
22
+ attr_accessor :parent_system
23
+
24
+ # [Optional] Subsystem of the software asset.
25
+ attr_accessor :subsystem
26
+
27
+ # [Optional] Network of the software asset.
28
+ attr_accessor :network
29
+
30
+ # [Optional] Hosting environment of the software asset.
31
+ attr_accessor :hosting_environment
32
+
33
+ # [Optional] Dependencies of the software asset.
34
+ attr_accessor :software_dependencies
35
+
36
+ # [Optional] Cryptographic hash of the software asset.
37
+ attr_accessor :cryptographic_hash
38
+
39
+ # [Optional] In-service data of the software asset.
40
+ attr_accessor :in_service_data
41
+
42
+ # [Optional] IT budget UII of the software asset.
43
+ attr_accessor :it_budget_uii
44
+
45
+ # [Optional] Fiscal year (FY) of the software asset.
46
+ attr_accessor :fiscal_year
47
+
48
+ # [Optional] Period of performance (POP) end date of the software asset.
49
+ attr_accessor :pop_end_date
50
+
51
+ # [Optional] License or contract number of the software asset.
52
+ attr_accessor :license_or_contract
53
+
54
+ # [Optional] License term of the software asset.
55
+ attr_accessor :license_term
56
+
57
+ # [Optional] Cost per license of the software asset. Number will be converted to display 2 decimal points.
58
+ attr_accessor :cost_per_license
59
+
60
+ # [Optional] Total licenses of the software asset.
61
+ attr_accessor :total_licenses
62
+
63
+ # [Optional] Total license cost of the software asset. Number will be converted to display 2 decimal points.
64
+ attr_accessor :total_license_cost
65
+
66
+ # [Optional] Number of licenses used for the software asset.
67
+ attr_accessor :licenses_used
68
+
69
+ # [Optional] Point of contact (POC) for the software asset.
70
+ attr_accessor :license_poc
71
+
72
+ # [Optional] License renewal date for the software asset.
73
+ attr_accessor :license_renewal_date
74
+
75
+ # [Optional] License expiration date for the software asset.
76
+ attr_accessor :license_expiration_date
77
+
78
+ # [Optional] Approval status of the software asset.
79
+ attr_accessor :approval_status
80
+
81
+ # [Optional] Release date of the software asset.
82
+ attr_accessor :release_date
83
+
84
+ # [Optional] Maintenance date of the software asset.
85
+ attr_accessor :maintenance_date
86
+
87
+ # [Optional] Retirement date of the software asset.
88
+ attr_accessor :retirement_date
89
+
90
+ # [Optional] End of life support date of the software asset.
91
+ attr_accessor :end_of_life_support_date
92
+
93
+ # [Optional] If set, the Extended End of Life/Support Date cannot occur prior to the End of Life/Support Date.
94
+ attr_accessor :extended_end_of_life_support_date
95
+
96
+ # [Optional] Indicates whether the asset is a critical information system asset.
97
+ attr_accessor :critical_asset
98
+
99
+ # [Optional] Location of the software asset.
100
+ attr_accessor :location
101
+
102
+ # [Optional] Purpose of the software asset.
103
+ attr_accessor :purpose
104
+
105
+ # [Optional] Unsupported operating system. VA only.
106
+ attr_accessor :unsupported_operating_system
107
+
108
+ # [Optional] Unapproved software from TRM. VA only
109
+ attr_accessor :unapproved_software_from_trm
110
+
111
+ # [Optional] Approved waiver. VA only
112
+ attr_accessor :approved_waiver
113
+
114
+ # Attribute mapping from ruby-style variable name to JSON key.
115
+ def self.attribute_map
116
+ {
117
+ :'software_type' => :'softwareType',
118
+ :'parent_system' => :'parentSystem',
119
+ :'subsystem' => :'subsystem',
120
+ :'network' => :'network',
121
+ :'hosting_environment' => :'hostingEnvironment',
122
+ :'software_dependencies' => :'softwareDependencies',
123
+ :'cryptographic_hash' => :'cryptographicHash',
124
+ :'in_service_data' => :'inServiceData',
125
+ :'it_budget_uii' => :'itBudgetUii',
126
+ :'fiscal_year' => :'fiscalYear',
127
+ :'pop_end_date' => :'popEndDate',
128
+ :'license_or_contract' => :'licenseOrContract',
129
+ :'license_term' => :'licenseTerm',
130
+ :'cost_per_license' => :'costPerLicense',
131
+ :'total_licenses' => :'totalLicenses',
132
+ :'total_license_cost' => :'totalLicenseCost',
133
+ :'licenses_used' => :'licensesUsed',
134
+ :'license_poc' => :'licensePoc',
135
+ :'license_renewal_date' => :'licenseRenewalDate',
136
+ :'license_expiration_date' => :'licenseExpirationDate',
137
+ :'approval_status' => :'approvalStatus',
138
+ :'release_date' => :'releaseDate',
139
+ :'maintenance_date' => :'maintenanceDate',
140
+ :'retirement_date' => :'retirementDate',
141
+ :'end_of_life_support_date' => :'endOfLifeSupportDate',
142
+ :'extended_end_of_life_support_date' => :'extendedEndOfLifeSupportDate',
143
+ :'critical_asset' => :'criticalAsset',
144
+ :'location' => :'location',
145
+ :'purpose' => :'purpose',
146
+ :'unsupported_operating_system' => :'unsupportedOperatingSystem',
147
+ :'unapproved_software_from_trm' => :'unapprovedSoftwareFromTrm',
148
+ :'approved_waiver' => :'approvedWaiver'
149
+ }
150
+ end
151
+
152
+ # Returns attribute mapping this model knows about
153
+ def self.acceptable_attribute_map
154
+ attribute_map
155
+ end
156
+
157
+ # Returns all the JSON keys this model knows about
158
+ def self.acceptable_attributes
159
+ acceptable_attribute_map.values
160
+ end
161
+
162
+ # Attribute type mapping.
163
+ def self.openapi_types
164
+ {
165
+ :'software_type' => :'String',
166
+ :'parent_system' => :'String',
167
+ :'subsystem' => :'String',
168
+ :'network' => :'String',
169
+ :'hosting_environment' => :'String',
170
+ :'software_dependencies' => :'String',
171
+ :'cryptographic_hash' => :'String',
172
+ :'in_service_data' => :'String',
173
+ :'it_budget_uii' => :'String',
174
+ :'fiscal_year' => :'String',
175
+ :'pop_end_date' => :'Integer',
176
+ :'license_or_contract' => :'String',
177
+ :'license_term' => :'String',
178
+ :'cost_per_license' => :'Float',
179
+ :'total_licenses' => :'Integer',
180
+ :'total_license_cost' => :'Float',
181
+ :'licenses_used' => :'Integer',
182
+ :'license_poc' => :'String',
183
+ :'license_renewal_date' => :'Integer',
184
+ :'license_expiration_date' => :'Integer',
185
+ :'approval_status' => :'String',
186
+ :'release_date' => :'Integer',
187
+ :'maintenance_date' => :'Integer',
188
+ :'retirement_date' => :'Integer',
189
+ :'end_of_life_support_date' => :'Integer',
190
+ :'extended_end_of_life_support_date' => :'Integer',
191
+ :'critical_asset' => :'Boolean',
192
+ :'location' => :'String',
193
+ :'purpose' => :'String',
194
+ :'unsupported_operating_system' => :'Boolean',
195
+ :'unapproved_software_from_trm' => :'Boolean',
196
+ :'approved_waiver' => :'Boolean'
197
+ }
198
+ end
199
+
200
+ # List of attributes with nullable: true
201
+ def self.openapi_nullable
202
+ Set.new([
203
+ :'software_type',
204
+ :'parent_system',
205
+ :'subsystem',
206
+ :'network',
207
+ :'hosting_environment',
208
+ :'software_dependencies',
209
+ :'cryptographic_hash',
210
+ :'in_service_data',
211
+ :'it_budget_uii',
212
+ :'fiscal_year',
213
+ :'pop_end_date',
214
+ :'license_or_contract',
215
+ :'license_term',
216
+ :'cost_per_license',
217
+ :'total_licenses',
218
+ :'total_license_cost',
219
+ :'licenses_used',
220
+ :'license_poc',
221
+ :'license_renewal_date',
222
+ :'license_expiration_date',
223
+ :'approval_status',
224
+ :'release_date',
225
+ :'maintenance_date',
226
+ :'retirement_date',
227
+ :'end_of_life_support_date',
228
+ :'extended_end_of_life_support_date',
229
+ :'critical_asset',
230
+ :'location',
231
+ :'purpose',
232
+ :'unsupported_operating_system',
233
+ :'unapproved_software_from_trm',
234
+ :'approved_waiver'
235
+ ])
236
+ end
237
+
238
+ # Initializes the object
239
+ # @param [Hash] attributes Model attributes in the form of hash
240
+ def initialize(attributes = {})
241
+ if (!attributes.is_a?(Hash))
242
+ fail ArgumentError, "The input argument (attributes) must be a hash in `EmassClient::SwBaselineOptionalFields` initialize method"
243
+ end
244
+
245
+ # check to see if the attribute exists and convert string to symbol for hash key
246
+ acceptable_attribute_map = self.class.acceptable_attribute_map
247
+ attributes = attributes.each_with_object({}) { |(k, v), h|
248
+ if (!acceptable_attribute_map.key?(k.to_sym))
249
+ fail ArgumentError, "`#{k}` is not a valid attribute in `EmassClient::SwBaselineOptionalFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
250
+ end
251
+ h[k.to_sym] = v
252
+ }
253
+
254
+ if attributes.key?(:'software_type')
255
+ self.software_type = attributes[:'software_type']
256
+ end
257
+
258
+ if attributes.key?(:'parent_system')
259
+ self.parent_system = attributes[:'parent_system']
260
+ end
261
+
262
+ if attributes.key?(:'subsystem')
263
+ self.subsystem = attributes[:'subsystem']
264
+ end
265
+
266
+ if attributes.key?(:'network')
267
+ self.network = attributes[:'network']
268
+ end
269
+
270
+ if attributes.key?(:'hosting_environment')
271
+ self.hosting_environment = attributes[:'hosting_environment']
272
+ end
273
+
274
+ if attributes.key?(:'software_dependencies')
275
+ self.software_dependencies = attributes[:'software_dependencies']
276
+ end
277
+
278
+ if attributes.key?(:'cryptographic_hash')
279
+ self.cryptographic_hash = attributes[:'cryptographic_hash']
280
+ end
281
+
282
+ if attributes.key?(:'in_service_data')
283
+ self.in_service_data = attributes[:'in_service_data']
284
+ end
285
+
286
+ if attributes.key?(:'it_budget_uii')
287
+ self.it_budget_uii = attributes[:'it_budget_uii']
288
+ end
289
+
290
+ if attributes.key?(:'fiscal_year')
291
+ self.fiscal_year = attributes[:'fiscal_year']
292
+ end
293
+
294
+ if attributes.key?(:'pop_end_date')
295
+ self.pop_end_date = attributes[:'pop_end_date']
296
+ end
297
+
298
+ if attributes.key?(:'license_or_contract')
299
+ self.license_or_contract = attributes[:'license_or_contract']
300
+ end
301
+
302
+ if attributes.key?(:'license_term')
303
+ self.license_term = attributes[:'license_term']
304
+ end
305
+
306
+ if attributes.key?(:'cost_per_license')
307
+ self.cost_per_license = attributes[:'cost_per_license']
308
+ end
309
+
310
+ if attributes.key?(:'total_licenses')
311
+ self.total_licenses = attributes[:'total_licenses']
312
+ end
313
+
314
+ if attributes.key?(:'total_license_cost')
315
+ self.total_license_cost = attributes[:'total_license_cost']
316
+ end
317
+
318
+ if attributes.key?(:'licenses_used')
319
+ self.licenses_used = attributes[:'licenses_used']
320
+ end
321
+
322
+ if attributes.key?(:'license_poc')
323
+ self.license_poc = attributes[:'license_poc']
324
+ end
325
+
326
+ if attributes.key?(:'license_renewal_date')
327
+ self.license_renewal_date = attributes[:'license_renewal_date']
328
+ end
329
+
330
+ if attributes.key?(:'license_expiration_date')
331
+ self.license_expiration_date = attributes[:'license_expiration_date']
332
+ end
333
+
334
+ if attributes.key?(:'approval_status')
335
+ self.approval_status = attributes[:'approval_status']
336
+ end
337
+
338
+ if attributes.key?(:'release_date')
339
+ self.release_date = attributes[:'release_date']
340
+ end
341
+
342
+ if attributes.key?(:'maintenance_date')
343
+ self.maintenance_date = attributes[:'maintenance_date']
344
+ end
345
+
346
+ if attributes.key?(:'retirement_date')
347
+ self.retirement_date = attributes[:'retirement_date']
348
+ end
349
+
350
+ if attributes.key?(:'end_of_life_support_date')
351
+ self.end_of_life_support_date = attributes[:'end_of_life_support_date']
352
+ end
353
+
354
+ if attributes.key?(:'extended_end_of_life_support_date')
355
+ self.extended_end_of_life_support_date = attributes[:'extended_end_of_life_support_date']
356
+ end
357
+
358
+ if attributes.key?(:'critical_asset')
359
+ self.critical_asset = attributes[:'critical_asset']
360
+ end
361
+
362
+ if attributes.key?(:'location')
363
+ self.location = attributes[:'location']
364
+ end
365
+
366
+ if attributes.key?(:'purpose')
367
+ self.purpose = attributes[:'purpose']
368
+ end
369
+
370
+ if attributes.key?(:'unsupported_operating_system')
371
+ self.unsupported_operating_system = attributes[:'unsupported_operating_system']
372
+ end
373
+
374
+ if attributes.key?(:'unapproved_software_from_trm')
375
+ self.unapproved_software_from_trm = attributes[:'unapproved_software_from_trm']
376
+ end
377
+
378
+ if attributes.key?(:'approved_waiver')
379
+ self.approved_waiver = attributes[:'approved_waiver']
380
+ end
381
+ end
382
+
383
+ # Show invalid properties with the reasons. Usually used together with valid?
384
+ # @return Array for valid properties with the reasons
385
+ def list_invalid_properties
386
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
387
+ invalid_properties = Array.new
388
+ invalid_properties
389
+ end
390
+
391
+ # Check to see if the all the properties in the model are valid
392
+ # @return true if the model is valid
393
+ def valid?
394
+ warn '[DEPRECATED] the `valid?` method is obsolete'
395
+ true
396
+ end
397
+
398
+ # Checks equality by comparing each attribute.
399
+ # @param [Object] Object to be compared
400
+ def ==(o)
401
+ return true if self.equal?(o)
402
+ self.class == o.class &&
403
+ software_type == o.software_type &&
404
+ parent_system == o.parent_system &&
405
+ subsystem == o.subsystem &&
406
+ network == o.network &&
407
+ hosting_environment == o.hosting_environment &&
408
+ software_dependencies == o.software_dependencies &&
409
+ cryptographic_hash == o.cryptographic_hash &&
410
+ in_service_data == o.in_service_data &&
411
+ it_budget_uii == o.it_budget_uii &&
412
+ fiscal_year == o.fiscal_year &&
413
+ pop_end_date == o.pop_end_date &&
414
+ license_or_contract == o.license_or_contract &&
415
+ license_term == o.license_term &&
416
+ cost_per_license == o.cost_per_license &&
417
+ total_licenses == o.total_licenses &&
418
+ total_license_cost == o.total_license_cost &&
419
+ licenses_used == o.licenses_used &&
420
+ license_poc == o.license_poc &&
421
+ license_renewal_date == o.license_renewal_date &&
422
+ license_expiration_date == o.license_expiration_date &&
423
+ approval_status == o.approval_status &&
424
+ release_date == o.release_date &&
425
+ maintenance_date == o.maintenance_date &&
426
+ retirement_date == o.retirement_date &&
427
+ end_of_life_support_date == o.end_of_life_support_date &&
428
+ extended_end_of_life_support_date == o.extended_end_of_life_support_date &&
429
+ critical_asset == o.critical_asset &&
430
+ location == o.location &&
431
+ purpose == o.purpose &&
432
+ unsupported_operating_system == o.unsupported_operating_system &&
433
+ unapproved_software_from_trm == o.unapproved_software_from_trm &&
434
+ approved_waiver == o.approved_waiver
435
+ end
436
+
437
+ # @see the `==` method
438
+ # @param [Object] Object to be compared
439
+ def eql?(o)
440
+ self == o
441
+ end
442
+
443
+ # Calculates hash code according to all attributes.
444
+ # @return [Integer] Hash code
445
+ def hash
446
+ [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
447
+ end
448
+
449
+ # Builds the object from hash
450
+ # @param [Hash] attributes Model attributes in the form of hash
451
+ # @return [Object] Returns the model itself
452
+ def self.build_from_hash(attributes)
453
+ return nil unless attributes.is_a?(Hash)
454
+ attributes = attributes.transform_keys(&:to_sym)
455
+ transformed_hash = {}
456
+ openapi_types.each_pair do |key, type|
457
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
458
+ transformed_hash["#{key}"] = nil
459
+ elsif type =~ /\AArray<(.*)>/i
460
+ # check to ensure the input is an array given that the attribute
461
+ # is documented as an array but the input is not
462
+ if attributes[attribute_map[key]].is_a?(Array)
463
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
464
+ end
465
+ elsif !attributes[attribute_map[key]].nil?
466
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
467
+ end
468
+ end
469
+ new(transformed_hash)
470
+ end
471
+
472
+ # Deserializes the data based on type
473
+ # @param string type Data type
474
+ # @param string value Value to be deserialized
475
+ # @return [Object] Deserialized data
476
+ def self._deserialize(type, value)
477
+ case type.to_sym
478
+ when :Time
479
+ Time.parse(value)
480
+ when :Date
481
+ Date.parse(value)
482
+ when :String
483
+ value.to_s
484
+ when :Integer
485
+ value.to_i
486
+ when :Float
487
+ value.to_f
488
+ when :Boolean
489
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
490
+ true
491
+ else
492
+ false
493
+ end
494
+ when :Object
495
+ # generic object (usually a Hash), return directly
496
+ value
497
+ when /\AArray<(?<inner_type>.+)>\z/
498
+ inner_type = Regexp.last_match[:inner_type]
499
+ value.map { |v| _deserialize(inner_type, v) }
500
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
501
+ k_type = Regexp.last_match[:k_type]
502
+ v_type = Regexp.last_match[:v_type]
503
+ {}.tap do |hash|
504
+ value.each do |k, v|
505
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
506
+ end
507
+ end
508
+ else # model
509
+ # models (e.g. Pet) or oneOf
510
+ klass = EmassClient.const_get(type)
511
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
512
+ end
513
+ end
514
+
515
+ # Returns the string representation of the object
516
+ # @return [String] String presentation of the object
517
+ def to_s
518
+ to_hash.to_s
519
+ end
520
+
521
+ # to_body is an alias to to_hash (backward compatibility)
522
+ # @return [Hash] Returns the object in the form of hash
523
+ def to_body
524
+ to_hash
525
+ end
526
+
527
+ # Returns the object in the form of hash
528
+ # @return [Hash] Returns the object in the form of hash
529
+ def to_hash
530
+ hash = {}
531
+ self.class.attribute_map.each_pair do |attr, param|
532
+ value = self.send(attr)
533
+ if value.nil?
534
+ is_nullable = self.class.openapi_nullable.include?(attr)
535
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
536
+ end
537
+
538
+ hash[param] = _to_hash(value)
539
+ end
540
+ hash
541
+ end
542
+
543
+ # Outputs non-array value in the form of hash
544
+ # For object, use to_hash. Otherwise, just return the value
545
+ # @param [Object] value Any valid value
546
+ # @return [Hash] Returns the value in the form of hash
547
+ def _to_hash(value)
548
+ if value.is_a?(Array)
549
+ value.compact.map { |v| _to_hash(v) }
550
+ elsif value.is_a?(Hash)
551
+ {}.tap do |hash|
552
+ value.each { |k, v| hash[k] = _to_hash(v) }
553
+ end
554
+ elsif value.respond_to? :to_hash
555
+ value.to_hash
556
+ else
557
+ value
558
+ end
559
+ end
560
+
561
+ end
562
+
563
+ end