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.
- checksums.yaml +4 -4
- data/README.md +174 -131
- data/lib/emass_client/api/artifacts_api.rb +47 -52
- data/lib/emass_client/api/artifacts_export_api.rb +5 -5
- data/lib/emass_client/api/cac_api.rb +12 -12
- data/lib/emass_client/api/cloud_resource_results_api.rb +83 -9
- data/lib/emass_client/api/cmmc_assessment_dashboards_api.rb +314 -0
- data/lib/emass_client/api/cmmc_assessments_api.rb +5 -5
- data/lib/emass_client/api/coast_guard_system_fisma_metrics_dashboard_api.rb +95 -0
- data/lib/emass_client/api/container_scan_results_api.rb +83 -9
- data/lib/emass_client/api/controls_api.rb +17 -17
- data/lib/emass_client/api/device_scan_results_api.rb +112 -0
- data/lib/emass_client/api/hardware_baseline_api.rb +313 -0
- data/lib/emass_client/api/milestones_api.rb +18 -18
- data/lib/emass_client/api/organization_migration_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/pac_api.rb +16 -16
- data/lib/emass_client/api/poam_api.rb +47 -44
- data/lib/emass_client/api/registration_api.rb +5 -5
- data/lib/emass_client/api/software_baseline_api.rb +313 -0
- data/lib/emass_client/api/static_code_scans_api.rb +9 -9
- data/lib/emass_client/api/system_application_findings_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_artifacts_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_associations_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_atciatc_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_conmon_integration_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_connectivity_ccsd_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_critical_assets_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_device_findings_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_fisma_metrics_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_hardware_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_migration_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_poam_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_ports_protocols_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_privacy_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_questionnaire_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_roles_api.rb +8 -16
- data/lib/emass_client/api/system_security_controls_dashboards_api.rb +241 -0
- data/lib/emass_client/api/system_sensor_hardware_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_sensor_software_dashboards_api.rb +241 -0
- data/lib/emass_client/api/system_software_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_status_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_terms_conditions_dashboards_api.rb +168 -0
- data/lib/emass_client/api/system_vulnerability_dashboard_api.rb +95 -0
- data/lib/emass_client/api/system_workflows_dashboards_api.rb +241 -0
- data/lib/emass_client/api/systems_api.rb +22 -28
- data/lib/emass_client/api/test_api.rb +5 -5
- data/lib/emass_client/api/test_results_api.rb +19 -16
- data/lib/emass_client/api/user_system_assignments_dashboard_api.rb +95 -0
- data/lib/emass_client/api/va_system_dashboards_api.rb +679 -0
- data/lib/emass_client/api/vaombfisma_dashboard_api.rb +95 -0
- data/lib/emass_client/api/workflow_definitions_api.rb +9 -9
- data/lib/emass_client/api/workflow_instances_api.rb +17 -14
- data/lib/emass_client/api_client.rb +46 -32
- data/lib/emass_client/api_error.rb +4 -4
- data/lib/emass_client/configuration.rb +42 -12
- data/lib/emass_client/models/{response201.rb → api_rule_failed.rb} +29 -28
- data/lib/emass_client/models/{response490_meta.rb → api_rule_failed_meta.rb} +34 -29
- data/lib/emass_client/models/artifacts_ids.rb +221 -0
- data/lib/emass_client/models/artifacts_optional_fields.rb +298 -0
- data/lib/emass_client/models/artifacts_read_only_fields.rb +255 -0
- data/lib/emass_client/models/artifacts_request_delete_body_inner.rb +26 -25
- data/lib/emass_client/models/artifacts_required_fields.rb +252 -0
- data/lib/emass_client/models/artifacts_response_del.rb +26 -25
- data/lib/emass_client/models/artifacts_response_del_data_inner.rb +26 -25
- data/lib/emass_client/models/artifacts_response_get.rb +27 -26
- data/lib/emass_client/models/{artifacts_get.rb → artifacts_response_get_data_inner.rb} +91 -70
- data/lib/emass_client/models/artifacts_response_put_post.rb +26 -25
- data/lib/emass_client/models/artifacts_response_put_post_data_inner.rb +40 -30
- data/lib/emass_client/models/{response403.rb → bad_request.rb} +29 -28
- data/lib/emass_client/models/{response400_meta.rb → bad_request_meta.rb} +34 -29
- data/lib/emass_client/models/cac_get.rb +26 -25
- data/lib/emass_client/models/cac_response_get.rb +26 -25
- data/lib/emass_client/models/cac_response_post.rb +26 -25
- data/lib/emass_client/models/cac_response_post_data_inner.rb +40 -30
- data/lib/emass_client/models/{poam_response_post.rb → cloud_resources_delete.rb} +29 -28
- data/lib/emass_client/models/cloud_resources_delete_body_inner.rb +221 -0
- data/lib/emass_client/models/{cloud_resources_post.rb → cloud_resources_post_delete.rb} +42 -32
- data/lib/emass_client/models/cloud_resources_response_post.rb +27 -26
- data/lib/emass_client/models/cmmc_get.rb +96 -140
- data/lib/emass_client/models/cmmc_response_get.rb +26 -25
- data/lib/emass_client/models/connectivity_ccsd.rb +26 -25
- data/lib/emass_client/models/container_resources_delete_body_inner.rb +221 -0
- data/lib/emass_client/models/{containers_resources_post.rb → containers_resources_post_delete.rb} +42 -32
- data/lib/emass_client/models/{poam_response_delete.rb → containers_response_delete.rb} +29 -28
- data/lib/emass_client/models/containers_response_post.rb +27 -26
- data/lib/emass_client/models/controls_conditional_fields.rb +357 -0
- data/lib/emass_client/models/controls_ids.rb +221 -0
- data/lib/emass_client/models/controls_optional_fields.rb +471 -0
- data/lib/emass_client/models/controls_put.rb +40 -30
- data/lib/emass_client/models/controls_read_only_fields.rb +277 -0
- data/lib/emass_client/models/controls_required_fields.rb +295 -0
- data/lib/emass_client/models/controls_response_get.rb +27 -26
- data/lib/emass_client/models/{controls_get.rb → controls_response_get_data_inner.rb} +210 -166
- data/lib/emass_client/models/controls_response_put.rb +26 -25
- data/lib/emass_client/models/{response400.rb → created.rb} +29 -28
- data/lib/emass_client/models/{response201_meta.rb → created_meta.rb} +34 -29
- data/lib/emass_client/models/definition_transitions.rb +26 -25
- data/lib/emass_client/models/{success200_response.rb → device_scan_results_response_post.rb} +29 -28
- data/lib/emass_client/models/{success200_response_data_inner.rb → device_scan_results_response_post_data_inner.rb} +72 -33
- data/lib/emass_client/models/{response401.rb → forbidden.rb} +29 -28
- data/lib/emass_client/models/{response403_meta.rb → forbidden_meta.rb} +34 -29
- data/lib/emass_client/models/get_system_status_details200_response.rb +240 -0
- data/lib/emass_client/models/hw_baseline_conditional_fields.rb +244 -0
- data/lib/emass_client/models/hw_baseline_ids.rb +221 -0
- data/lib/emass_client/models/hw_baseline_optional_fields.rb +354 -0
- data/lib/emass_client/models/hw_baseline_read_only_fields.rb +222 -0
- data/lib/emass_client/models/hw_baseline_request_delete_body_inner.rb +220 -0
- data/lib/emass_client/models/hw_baseline_required_fields.rb +221 -0
- data/lib/emass_client/models/hw_baseline_response_delete.rb +231 -0
- data/lib/emass_client/models/hw_baseline_response_delete_data_inner.rb +274 -0
- data/lib/emass_client/models/{dashboard_mock_response.rb → hw_baseline_response_get.rb} +30 -29
- data/lib/emass_client/models/hw_baseline_response_get_data_inner.rb +429 -0
- data/lib/emass_client/models/hw_baseline_response_post_put.rb +231 -0
- data/lib/emass_client/models/hw_baseline_response_post_put_data_inner.rb +274 -0
- data/lib/emass_client/models/{instances_transitions.rb → instance_transitions.rb} +28 -27
- data/lib/emass_client/models/internal_server_error.rb +220 -0
- data/lib/emass_client/models/{response500_meta.rb → internal_server_error_meta.rb} +34 -29
- data/lib/emass_client/models/length_required.rb +220 -0
- data/lib/emass_client/models/{response411_meta.rb → length_required_meta.rb} +34 -29
- data/lib/emass_client/models/method_not_allowed.rb +220 -0
- data/lib/emass_client/models/{response405_meta.rb → method_not_allowed_meta.rb} +34 -29
- data/lib/emass_client/models/milestone_response_delete.rb +231 -0
- data/lib/emass_client/models/milestone_response_get.rb +26 -25
- data/lib/emass_client/models/milestone_response_get_milestone.rb +26 -25
- data/lib/emass_client/models/milestone_response_post.rb +26 -25
- data/lib/emass_client/models/milestone_response_put.rb +26 -25
- data/lib/emass_client/models/milestones_fields.rb +222 -0
- data/lib/emass_client/models/milestones_get.rb +55 -32
- data/lib/emass_client/models/milestones_put_post_delete.rb +40 -30
- data/lib/emass_client/models/milestones_request_delete_body_inner.rb +26 -25
- data/lib/emass_client/models/milestones_required_post.rb +35 -53
- data/lib/emass_client/models/milestones_required_post_milestones_inner.rb +265 -0
- data/lib/emass_client/models/milestones_required_put.rb +35 -68
- data/lib/emass_client/models/{ssps.rb → milestones_required_put_milestones_inner.rb} +101 -52
- data/lib/emass_client/models/{response404.rb → not_found.rb} +34 -29
- data/lib/emass_client/models/pac_get.rb +29 -37
- data/lib/emass_client/models/pac_post.rb +40 -30
- data/lib/emass_client/models/pac_response_get.rb +26 -25
- data/lib/emass_client/models/pac_response_post.rb +26 -25
- data/lib/emass_client/models/{dashboard_mock_response_pagination.rb → pagination.rb} +47 -46
- data/lib/emass_client/models/poam_conditional_fields.rb +402 -0
- data/lib/emass_client/models/poam_ids.rb +241 -0
- data/lib/emass_client/models/poam_optional_fields.rb +409 -0
- data/lib/emass_client/models/poam_post_put_del.rb +40 -30
- data/lib/emass_client/models/poam_read_only_fields.rb +332 -0
- data/lib/emass_client/models/poam_request_delete_body_inner.rb +26 -25
- data/lib/emass_client/models/poam_required_fields.rb +305 -0
- data/lib/emass_client/models/poam_response_get_poams.rb +27 -26
- data/lib/emass_client/models/poam_response_get_poams_data.rb +824 -0
- data/lib/emass_client/models/poam_response_get_systems.rb +27 -26
- data/lib/emass_client/models/poam_response_get_systems_data_inner.rb +824 -0
- data/lib/emass_client/models/{poam_response_put.rb → poam_response_post_put_delete.rb} +28 -27
- data/lib/emass_client/models/register.rb +26 -25
- data/lib/emass_client/models/register_data.rb +26 -25
- data/lib/emass_client/models/register_user_request_post_body.rb +38 -25
- data/lib/emass_client/models/response200.rb +32 -27
- data/lib/emass_client/models/role_category.rb +26 -25
- data/lib/emass_client/models/roles.rb +26 -25
- data/lib/emass_client/models/stage.rb +26 -25
- data/lib/emass_client/models/{static_code_application.rb → static_code_application_post.rb} +28 -27
- data/lib/emass_client/models/static_code_post.rb +40 -30
- data/lib/emass_client/models/static_code_request_post_body.rb +27 -26
- data/lib/emass_client/models/static_code_request_post_body_application.rb +26 -25
- data/lib/emass_client/models/static_code_response_post.rb +26 -25
- data/lib/emass_client/models/sw_baseline_conditional_fields.rb +222 -0
- data/lib/emass_client/models/sw_baseline_ids.rb +221 -0
- data/lib/emass_client/models/sw_baseline_optional_fields.rb +563 -0
- data/lib/emass_client/models/sw_baseline_read_only_fields.rb +222 -0
- data/lib/emass_client/models/sw_baseline_request_delete_body_inner.rb +220 -0
- data/lib/emass_client/models/sw_baseline_required_fields.rb +241 -0
- data/lib/emass_client/models/sw_baseline_response_delete.rb +231 -0
- data/lib/emass_client/models/sw_baseline_response_delete_data_inner.rb +274 -0
- data/lib/emass_client/models/sw_baseline_response_get.rb +240 -0
- data/lib/emass_client/models/sw_baseline_response_get_data_inner.rb +624 -0
- data/lib/emass_client/models/sw_baseline_response_post_put.rb +231 -0
- data/lib/emass_client/models/sw_baseline_response_post_put_data_inner.rb +274 -0
- data/lib/emass_client/models/system_response.rb +26 -25
- data/lib/emass_client/models/system_roles_category_response.rb +26 -25
- data/lib/emass_client/models/system_roles_response.rb +26 -25
- data/lib/emass_client/models/system_roles_response_data_inner.rb +26 -25
- data/lib/emass_client/models/systems.rb +950 -113
- data/lib/emass_client/models/systems_response.rb +26 -25
- data/lib/emass_client/models/test.rb +26 -25
- data/lib/emass_client/models/test_data.rb +26 -25
- data/lib/emass_client/models/test_results_get.rb +37 -26
- data/lib/emass_client/models/test_results_post.rb +40 -30
- data/lib/emass_client/models/test_results_response_get.rb +26 -25
- data/lib/emass_client/models/test_results_response_post.rb +26 -25
- data/lib/emass_client/models/unauthorized.rb +220 -0
- data/lib/emass_client/models/{response401_meta.rb → unauthorized_meta.rb} +34 -29
- data/lib/emass_client/models/users.rb +26 -25
- data/lib/emass_client/models/workflow_definition_get.rb +26 -25
- data/lib/emass_client/models/workflow_definition_response_get.rb +26 -25
- data/lib/emass_client/models/workflow_instance_get.rb +40 -28
- data/lib/emass_client/models/workflow_instance_response_get.rb +26 -25
- data/lib/emass_client/models/workflow_instances_response_get.rb +27 -26
- data/lib/emass_client/models/workflow_instances_response_get_pagination.rb +26 -25
- data/lib/emass_client/version.rb +5 -5
- data/lib/emass_client.rb +112 -39
- metadata +116 -43
- data/lib/emass_client/api/dashboards_api.rb +0 -2139
- data/lib/emass_client/models/mock_object.rb +0 -343
- data/lib/emass_client/models/poam_get.rb +0 -683
- data/lib/emass_client/models/response405.rb +0 -219
- data/lib/emass_client/models/response411.rb +0 -219
- data/lib/emass_client/models/response490.rb +0 -219
- data/lib/emass_client/models/response500.rb +0 -219
- data/lib/emass_client/models/workflow_instances_get.rb +0 -342
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
#Enterprise Mission Assurance Support Service (eMASS)
|
3
3
|
|
4
|
-
#The
|
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
5
|
|
6
|
-
The version of the OpenAPI document: v3.
|
7
|
-
Contact: disa.
|
6
|
+
The version of the OpenAPI document: v3.22
|
7
|
+
Contact: disa.global.servicedesk.mbx.ma-ticket-request@mail.mil
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
|
9
|
+
Generator version: 7.12.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -14,52 +14,31 @@ require 'date'
|
|
14
14
|
require 'time'
|
15
15
|
|
16
16
|
module EmassClient
|
17
|
-
class
|
18
|
-
# [Required] Unique system
|
17
|
+
class ControlsResponseGetDataInner
|
18
|
+
# [Required] Unique eMASS system identifier.
|
19
19
|
attr_accessor :system_id
|
20
20
|
|
21
|
-
# [Read-only] Name of the system record.
|
22
|
-
attr_accessor :name
|
23
|
-
|
24
21
|
# [Required] Acronym of the system record.
|
25
22
|
attr_accessor :acronym
|
26
23
|
|
27
|
-
# [
|
28
|
-
attr_accessor :ccis
|
29
|
-
|
30
|
-
# [Read-only] Indicates whether a control is inherited.
|
31
|
-
attr_accessor :is_inherited
|
32
|
-
|
33
|
-
# [Read-only] List of overlays that affect the control.
|
34
|
-
attr_accessor :modified_by_overlays
|
35
|
-
|
36
|
-
# [Read-only] Indicates the manner by which a control was included in the system’s categorization.
|
37
|
-
attr_accessor :included_status
|
38
|
-
|
39
|
-
# [Read-only] Compliance of the control.
|
40
|
-
attr_accessor :compliance_status
|
41
|
-
|
42
|
-
# [Required] Include written description of Responsible Entities that are responsible for the Security Control. Character Limit = 2,000.
|
24
|
+
# [Required] Include written description of Responsible Entities that are responsible for the Security Control. Character Limit 2,000.
|
43
25
|
attr_accessor :responsible_entities
|
44
26
|
|
45
|
-
# [Optional] Implementation Status of the Security Control for the information system.
|
46
|
-
attr_accessor :implementation_status
|
47
|
-
|
48
|
-
# [Conditional] Indicate the type of Common Control Provider for an “Inherited” Security Control.
|
49
|
-
attr_accessor :common_control_provider
|
50
|
-
|
51
|
-
# [Conditional] Provide justification for Security Controls deemed Not Applicable to the system.
|
52
|
-
attr_accessor :na_justification
|
53
|
-
|
54
27
|
# [Required] Control designations
|
55
28
|
attr_accessor :control_designation
|
56
29
|
|
57
|
-
# [Required] Field is required for Implementation Plan.
|
30
|
+
# [Required] Field is required for Implementation Plan. Unix time format.
|
58
31
|
attr_accessor :estimated_completion_date
|
59
32
|
|
60
|
-
# [Required] Includes security control comments. Character Limit
|
33
|
+
# [Required] Includes security control comments. Character Limit 2,000.
|
61
34
|
attr_accessor :implementation_narrative
|
62
35
|
|
36
|
+
# [Conditional] Indicate the type of Common Control Provider for an Inherited Security Control.
|
37
|
+
attr_accessor :common_control_provider
|
38
|
+
|
39
|
+
# [Conditional] Provide justification for Security Controls deemed Not Applicable to the system.
|
40
|
+
attr_accessor :na_justification
|
41
|
+
|
63
42
|
# [Conditional] Criticality of Security Control regarding SLCM. Character Limit = 2,000.
|
64
43
|
attr_accessor :slcm_criticality
|
65
44
|
|
@@ -78,6 +57,9 @@ module EmassClient
|
|
78
57
|
# [Conditional] Additional comments for Security Control regarding SLCM. Character Limit = 4,000.
|
79
58
|
attr_accessor :slcm_comments
|
80
59
|
|
60
|
+
# [Optional] Implementation Status of the Security Control for the information system.
|
61
|
+
attr_accessor :implementation_status
|
62
|
+
|
81
63
|
# [Optional] Values include the following options (Very Low, Low, Moderate,High,Very High)
|
82
64
|
attr_accessor :severity
|
83
65
|
|
@@ -96,7 +78,7 @@ module EmassClient
|
|
96
78
|
# [Optional] Values include the following options (Very Low, Low, Moderate,High,Very High)
|
97
79
|
attr_accessor :impact
|
98
80
|
|
99
|
-
# [Optional] Include description of Security Control
|
81
|
+
# [Optional] Include description of Security Control's impact.
|
100
82
|
attr_accessor :impact_description
|
101
83
|
|
102
84
|
# [Optional] Values include the following options (Very Low, Low, Moderate,High,Very High)
|
@@ -105,6 +87,36 @@ module EmassClient
|
|
105
87
|
# [Optional] Identifies the assessment method / combination that will determine if the security requirements are implemented correctly.
|
106
88
|
attr_accessor :test_method
|
107
89
|
|
90
|
+
# [Optional] Identify any mitigations in place for the Non-Compliant Security Control's vulnerabilities. Character Limit = 2,000.
|
91
|
+
attr_accessor :mitigations
|
92
|
+
|
93
|
+
# [Optional] If the Financial Management (Navy) overlay is applied to the system, this field appears and can be populated. Character Limit = 2,000. Navy only.
|
94
|
+
attr_accessor :application_layer
|
95
|
+
|
96
|
+
# [Optional] If the Financial Management (Navy) overlay is applied to the system, this field appears and can be populated. Navy only.
|
97
|
+
attr_accessor :database_layer
|
98
|
+
|
99
|
+
# [Optional] If the Financial Management (Navy) overlay is applied to the system, this field appears and can be populated. Navy only.
|
100
|
+
attr_accessor :operating_system_layer
|
101
|
+
|
102
|
+
# [Read-only] Name of the system record.
|
103
|
+
attr_accessor :name
|
104
|
+
|
105
|
+
# [Read-only] Comma separated list of CCIs associated with the control.
|
106
|
+
attr_accessor :ccis
|
107
|
+
|
108
|
+
# [Read-only] Indicates whether a control is inherited.
|
109
|
+
attr_accessor :is_inherited
|
110
|
+
|
111
|
+
# [Read-only] List of overlays that affect the control.
|
112
|
+
attr_accessor :modified_by_overlays
|
113
|
+
|
114
|
+
# [Read-only] Indicates the manner by which a control was included in the system's categorization.
|
115
|
+
attr_accessor :included_status
|
116
|
+
|
117
|
+
# [Read-only] Compliance of the control.
|
118
|
+
attr_accessor :compliance_status
|
119
|
+
|
108
120
|
class EnumAttributeValidator
|
109
121
|
attr_reader :datatype
|
110
122
|
attr_reader :allowable_values
|
@@ -131,26 +143,20 @@ module EmassClient
|
|
131
143
|
def self.attribute_map
|
132
144
|
{
|
133
145
|
:'system_id' => :'systemId',
|
134
|
-
:'name' => :'name',
|
135
146
|
:'acronym' => :'acronym',
|
136
|
-
:'ccis' => :'ccis',
|
137
|
-
:'is_inherited' => :'isInherited',
|
138
|
-
:'modified_by_overlays' => :'modifiedByOverlays',
|
139
|
-
:'included_status' => :'includedStatus',
|
140
|
-
:'compliance_status' => :'complianceStatus',
|
141
147
|
:'responsible_entities' => :'responsibleEntities',
|
142
|
-
:'implementation_status' => :'implementationStatus',
|
143
|
-
:'common_control_provider' => :'commonControlProvider',
|
144
|
-
:'na_justification' => :'naJustification',
|
145
148
|
:'control_designation' => :'controlDesignation',
|
146
149
|
:'estimated_completion_date' => :'estimatedCompletionDate',
|
147
150
|
:'implementation_narrative' => :'implementationNarrative',
|
151
|
+
:'common_control_provider' => :'commonControlProvider',
|
152
|
+
:'na_justification' => :'naJustification',
|
148
153
|
:'slcm_criticality' => :'slcmCriticality',
|
149
154
|
:'slcm_frequency' => :'slcmFrequency',
|
150
155
|
:'slcm_method' => :'slcmMethod',
|
151
156
|
:'slcm_reporting' => :'slcmReporting',
|
152
157
|
:'slcm_tracking' => :'slcmTracking',
|
153
158
|
:'slcm_comments' => :'slcmComments',
|
159
|
+
:'implementation_status' => :'implementationStatus',
|
154
160
|
:'severity' => :'severity',
|
155
161
|
:'vulnerabilty_summary' => :'vulnerabiltySummary',
|
156
162
|
:'recommendations' => :'recommendations',
|
@@ -159,39 +165,48 @@ module EmassClient
|
|
159
165
|
:'impact' => :'impact',
|
160
166
|
:'impact_description' => :'impactDescription',
|
161
167
|
:'residual_risk_level' => :'residualRiskLevel',
|
162
|
-
:'test_method' => :'testMethod'
|
168
|
+
:'test_method' => :'testMethod',
|
169
|
+
:'mitigations' => :'mitigations',
|
170
|
+
:'application_layer' => :'applicationLayer',
|
171
|
+
:'database_layer' => :'databaseLayer',
|
172
|
+
:'operating_system_layer' => :'operatingSystemLayer',
|
173
|
+
:'name' => :'name',
|
174
|
+
:'ccis' => :'ccis',
|
175
|
+
:'is_inherited' => :'isInherited',
|
176
|
+
:'modified_by_overlays' => :'modifiedByOverlays',
|
177
|
+
:'included_status' => :'includedStatus',
|
178
|
+
:'compliance_status' => :'complianceStatus'
|
163
179
|
}
|
164
180
|
end
|
165
181
|
|
182
|
+
# Returns attribute mapping this model knows about
|
183
|
+
def self.acceptable_attribute_map
|
184
|
+
attribute_map
|
185
|
+
end
|
186
|
+
|
166
187
|
# Returns all the JSON keys this model knows about
|
167
188
|
def self.acceptable_attributes
|
168
|
-
|
189
|
+
acceptable_attribute_map.values
|
169
190
|
end
|
170
191
|
|
171
192
|
# Attribute type mapping.
|
172
193
|
def self.openapi_types
|
173
194
|
{
|
174
195
|
:'system_id' => :'Integer',
|
175
|
-
:'name' => :'String',
|
176
196
|
:'acronym' => :'String',
|
177
|
-
:'ccis' => :'String',
|
178
|
-
:'is_inherited' => :'Boolean',
|
179
|
-
:'modified_by_overlays' => :'String',
|
180
|
-
:'included_status' => :'String',
|
181
|
-
:'compliance_status' => :'String',
|
182
197
|
:'responsible_entities' => :'String',
|
183
|
-
:'implementation_status' => :'String',
|
184
|
-
:'common_control_provider' => :'String',
|
185
|
-
:'na_justification' => :'String',
|
186
198
|
:'control_designation' => :'String',
|
187
199
|
:'estimated_completion_date' => :'Integer',
|
188
200
|
:'implementation_narrative' => :'String',
|
201
|
+
:'common_control_provider' => :'String',
|
202
|
+
:'na_justification' => :'String',
|
189
203
|
:'slcm_criticality' => :'String',
|
190
204
|
:'slcm_frequency' => :'String',
|
191
205
|
:'slcm_method' => :'String',
|
192
206
|
:'slcm_reporting' => :'String',
|
193
207
|
:'slcm_tracking' => :'String',
|
194
208
|
:'slcm_comments' => :'String',
|
209
|
+
:'implementation_status' => :'String',
|
195
210
|
:'severity' => :'String',
|
196
211
|
:'vulnerabilty_summary' => :'String',
|
197
212
|
:'recommendations' => :'String',
|
@@ -200,20 +215,23 @@ module EmassClient
|
|
200
215
|
:'impact' => :'String',
|
201
216
|
:'impact_description' => :'String',
|
202
217
|
:'residual_risk_level' => :'String',
|
203
|
-
:'test_method' => :'String'
|
218
|
+
:'test_method' => :'String',
|
219
|
+
:'mitigations' => :'String',
|
220
|
+
:'application_layer' => :'String',
|
221
|
+
:'database_layer' => :'String',
|
222
|
+
:'operating_system_layer' => :'String',
|
223
|
+
:'name' => :'String',
|
224
|
+
:'ccis' => :'String',
|
225
|
+
:'is_inherited' => :'Boolean',
|
226
|
+
:'modified_by_overlays' => :'String',
|
227
|
+
:'included_status' => :'String',
|
228
|
+
:'compliance_status' => :'String'
|
204
229
|
}
|
205
230
|
end
|
206
231
|
|
207
232
|
# List of attributes with nullable: true
|
208
233
|
def self.openapi_nullable
|
209
234
|
Set.new([
|
210
|
-
:'name',
|
211
|
-
:'ccis',
|
212
|
-
:'is_inherited',
|
213
|
-
:'modified_by_overlays',
|
214
|
-
:'included_status',
|
215
|
-
:'compliance_status',
|
216
|
-
:'implementation_status',
|
217
235
|
:'common_control_provider',
|
218
236
|
:'na_justification',
|
219
237
|
:'slcm_criticality',
|
@@ -222,6 +240,7 @@ module EmassClient
|
|
222
240
|
:'slcm_reporting',
|
223
241
|
:'slcm_tracking',
|
224
242
|
:'slcm_comments',
|
243
|
+
:'implementation_status',
|
225
244
|
:'severity',
|
226
245
|
:'vulnerabilty_summary',
|
227
246
|
:'recommendations',
|
@@ -230,21 +249,43 @@ module EmassClient
|
|
230
249
|
:'impact',
|
231
250
|
:'impact_description',
|
232
251
|
:'residual_risk_level',
|
233
|
-
:'test_method'
|
252
|
+
:'test_method',
|
253
|
+
:'mitigations',
|
254
|
+
:'application_layer',
|
255
|
+
:'database_layer',
|
256
|
+
:'operating_system_layer',
|
257
|
+
:'name',
|
258
|
+
:'ccis',
|
259
|
+
:'is_inherited',
|
260
|
+
:'modified_by_overlays',
|
261
|
+
:'included_status',
|
262
|
+
:'compliance_status'
|
234
263
|
])
|
235
264
|
end
|
236
265
|
|
266
|
+
# List of class defined in allOf (OpenAPI v3)
|
267
|
+
def self.openapi_all_of
|
268
|
+
[
|
269
|
+
:'ControlsConditionalFields',
|
270
|
+
:'ControlsIds',
|
271
|
+
:'ControlsOptionalFields',
|
272
|
+
:'ControlsReadOnlyFields',
|
273
|
+
:'ControlsRequiredFields'
|
274
|
+
]
|
275
|
+
end
|
276
|
+
|
237
277
|
# Initializes the object
|
238
278
|
# @param [Hash] attributes Model attributes in the form of hash
|
239
279
|
def initialize(attributes = {})
|
240
280
|
if (!attributes.is_a?(Hash))
|
241
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `EmassClient::
|
281
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `EmassClient::ControlsResponseGetDataInner` initialize method"
|
242
282
|
end
|
243
283
|
|
244
284
|
# check to see if the attribute exists and convert string to symbol for hash key
|
285
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
245
286
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
246
|
-
if (!
|
247
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `EmassClient::
|
287
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
288
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `EmassClient::ControlsResponseGetDataInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
248
289
|
end
|
249
290
|
h[k.to_sym] = v
|
250
291
|
}
|
@@ -253,50 +294,14 @@ module EmassClient
|
|
253
294
|
self.system_id = attributes[:'system_id']
|
254
295
|
end
|
255
296
|
|
256
|
-
if attributes.key?(:'name')
|
257
|
-
self.name = attributes[:'name']
|
258
|
-
end
|
259
|
-
|
260
297
|
if attributes.key?(:'acronym')
|
261
298
|
self.acronym = attributes[:'acronym']
|
262
299
|
end
|
263
300
|
|
264
|
-
if attributes.key?(:'ccis')
|
265
|
-
self.ccis = attributes[:'ccis']
|
266
|
-
end
|
267
|
-
|
268
|
-
if attributes.key?(:'is_inherited')
|
269
|
-
self.is_inherited = attributes[:'is_inherited']
|
270
|
-
end
|
271
|
-
|
272
|
-
if attributes.key?(:'modified_by_overlays')
|
273
|
-
self.modified_by_overlays = attributes[:'modified_by_overlays']
|
274
|
-
end
|
275
|
-
|
276
|
-
if attributes.key?(:'included_status')
|
277
|
-
self.included_status = attributes[:'included_status']
|
278
|
-
end
|
279
|
-
|
280
|
-
if attributes.key?(:'compliance_status')
|
281
|
-
self.compliance_status = attributes[:'compliance_status']
|
282
|
-
end
|
283
|
-
|
284
301
|
if attributes.key?(:'responsible_entities')
|
285
302
|
self.responsible_entities = attributes[:'responsible_entities']
|
286
303
|
end
|
287
304
|
|
288
|
-
if attributes.key?(:'implementation_status')
|
289
|
-
self.implementation_status = attributes[:'implementation_status']
|
290
|
-
end
|
291
|
-
|
292
|
-
if attributes.key?(:'common_control_provider')
|
293
|
-
self.common_control_provider = attributes[:'common_control_provider']
|
294
|
-
end
|
295
|
-
|
296
|
-
if attributes.key?(:'na_justification')
|
297
|
-
self.na_justification = attributes[:'na_justification']
|
298
|
-
end
|
299
|
-
|
300
305
|
if attributes.key?(:'control_designation')
|
301
306
|
self.control_designation = attributes[:'control_designation']
|
302
307
|
end
|
@@ -309,6 +314,14 @@ module EmassClient
|
|
309
314
|
self.implementation_narrative = attributes[:'implementation_narrative']
|
310
315
|
end
|
311
316
|
|
317
|
+
if attributes.key?(:'common_control_provider')
|
318
|
+
self.common_control_provider = attributes[:'common_control_provider']
|
319
|
+
end
|
320
|
+
|
321
|
+
if attributes.key?(:'na_justification')
|
322
|
+
self.na_justification = attributes[:'na_justification']
|
323
|
+
end
|
324
|
+
|
312
325
|
if attributes.key?(:'slcm_criticality')
|
313
326
|
self.slcm_criticality = attributes[:'slcm_criticality']
|
314
327
|
end
|
@@ -333,6 +346,10 @@ module EmassClient
|
|
333
346
|
self.slcm_comments = attributes[:'slcm_comments']
|
334
347
|
end
|
335
348
|
|
349
|
+
if attributes.key?(:'implementation_status')
|
350
|
+
self.implementation_status = attributes[:'implementation_status']
|
351
|
+
end
|
352
|
+
|
336
353
|
if attributes.key?(:'severity')
|
337
354
|
self.severity = attributes[:'severity']
|
338
355
|
end
|
@@ -368,11 +385,52 @@ module EmassClient
|
|
368
385
|
if attributes.key?(:'test_method')
|
369
386
|
self.test_method = attributes[:'test_method']
|
370
387
|
end
|
388
|
+
|
389
|
+
if attributes.key?(:'mitigations')
|
390
|
+
self.mitigations = attributes[:'mitigations']
|
391
|
+
end
|
392
|
+
|
393
|
+
if attributes.key?(:'application_layer')
|
394
|
+
self.application_layer = attributes[:'application_layer']
|
395
|
+
end
|
396
|
+
|
397
|
+
if attributes.key?(:'database_layer')
|
398
|
+
self.database_layer = attributes[:'database_layer']
|
399
|
+
end
|
400
|
+
|
401
|
+
if attributes.key?(:'operating_system_layer')
|
402
|
+
self.operating_system_layer = attributes[:'operating_system_layer']
|
403
|
+
end
|
404
|
+
|
405
|
+
if attributes.key?(:'name')
|
406
|
+
self.name = attributes[:'name']
|
407
|
+
end
|
408
|
+
|
409
|
+
if attributes.key?(:'ccis')
|
410
|
+
self.ccis = attributes[:'ccis']
|
411
|
+
end
|
412
|
+
|
413
|
+
if attributes.key?(:'is_inherited')
|
414
|
+
self.is_inherited = attributes[:'is_inherited']
|
415
|
+
end
|
416
|
+
|
417
|
+
if attributes.key?(:'modified_by_overlays')
|
418
|
+
self.modified_by_overlays = attributes[:'modified_by_overlays']
|
419
|
+
end
|
420
|
+
|
421
|
+
if attributes.key?(:'included_status')
|
422
|
+
self.included_status = attributes[:'included_status']
|
423
|
+
end
|
424
|
+
|
425
|
+
if attributes.key?(:'compliance_status')
|
426
|
+
self.compliance_status = attributes[:'compliance_status']
|
427
|
+
end
|
371
428
|
end
|
372
429
|
|
373
430
|
# Show invalid properties with the reasons. Usually used together with valid?
|
374
431
|
# @return Array for valid properties with the reasons
|
375
432
|
def list_invalid_properties
|
433
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
376
434
|
invalid_properties = Array.new
|
377
435
|
invalid_properties
|
378
436
|
end
|
@@ -380,18 +438,17 @@ module EmassClient
|
|
380
438
|
# Check to see if the all the properties in the model are valid
|
381
439
|
# @return true if the model is valid
|
382
440
|
def valid?
|
383
|
-
|
384
|
-
return false unless modified_by_overlays_validator.valid?(@modified_by_overlays)
|
385
|
-
implementation_status_validator = EnumAttributeValidator.new('String', ["Planned", "Implemented", "Inherited", "Not Applicable", "Manually Inherited", "unknown_default_open_api"])
|
386
|
-
return false unless implementation_status_validator.valid?(@implementation_status)
|
387
|
-
common_control_provider_validator = EnumAttributeValidator.new('String', ["DoD", "Component", "Enclave", "unknown_default_open_api"])
|
388
|
-
return false unless common_control_provider_validator.valid?(@common_control_provider)
|
441
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
389
442
|
control_designation_validator = EnumAttributeValidator.new('String', ["Common", "System-Specific", "Hybrid", "unknown_default_open_api"])
|
390
443
|
return false unless control_designation_validator.valid?(@control_designation)
|
444
|
+
common_control_provider_validator = EnumAttributeValidator.new('String', ["DoD", "Component", "Enclave", "unknown_default_open_api"])
|
445
|
+
return false unless common_control_provider_validator.valid?(@common_control_provider)
|
391
446
|
slcm_frequency_validator = EnumAttributeValidator.new('String', ["Constantly", "Daily", "Weekly", "Monthly", "Quarterly", "Semi-Annually", "Annually", "Every Two Years", "Every Three Years", "Undetermined", "unknown_default_open_api"])
|
392
447
|
return false unless slcm_frequency_validator.valid?(@slcm_frequency)
|
393
448
|
slcm_method_validator = EnumAttributeValidator.new('String', ["Automated", "Semi-Automated", "Manual", "Undetermined", "unknown_default_open_api"])
|
394
449
|
return false unless slcm_method_validator.valid?(@slcm_method)
|
450
|
+
implementation_status_validator = EnumAttributeValidator.new('String', ["Planned", "Implemented", "Inherited", "Not Applicable", "Manually Inherited", "unknown_default_open_api"])
|
451
|
+
return false unless implementation_status_validator.valid?(@implementation_status)
|
395
452
|
severity_validator = EnumAttributeValidator.new('String', ["Very Low", "Low", "Moderate", "High", "Very High", "unknown_default_open_api"])
|
396
453
|
return false unless severity_validator.valid?(@severity)
|
397
454
|
relevance_of_threat_validator = EnumAttributeValidator.new('String', ["Very Low", "Low", "Moderate", "High", "Very High", "unknown_default_open_api"])
|
@@ -408,23 +465,13 @@ module EmassClient
|
|
408
465
|
end
|
409
466
|
|
410
467
|
# Custom attribute writer method checking allowed values (enum).
|
411
|
-
# @param [Object]
|
412
|
-
def
|
413
|
-
validator = EnumAttributeValidator.new('String', ["
|
414
|
-
unless validator.valid?(
|
415
|
-
fail ArgumentError, "invalid value for \"
|
416
|
-
end
|
417
|
-
@modified_by_overlays = modified_by_overlays
|
418
|
-
end
|
419
|
-
|
420
|
-
# Custom attribute writer method checking allowed values (enum).
|
421
|
-
# @param [Object] implementation_status Object to be assigned
|
422
|
-
def implementation_status=(implementation_status)
|
423
|
-
validator = EnumAttributeValidator.new('String', ["Planned", "Implemented", "Inherited", "Not Applicable", "Manually Inherited", "unknown_default_open_api"])
|
424
|
-
unless validator.valid?(implementation_status)
|
425
|
-
fail ArgumentError, "invalid value for \"implementation_status\", must be one of #{validator.allowable_values}."
|
468
|
+
# @param [Object] control_designation Object to be assigned
|
469
|
+
def control_designation=(control_designation)
|
470
|
+
validator = EnumAttributeValidator.new('String', ["Common", "System-Specific", "Hybrid", "unknown_default_open_api"])
|
471
|
+
unless validator.valid?(control_designation)
|
472
|
+
fail ArgumentError, "invalid value for \"control_designation\", must be one of #{validator.allowable_values}."
|
426
473
|
end
|
427
|
-
@
|
474
|
+
@control_designation = control_designation
|
428
475
|
end
|
429
476
|
|
430
477
|
# Custom attribute writer method checking allowed values (enum).
|
@@ -437,16 +484,6 @@ module EmassClient
|
|
437
484
|
@common_control_provider = common_control_provider
|
438
485
|
end
|
439
486
|
|
440
|
-
# Custom attribute writer method checking allowed values (enum).
|
441
|
-
# @param [Object] control_designation Object to be assigned
|
442
|
-
def control_designation=(control_designation)
|
443
|
-
validator = EnumAttributeValidator.new('String', ["Common", "System-Specific", "Hybrid", "unknown_default_open_api"])
|
444
|
-
unless validator.valid?(control_designation)
|
445
|
-
fail ArgumentError, "invalid value for \"control_designation\", must be one of #{validator.allowable_values}."
|
446
|
-
end
|
447
|
-
@control_designation = control_designation
|
448
|
-
end
|
449
|
-
|
450
487
|
# Custom attribute writer method checking allowed values (enum).
|
451
488
|
# @param [Object] slcm_frequency Object to be assigned
|
452
489
|
def slcm_frequency=(slcm_frequency)
|
@@ -467,6 +504,16 @@ module EmassClient
|
|
467
504
|
@slcm_method = slcm_method
|
468
505
|
end
|
469
506
|
|
507
|
+
# Custom attribute writer method checking allowed values (enum).
|
508
|
+
# @param [Object] implementation_status Object to be assigned
|
509
|
+
def implementation_status=(implementation_status)
|
510
|
+
validator = EnumAttributeValidator.new('String', ["Planned", "Implemented", "Inherited", "Not Applicable", "Manually Inherited", "unknown_default_open_api"])
|
511
|
+
unless validator.valid?(implementation_status)
|
512
|
+
fail ArgumentError, "invalid value for \"implementation_status\", must be one of #{validator.allowable_values}."
|
513
|
+
end
|
514
|
+
@implementation_status = implementation_status
|
515
|
+
end
|
516
|
+
|
470
517
|
# Custom attribute writer method checking allowed values (enum).
|
471
518
|
# @param [Object] severity Object to be assigned
|
472
519
|
def severity=(severity)
|
@@ -533,26 +580,20 @@ module EmassClient
|
|
533
580
|
return true if self.equal?(o)
|
534
581
|
self.class == o.class &&
|
535
582
|
system_id == o.system_id &&
|
536
|
-
name == o.name &&
|
537
583
|
acronym == o.acronym &&
|
538
|
-
ccis == o.ccis &&
|
539
|
-
is_inherited == o.is_inherited &&
|
540
|
-
modified_by_overlays == o.modified_by_overlays &&
|
541
|
-
included_status == o.included_status &&
|
542
|
-
compliance_status == o.compliance_status &&
|
543
584
|
responsible_entities == o.responsible_entities &&
|
544
|
-
implementation_status == o.implementation_status &&
|
545
|
-
common_control_provider == o.common_control_provider &&
|
546
|
-
na_justification == o.na_justification &&
|
547
585
|
control_designation == o.control_designation &&
|
548
586
|
estimated_completion_date == o.estimated_completion_date &&
|
549
587
|
implementation_narrative == o.implementation_narrative &&
|
588
|
+
common_control_provider == o.common_control_provider &&
|
589
|
+
na_justification == o.na_justification &&
|
550
590
|
slcm_criticality == o.slcm_criticality &&
|
551
591
|
slcm_frequency == o.slcm_frequency &&
|
552
592
|
slcm_method == o.slcm_method &&
|
553
593
|
slcm_reporting == o.slcm_reporting &&
|
554
594
|
slcm_tracking == o.slcm_tracking &&
|
555
595
|
slcm_comments == o.slcm_comments &&
|
596
|
+
implementation_status == o.implementation_status &&
|
556
597
|
severity == o.severity &&
|
557
598
|
vulnerabilty_summary == o.vulnerabilty_summary &&
|
558
599
|
recommendations == o.recommendations &&
|
@@ -561,7 +602,17 @@ module EmassClient
|
|
561
602
|
impact == o.impact &&
|
562
603
|
impact_description == o.impact_description &&
|
563
604
|
residual_risk_level == o.residual_risk_level &&
|
564
|
-
test_method == o.test_method
|
605
|
+
test_method == o.test_method &&
|
606
|
+
mitigations == o.mitigations &&
|
607
|
+
application_layer == o.application_layer &&
|
608
|
+
database_layer == o.database_layer &&
|
609
|
+
operating_system_layer == o.operating_system_layer &&
|
610
|
+
name == o.name &&
|
611
|
+
ccis == o.ccis &&
|
612
|
+
is_inherited == o.is_inherited &&
|
613
|
+
modified_by_overlays == o.modified_by_overlays &&
|
614
|
+
included_status == o.included_status &&
|
615
|
+
compliance_status == o.compliance_status
|
565
616
|
end
|
566
617
|
|
567
618
|
# @see the `==` method
|
@@ -573,44 +624,37 @@ module EmassClient
|
|
573
624
|
# Calculates hash code according to all attributes.
|
574
625
|
# @return [Integer] Hash code
|
575
626
|
def hash
|
576
|
-
[system_id,
|
627
|
+
[system_id, acronym, responsible_entities, control_designation, estimated_completion_date, implementation_narrative, common_control_provider, na_justification, slcm_criticality, slcm_frequency, slcm_method, slcm_reporting, slcm_tracking, slcm_comments, implementation_status, severity, vulnerabilty_summary, recommendations, relevance_of_threat, likelihood, impact, impact_description, residual_risk_level, test_method, mitigations, application_layer, database_layer, operating_system_layer, name, ccis, is_inherited, modified_by_overlays, included_status, compliance_status].hash
|
577
628
|
end
|
578
629
|
|
579
630
|
# Builds the object from hash
|
580
631
|
# @param [Hash] attributes Model attributes in the form of hash
|
581
632
|
# @return [Object] Returns the model itself
|
582
633
|
def self.build_from_hash(attributes)
|
583
|
-
new.build_from_hash(attributes)
|
584
|
-
end
|
585
|
-
|
586
|
-
# Builds the object from hash
|
587
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
588
|
-
# @return [Object] Returns the model itself
|
589
|
-
def build_from_hash(attributes)
|
590
634
|
return nil unless attributes.is_a?(Hash)
|
591
635
|
attributes = attributes.transform_keys(&:to_sym)
|
592
|
-
|
593
|
-
|
594
|
-
|
636
|
+
transformed_hash = {}
|
637
|
+
openapi_types.each_pair do |key, type|
|
638
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
639
|
+
transformed_hash["#{key}"] = nil
|
595
640
|
elsif type =~ /\AArray<(.*)>/i
|
596
641
|
# check to ensure the input is an array given that the attribute
|
597
642
|
# is documented as an array but the input is not
|
598
|
-
if attributes[
|
599
|
-
|
643
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
644
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
600
645
|
end
|
601
|
-
elsif !attributes[
|
602
|
-
|
646
|
+
elsif !attributes[attribute_map[key]].nil?
|
647
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
603
648
|
end
|
604
649
|
end
|
605
|
-
|
606
|
-
self
|
650
|
+
new(transformed_hash)
|
607
651
|
end
|
608
652
|
|
609
653
|
# Deserializes the data based on type
|
610
654
|
# @param string type Data type
|
611
655
|
# @param string value Value to be deserialized
|
612
656
|
# @return [Object] Deserialized data
|
613
|
-
def _deserialize(type, value)
|
657
|
+
def self._deserialize(type, value)
|
614
658
|
case type.to_sym
|
615
659
|
when :Time
|
616
660
|
Time.parse(value)
|
@@ -645,7 +689,7 @@ module EmassClient
|
|
645
689
|
else # model
|
646
690
|
# models (e.g. Pet) or oneOf
|
647
691
|
klass = EmassClient.const_get(type)
|
648
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
692
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
649
693
|
end
|
650
694
|
end
|
651
695
|
|