cyber_trackr_live 1.0.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 (38) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG-GEM.md +47 -0
  3. data/CODE_OF_CONDUCT.md +20 -0
  4. data/CONTRIBUTING.md +422 -0
  5. data/LICENSE.md +16 -0
  6. data/NOTICE.md +16 -0
  7. data/README-GEM.md +75 -0
  8. data/SECURITY.md +86 -0
  9. data/cyber_trackr_live.gemspec +56 -0
  10. data/examples/cyber_trackr_client.rb +208 -0
  11. data/examples/fetch-complete-stig +174 -0
  12. data/examples/fetch-stig-complete +67 -0
  13. data/examples/fetch-stig-direct +99 -0
  14. data/examples/use_helper.rb +50 -0
  15. data/lib/cyber_trackr_client/api/api_documentation_api.rb +79 -0
  16. data/lib/cyber_trackr_client/api/cci_api.rb +147 -0
  17. data/lib/cyber_trackr_client/api/documents_api.rb +276 -0
  18. data/lib/cyber_trackr_client/api/rmf_controls_api.rb +272 -0
  19. data/lib/cyber_trackr_client/api/scap_api.rb +276 -0
  20. data/lib/cyber_trackr_client/api_client.rb +437 -0
  21. data/lib/cyber_trackr_client/api_error.rb +58 -0
  22. data/lib/cyber_trackr_client/configuration.rb +400 -0
  23. data/lib/cyber_trackr_client/models/api_documentation.rb +238 -0
  24. data/lib/cyber_trackr_client/models/assessment_procedure.rb +321 -0
  25. data/lib/cyber_trackr_client/models/cci_detail.rb +391 -0
  26. data/lib/cyber_trackr_client/models/document_detail.rb +434 -0
  27. data/lib/cyber_trackr_client/models/document_version.rb +385 -0
  28. data/lib/cyber_trackr_client/models/error.rb +313 -0
  29. data/lib/cyber_trackr_client/models/requirement_detail.rb +580 -0
  30. data/lib/cyber_trackr_client/models/requirement_summary.rb +360 -0
  31. data/lib/cyber_trackr_client/models/rmf_control_detail.rb +436 -0
  32. data/lib/cyber_trackr_client/models/rmf_control_list.rb +241 -0
  33. data/lib/cyber_trackr_client/version.rb +15 -0
  34. data/lib/cyber_trackr_client.rb +54 -0
  35. data/lib/cyber_trackr_helper.rb +269 -0
  36. data/lib/rubocop/cop/cyber_trackr_api/README.md +81 -0
  37. data/openapi/openapi.yaml +798 -0
  38. metadata +271 -0
@@ -0,0 +1,79 @@
1
+ =begin
2
+ #Cyber Trackr API
3
+
4
+ #Complete OpenAPI 3.1.1 specification for cyber.trackr.live API. This API provides access to DISA STIGs, SRGs, RMF controls, CCIs, and SCAP data. ## DISA Cybersecurity Ecosystem Hierarchy ``` NIST RMF Controls (high-level policy framework) ↓ (decomposed into atomic, testable statements) CCIs (Control Correlation Identifiers - bridge policy to implementation) ↓ (grouped by technology class into generic requirements) SRGs (Security Requirements Guides - technology class \"what\" to do) ↓ (implemented as vendor-specific \"how\" to do it) STIGs (Security Technical Implementation Guides - vendor/product specific) ↓ (automated versions for scanning tools) SCAP (Security Content Automation Protocol documents) ``` ## Critical Relationships - **RMF Controls** contain assessment procedures that reference **CCIs** - **CCIs** map back to **RMF Controls** and forward to **STIG/SRG requirements** - **SRGs** define generic technology requirements that **STIGs** implement specifically - **V-IDs** can appear in both SRG and corresponding STIG (same requirement, different specificity) - **SV-IDs** are XCCDF rule identifiers with revision tracking across document releases
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module CyberTrackrClient
16
+ class APIDocumentationApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get API documentation
23
+ # Returns self-documenting schema showing all available endpoints
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [ApiDocumentation]
26
+ def get_api_documentation(opts = {})
27
+ data, _status_code, _headers = get_api_documentation_with_http_info(opts)
28
+ data
29
+ end
30
+
31
+ # Get API documentation
32
+ # Returns self-documenting schema showing all available endpoints
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(ApiDocumentation, Integer, Hash)>] ApiDocumentation data, response status code and response headers
35
+ def get_api_documentation_with_http_info(opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: APIDocumentationApi.get_api_documentation ...'
38
+ end
39
+ # resource path
40
+ local_var_path = '/'
41
+
42
+ # query parameters
43
+ query_params = opts[:query_params] || {}
44
+
45
+ # header parameters
46
+ header_params = opts[:header_params] || {}
47
+ # HTTP header 'Accept' (if needed)
48
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
49
+
50
+ # form parameters
51
+ form_params = opts[:form_params] || {}
52
+
53
+ # http body (model)
54
+ post_body = opts[:debug_body]
55
+
56
+ # return_type
57
+ return_type = opts[:debug_return_type] || 'ApiDocumentation'
58
+
59
+ # auth_names
60
+ auth_names = opts[:debug_auth_names] || []
61
+
62
+ new_options = opts.merge(
63
+ :operation => :"APIDocumentationApi.get_api_documentation",
64
+ :header_params => header_params,
65
+ :query_params => query_params,
66
+ :form_params => form_params,
67
+ :body => post_body,
68
+ :auth_names => auth_names,
69
+ :return_type => return_type
70
+ )
71
+
72
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
73
+ if @api_client.config.debugging
74
+ @api_client.config.logger.debug "API called: APIDocumentationApi#get_api_documentation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
+ end
76
+ return data, status_code, headers
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,147 @@
1
+ =begin
2
+ #Cyber Trackr API
3
+
4
+ #Complete OpenAPI 3.1.1 specification for cyber.trackr.live API. This API provides access to DISA STIGs, SRGs, RMF controls, CCIs, and SCAP data. ## DISA Cybersecurity Ecosystem Hierarchy ``` NIST RMF Controls (high-level policy framework) ↓ (decomposed into atomic, testable statements) CCIs (Control Correlation Identifiers - bridge policy to implementation) ↓ (grouped by technology class into generic requirements) SRGs (Security Requirements Guides - technology class \"what\" to do) ↓ (implemented as vendor-specific \"how\" to do it) STIGs (Security Technical Implementation Guides - vendor/product specific) ↓ (automated versions for scanning tools) SCAP (Security Content Automation Protocol documents) ``` ## Critical Relationships - **RMF Controls** contain assessment procedures that reference **CCIs** - **CCIs** map back to **RMF Controls** and forward to **STIG/SRG requirements** - **SRGs** define generic technology requirements that **STIGs** implement specifically - **V-IDs** can appear in both SRG and corresponding STIG (same requirement, different specificity) - **SV-IDs** are XCCDF rule identifiers with revision tracking across document releases
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module CyberTrackrClient
16
+ class CCIApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get CCI details with RMF mapping
23
+ # Returns complete CCI details including RMF control mapping
24
+ # @param item [String] Control Correlation Identifier (CCI-XXXXXX format)
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [CciDetail]
27
+ def get_cci_details(item, opts = {})
28
+ data, _status_code, _headers = get_cci_details_with_http_info(item, opts)
29
+ data
30
+ end
31
+
32
+ # Get CCI details with RMF mapping
33
+ # Returns complete CCI details including RMF control mapping
34
+ # @param item [String] Control Correlation Identifier (CCI-XXXXXX format)
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(CciDetail, Integer, Hash)>] CciDetail data, response status code and response headers
37
+ def get_cci_details_with_http_info(item, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: CCIApi.get_cci_details ...'
40
+ end
41
+ # verify the required parameter 'item' is set
42
+ if @api_client.config.client_side_validation && item.nil?
43
+ fail ArgumentError, "Missing the required parameter 'item' when calling CCIApi.get_cci_details"
44
+ end
45
+ pattern = Regexp.new(/^CCI-\d{6}$/)
46
+ if @api_client.config.client_side_validation && item !~ pattern
47
+ fail ArgumentError, "invalid value for 'item' when calling CCIApi.get_cci_details, must conform to the pattern #{pattern}."
48
+ end
49
+
50
+ # resource path
51
+ local_var_path = '/cci/{item}'.sub('{' + 'item' + '}', CGI.escape(item.to_s))
52
+
53
+ # query parameters
54
+ query_params = opts[:query_params] || {}
55
+
56
+ # header parameters
57
+ header_params = opts[:header_params] || {}
58
+ # HTTP header 'Accept' (if needed)
59
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body]
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'CciDetail'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || []
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"CCIApi.get_cci_details",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: CCIApi#get_cci_details\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # List all Control Correlation Identifiers
91
+ # Returns complete list of CCIs with their definitions
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [Hash<String, String>]
94
+ def list_ccis(opts = {})
95
+ data, _status_code, _headers = list_ccis_with_http_info(opts)
96
+ data
97
+ end
98
+
99
+ # List all Control Correlation Identifiers
100
+ # Returns complete list of CCIs with their definitions
101
+ # @param [Hash] opts the optional parameters
102
+ # @return [Array<(Hash<String, String>, Integer, Hash)>] Hash<String, String> data, response status code and response headers
103
+ def list_ccis_with_http_info(opts = {})
104
+ if @api_client.config.debugging
105
+ @api_client.config.logger.debug 'Calling API: CCIApi.list_ccis ...'
106
+ end
107
+ # resource path
108
+ local_var_path = '/cci'
109
+
110
+ # query parameters
111
+ query_params = opts[:query_params] || {}
112
+
113
+ # header parameters
114
+ header_params = opts[:header_params] || {}
115
+ # HTTP header 'Accept' (if needed)
116
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
117
+
118
+ # form parameters
119
+ form_params = opts[:form_params] || {}
120
+
121
+ # http body (model)
122
+ post_body = opts[:debug_body]
123
+
124
+ # return_type
125
+ return_type = opts[:debug_return_type] || 'Hash<String, String>'
126
+
127
+ # auth_names
128
+ auth_names = opts[:debug_auth_names] || []
129
+
130
+ new_options = opts.merge(
131
+ :operation => :"CCIApi.list_ccis",
132
+ :header_params => header_params,
133
+ :query_params => query_params,
134
+ :form_params => form_params,
135
+ :body => post_body,
136
+ :auth_names => auth_names,
137
+ :return_type => return_type
138
+ )
139
+
140
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
141
+ if @api_client.config.debugging
142
+ @api_client.config.logger.debug "API called: CCIApi#list_ccis\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
143
+ end
144
+ return data, status_code, headers
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,276 @@
1
+ =begin
2
+ #Cyber Trackr API
3
+
4
+ #Complete OpenAPI 3.1.1 specification for cyber.trackr.live API. This API provides access to DISA STIGs, SRGs, RMF controls, CCIs, and SCAP data. ## DISA Cybersecurity Ecosystem Hierarchy ``` NIST RMF Controls (high-level policy framework) ↓ (decomposed into atomic, testable statements) CCIs (Control Correlation Identifiers - bridge policy to implementation) ↓ (grouped by technology class into generic requirements) SRGs (Security Requirements Guides - technology class \"what\" to do) ↓ (implemented as vendor-specific \"how\" to do it) STIGs (Security Technical Implementation Guides - vendor/product specific) ↓ (automated versions for scanning tools) SCAP (Security Content Automation Protocol documents) ``` ## Critical Relationships - **RMF Controls** contain assessment procedures that reference **CCIs** - **CCIs** map back to **RMF Controls** and forward to **STIG/SRG requirements** - **SRGs** define generic technology requirements that **STIGs** implement specifically - **V-IDs** can appear in both SRG and corresponding STIG (same requirement, different specificity) - **SV-IDs** are XCCDF rule identifiers with revision tracking across document releases
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module CyberTrackrClient
16
+ class DocumentsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get STIG or SRG document details
23
+ # Returns complete document with all requirements
24
+ # @param title [String] Document title exactly as it appears in the list endpoint
25
+ # @param version [String] Major version number of the document
26
+ # @param release [String] Release number within the version
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [DocumentDetail]
29
+ def get_document(title, version, release, opts = {})
30
+ data, _status_code, _headers = get_document_with_http_info(title, version, release, opts)
31
+ data
32
+ end
33
+
34
+ # Get STIG or SRG document details
35
+ # Returns complete document with all requirements
36
+ # @param title [String] Document title exactly as it appears in the list endpoint
37
+ # @param version [String] Major version number of the document
38
+ # @param release [String] Release number within the version
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [Array<(DocumentDetail, Integer, Hash)>] DocumentDetail data, response status code and response headers
41
+ def get_document_with_http_info(title, version, release, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: DocumentsApi.get_document ...'
44
+ end
45
+ # verify the required parameter 'title' is set
46
+ if @api_client.config.client_side_validation && title.nil?
47
+ fail ArgumentError, "Missing the required parameter 'title' when calling DocumentsApi.get_document"
48
+ end
49
+ if @api_client.config.client_side_validation && title.to_s.length > 200
50
+ fail ArgumentError, 'invalid value for "title" when calling DocumentsApi.get_document, the character length must be smaller than or equal to 200.'
51
+ end
52
+
53
+ if @api_client.config.client_side_validation && title.to_s.length < 1
54
+ fail ArgumentError, 'invalid value for "title" when calling DocumentsApi.get_document, the character length must be greater than or equal to 1.'
55
+ end
56
+
57
+ # verify the required parameter 'version' is set
58
+ if @api_client.config.client_side_validation && version.nil?
59
+ fail ArgumentError, "Missing the required parameter 'version' when calling DocumentsApi.get_document"
60
+ end
61
+ pattern = Regexp.new(/^\d+$/)
62
+ if @api_client.config.client_side_validation && version !~ pattern
63
+ fail ArgumentError, "invalid value for 'version' when calling DocumentsApi.get_document, must conform to the pattern #{pattern}."
64
+ end
65
+
66
+ # verify the required parameter 'release' is set
67
+ if @api_client.config.client_side_validation && release.nil?
68
+ fail ArgumentError, "Missing the required parameter 'release' when calling DocumentsApi.get_document"
69
+ end
70
+ pattern = Regexp.new(/^\d+(\.\d+)?$/)
71
+ if @api_client.config.client_side_validation && release !~ pattern
72
+ fail ArgumentError, "invalid value for 'release' when calling DocumentsApi.get_document, must conform to the pattern #{pattern}."
73
+ end
74
+
75
+ # resource path
76
+ local_var_path = '/stig/{title}/{version}/{release}'.sub('{' + 'title' + '}', CGI.escape(title.to_s)).sub('{' + 'version' + '}', CGI.escape(version.to_s)).sub('{' + 'release' + '}', CGI.escape(release.to_s))
77
+
78
+ # query parameters
79
+ query_params = opts[:query_params] || {}
80
+
81
+ # header parameters
82
+ header_params = opts[:header_params] || {}
83
+ # HTTP header 'Accept' (if needed)
84
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
85
+
86
+ # form parameters
87
+ form_params = opts[:form_params] || {}
88
+
89
+ # http body (model)
90
+ post_body = opts[:debug_body]
91
+
92
+ # return_type
93
+ return_type = opts[:debug_return_type] || 'DocumentDetail'
94
+
95
+ # auth_names
96
+ auth_names = opts[:debug_auth_names] || []
97
+
98
+ new_options = opts.merge(
99
+ :operation => :"DocumentsApi.get_document",
100
+ :header_params => header_params,
101
+ :query_params => query_params,
102
+ :form_params => form_params,
103
+ :body => post_body,
104
+ :auth_names => auth_names,
105
+ :return_type => return_type
106
+ )
107
+
108
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
109
+ if @api_client.config.debugging
110
+ @api_client.config.logger.debug "API called: DocumentsApi#get_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
111
+ end
112
+ return data, status_code, headers
113
+ end
114
+
115
+ # Get individual STIG/SRG requirement details
116
+ # Returns complete details for a specific requirement
117
+ # @param title [String] Document title exactly as it appears in the list endpoint
118
+ # @param version [String] Major version number of the document
119
+ # @param release [String] Release number within the version
120
+ # @param vuln [String] Vulnerability/Requirement ID (V-XXXXXX format)
121
+ # @param [Hash] opts the optional parameters
122
+ # @return [RequirementDetail]
123
+ def get_requirement(title, version, release, vuln, opts = {})
124
+ data, _status_code, _headers = get_requirement_with_http_info(title, version, release, vuln, opts)
125
+ data
126
+ end
127
+
128
+ # Get individual STIG/SRG requirement details
129
+ # Returns complete details for a specific requirement
130
+ # @param title [String] Document title exactly as it appears in the list endpoint
131
+ # @param version [String] Major version number of the document
132
+ # @param release [String] Release number within the version
133
+ # @param vuln [String] Vulnerability/Requirement ID (V-XXXXXX format)
134
+ # @param [Hash] opts the optional parameters
135
+ # @return [Array<(RequirementDetail, Integer, Hash)>] RequirementDetail data, response status code and response headers
136
+ def get_requirement_with_http_info(title, version, release, vuln, opts = {})
137
+ if @api_client.config.debugging
138
+ @api_client.config.logger.debug 'Calling API: DocumentsApi.get_requirement ...'
139
+ end
140
+ # verify the required parameter 'title' is set
141
+ if @api_client.config.client_side_validation && title.nil?
142
+ fail ArgumentError, "Missing the required parameter 'title' when calling DocumentsApi.get_requirement"
143
+ end
144
+ if @api_client.config.client_side_validation && title.to_s.length > 200
145
+ fail ArgumentError, 'invalid value for "title" when calling DocumentsApi.get_requirement, the character length must be smaller than or equal to 200.'
146
+ end
147
+
148
+ if @api_client.config.client_side_validation && title.to_s.length < 1
149
+ fail ArgumentError, 'invalid value for "title" when calling DocumentsApi.get_requirement, the character length must be greater than or equal to 1.'
150
+ end
151
+
152
+ # verify the required parameter 'version' is set
153
+ if @api_client.config.client_side_validation && version.nil?
154
+ fail ArgumentError, "Missing the required parameter 'version' when calling DocumentsApi.get_requirement"
155
+ end
156
+ pattern = Regexp.new(/^\d+$/)
157
+ if @api_client.config.client_side_validation && version !~ pattern
158
+ fail ArgumentError, "invalid value for 'version' when calling DocumentsApi.get_requirement, must conform to the pattern #{pattern}."
159
+ end
160
+
161
+ # verify the required parameter 'release' is set
162
+ if @api_client.config.client_side_validation && release.nil?
163
+ fail ArgumentError, "Missing the required parameter 'release' when calling DocumentsApi.get_requirement"
164
+ end
165
+ pattern = Regexp.new(/^\d+(\.\d+)?$/)
166
+ if @api_client.config.client_side_validation && release !~ pattern
167
+ fail ArgumentError, "invalid value for 'release' when calling DocumentsApi.get_requirement, must conform to the pattern #{pattern}."
168
+ end
169
+
170
+ # verify the required parameter 'vuln' is set
171
+ if @api_client.config.client_side_validation && vuln.nil?
172
+ fail ArgumentError, "Missing the required parameter 'vuln' when calling DocumentsApi.get_requirement"
173
+ end
174
+ pattern = Regexp.new(/^V-\d{6}$/)
175
+ if @api_client.config.client_side_validation && vuln !~ pattern
176
+ fail ArgumentError, "invalid value for 'vuln' when calling DocumentsApi.get_requirement, must conform to the pattern #{pattern}."
177
+ end
178
+
179
+ # resource path
180
+ local_var_path = '/stig/{title}/{version}/{release}/{vuln}'.sub('{' + 'title' + '}', CGI.escape(title.to_s)).sub('{' + 'version' + '}', CGI.escape(version.to_s)).sub('{' + 'release' + '}', CGI.escape(release.to_s)).sub('{' + 'vuln' + '}', CGI.escape(vuln.to_s))
181
+
182
+ # query parameters
183
+ query_params = opts[:query_params] || {}
184
+
185
+ # header parameters
186
+ header_params = opts[:header_params] || {}
187
+ # HTTP header 'Accept' (if needed)
188
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
189
+
190
+ # form parameters
191
+ form_params = opts[:form_params] || {}
192
+
193
+ # http body (model)
194
+ post_body = opts[:debug_body]
195
+
196
+ # return_type
197
+ return_type = opts[:debug_return_type] || 'RequirementDetail'
198
+
199
+ # auth_names
200
+ auth_names = opts[:debug_auth_names] || []
201
+
202
+ new_options = opts.merge(
203
+ :operation => :"DocumentsApi.get_requirement",
204
+ :header_params => header_params,
205
+ :query_params => query_params,
206
+ :form_params => form_params,
207
+ :body => post_body,
208
+ :auth_names => auth_names,
209
+ :return_type => return_type
210
+ )
211
+
212
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
213
+ if @api_client.config.debugging
214
+ @api_client.config.logger.debug "API called: DocumentsApi#get_requirement\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
215
+ end
216
+ return data, status_code, headers
217
+ end
218
+
219
+ # List all STIGs and SRGs
220
+ # Returns complete list of Security Technical Implementation Guides (STIGs) and Security Requirements Guides (SRGs). **Note**: These are mixed in one endpoint.
221
+ # @param [Hash] opts the optional parameters
222
+ # @return [Hash<String, Array<DocumentVersion>>]
223
+ def list_all_documents(opts = {})
224
+ data, _status_code, _headers = list_all_documents_with_http_info(opts)
225
+ data
226
+ end
227
+
228
+ # List all STIGs and SRGs
229
+ # Returns complete list of Security Technical Implementation Guides (STIGs) and Security Requirements Guides (SRGs). **Note**: These are mixed in one endpoint.
230
+ # @param [Hash] opts the optional parameters
231
+ # @return [Array<(Hash<String, Array<DocumentVersion>>, Integer, Hash)>] Hash<String, Array<DocumentVersion>> data, response status code and response headers
232
+ def list_all_documents_with_http_info(opts = {})
233
+ if @api_client.config.debugging
234
+ @api_client.config.logger.debug 'Calling API: DocumentsApi.list_all_documents ...'
235
+ end
236
+ # resource path
237
+ local_var_path = '/stig'
238
+
239
+ # query parameters
240
+ query_params = opts[:query_params] || {}
241
+
242
+ # header parameters
243
+ header_params = opts[:header_params] || {}
244
+ # HTTP header 'Accept' (if needed)
245
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
246
+
247
+ # form parameters
248
+ form_params = opts[:form_params] || {}
249
+
250
+ # http body (model)
251
+ post_body = opts[:debug_body]
252
+
253
+ # return_type
254
+ return_type = opts[:debug_return_type] || 'Hash<String, Array<DocumentVersion>>'
255
+
256
+ # auth_names
257
+ auth_names = opts[:debug_auth_names] || []
258
+
259
+ new_options = opts.merge(
260
+ :operation => :"DocumentsApi.list_all_documents",
261
+ :header_params => header_params,
262
+ :query_params => query_params,
263
+ :form_params => form_params,
264
+ :body => post_body,
265
+ :auth_names => auth_names,
266
+ :return_type => return_type
267
+ )
268
+
269
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
270
+ if @api_client.config.debugging
271
+ @api_client.config.logger.debug "API called: DocumentsApi#list_all_documents\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
272
+ end
273
+ return data, status_code, headers
274
+ end
275
+ end
276
+ end