petstroepack 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.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +86 -0
- data/lib/ctd_documentation/api_helper.rb +10 -0
- data/lib/ctd_documentation/client.rb +140 -0
- data/lib/ctd_documentation/configuration.rb +103 -0
- data/lib/ctd_documentation/controllers/activities_controller.rb +69 -0
- data/lib/ctd_documentation/controllers/alerts_controller.rb +170 -0
- data/lib/ctd_documentation/controllers/assets_controller.rb +409 -0
- data/lib/ctd_documentation/controllers/base_controller.rb +65 -0
- data/lib/ctd_documentation/controllers/custom_attributes_categories_controller.rb +50 -0
- data/lib/ctd_documentation/controllers/events_controller.rb +67 -0
- data/lib/ctd_documentation/controllers/groups_controller.rb +28 -0
- data/lib/ctd_documentation/controllers/insights_controller.rb +111 -0
- data/lib/ctd_documentation/controllers/license_controller.rb +73 -0
- data/lib/ctd_documentation/controllers/login_controller.rb +31 -0
- data/lib/ctd_documentation/controllers/queries_controller.rb +128 -0
- data/lib/ctd_documentation/controllers/sensors_controller.rb +26 -0
- data/lib/ctd_documentation/controllers/sites_controller.rb +39 -0
- data/lib/ctd_documentation/controllers/tasks_controller.rb +148 -0
- data/lib/ctd_documentation/controllers/tasks_queries_controller.rb +29 -0
- data/lib/ctd_documentation/controllers/users_controller.rb +28 -0
- data/lib/ctd_documentation/exceptions/api_exception.rb +10 -0
- data/lib/ctd_documentation/exceptions/auth_authenticate401_error_exception.rb +48 -0
- data/lib/ctd_documentation/http/auth/custom_header_auth.rb +25 -0
- data/lib/ctd_documentation/http/http_call_back.rb +10 -0
- data/lib/ctd_documentation/http/http_method_enum.rb +10 -0
- data/lib/ctd_documentation/http/http_request.rb +10 -0
- data/lib/ctd_documentation/http/http_response.rb +10 -0
- data/lib/ctd_documentation/models/actionable.rb +70 -0
- data/lib/ctd_documentation/models/actionable_asset.rb +80 -0
- data/lib/ctd_documentation/models/actionable_cap.rb +80 -0
- data/lib/ctd_documentation/models/actionable_information.rb +80 -0
- data/lib/ctd_documentation/models/actionable_policy.rb +361 -0
- data/lib/ctd_documentation/models/actionable_related_asset.rb +142 -0
- data/lib/ctd_documentation/models/active_history.rb +311 -0
- data/lib/ctd_documentation/models/activities_object.rb +150 -0
- data/lib/ctd_documentation/models/activities_response.rb +100 -0
- data/lib/ctd_documentation/models/activity.rb +150 -0
- data/lib/ctd_documentation/models/add_license_response.rb +79 -0
- data/lib/ctd_documentation/models/alert.rb +455 -0
- data/lib/ctd_documentation/models/alert_severity_enum.rb +23 -0
- data/lib/ctd_documentation/models/asset.rb +527 -0
- data/lib/ctd_documentation/models/assets_with_insights.rb +252 -0
- data/lib/ctd_documentation/models/assets_with_insights_response.rb +90 -0
- data/lib/ctd_documentation/models/authenticate.rb +57 -0
- data/lib/ctd_documentation/models/base_model.rb +58 -0
- data/lib/ctd_documentation/models/base_task.rb +198 -0
- data/lib/ctd_documentation/models/cap.rb +90 -0
- data/lib/ctd_documentation/models/code_sections.rb +70 -0
- data/lib/ctd_documentation/models/content_type_enum.rb +14 -0
- data/lib/ctd_documentation/models/create_a_new_query.rb +57 -0
- data/lib/ctd_documentation/models/create_a_new_query_response.rb +57 -0
- data/lib/ctd_documentation/models/create_group_response.rb +48 -0
- data/lib/ctd_documentation/models/create_user_response.rb +48 -0
- data/lib/ctd_documentation/models/createanewtask.rb +57 -0
- data/lib/ctd_documentation/models/createanewtask_response.rb +57 -0
- data/lib/ctd_documentation/models/ctd_login_exception.rb +81 -0
- data/lib/ctd_documentation/models/ctd_login_response.rb +101 -0
- data/lib/ctd_documentation/models/custom_attribute_category.rb +90 -0
- data/lib/ctd_documentation/models/db_statistics.rb +50 -0
- data/lib/ctd_documentation/models/delete_a_query_response.rb +48 -0
- data/lib/ctd_documentation/models/delete_a_task_response.rb +48 -0
- data/lib/ctd_documentation/models/destination_virtual_zone.rb +60 -0
- data/lib/ctd_documentation/models/detail.rb +60 -0
- data/lib/ctd_documentation/models/discovery_params.rb +82 -0
- data/lib/ctd_documentation/models/entity.rb +70 -0
- data/lib/ctd_documentation/models/event.rb +175 -0
- data/lib/ctd_documentation/models/find_asset_by_id_response.rb +547 -0
- data/lib/ctd_documentation/models/format1_enum.rb +22 -0
- data/lib/ctd_documentation/models/format_enum.rb +20 -0
- data/lib/ctd_documentation/models/get_active_detection_history_response.rb +90 -0
- data/lib/ctd_documentation/models/get_alerts_response.rb +90 -0
- data/lib/ctd_documentation/models/get_all_sites_response.rb +90 -0
- data/lib/ctd_documentation/models/get_assets_response.rb +90 -0
- data/lib/ctd_documentation/models/get_custom_attribute_categories_response.rb +90 -0
- data/lib/ctd_documentation/models/get_events_response.rb +90 -0
- data/lib/ctd_documentation/models/get_license_details_response.rb +81 -0
- data/lib/ctd_documentation/models/get_queries_ids_and_assigned_task_response.rb +70 -0
- data/lib/ctd_documentation/models/get_queries_response.rb +90 -0
- data/lib/ctd_documentation/models/get_tasks_response.rb +90 -0
- data/lib/ctd_documentation/models/get_types_response.rb +57 -0
- data/lib/ctd_documentation/models/group.rb +73 -0
- data/lib/ctd_documentation/models/identifiable.rb +70 -0
- data/lib/ctd_documentation/models/indicator_info.rb +90 -0
- data/lib/ctd_documentation/models/indicators.rb +122 -0
- data/lib/ctd_documentation/models/information.rb +183 -0
- data/lib/ctd_documentation/models/insight_status_enum.rb +20 -0
- data/lib/ctd_documentation/models/insight_status_exact1_enum.rb +21 -0
- data/lib/ctd_documentation/models/insight_status_exact_enum.rb +20 -0
- data/lib/ctd_documentation/models/license_request.rb +48 -0
- data/lib/ctd_documentation/models/network.rb +80 -0
- data/lib/ctd_documentation/models/new_queryobject.rb +199 -0
- data/lib/ctd_documentation/models/new_taskobject.rb +199 -0
- data/lib/ctd_documentation/models/object.rb +70 -0
- data/lib/ctd_documentation/models/paginated_response.rb +71 -0
- data/lib/ctd_documentation/models/policy.rb +331 -0
- data/lib/ctd_documentation/models/queryextraparams.rb +60 -0
- data/lib/ctd_documentation/models/ranger_system_check_response.rb +57 -0
- data/lib/ctd_documentation/models/risk_vector.rb +89 -0
- data/lib/ctd_documentation/models/selection_params.rb +58 -0
- data/lib/ctd_documentation/models/selection_params1.rb +80 -0
- data/lib/ctd_documentation/models/site.rb +256 -0
- data/lib/ctd_documentation/models/site_list_slim_enum.rb +14 -0
- data/lib/ctd_documentation/models/slim_insight.rb +139 -0
- data/lib/ctd_documentation/models/sort1_enum.rb +65 -0
- data/lib/ctd_documentation/models/sort31_enum.rb +59 -0
- data/lib/ctd_documentation/models/sort3_enum.rb +59 -0
- data/lib/ctd_documentation/models/sort41_enum.rb +41 -0
- data/lib/ctd_documentation/models/sort4_enum.rb +41 -0
- data/lib/ctd_documentation/models/sort5_enum.rb +35 -0
- data/lib/ctd_documentation/models/sort6_enum.rb +41 -0
- data/lib/ctd_documentation/models/sort_enum.rb +125 -0
- data/lib/ctd_documentation/models/source_virtual_zone.rb +60 -0
- data/lib/ctd_documentation/models/special_hint_enum.rb +26 -0
- data/lib/ctd_documentation/models/special_hint_exact_enum.rb +26 -0
- data/lib/ctd_documentation/models/status_enum.rb +17 -0
- data/lib/ctd_documentation/models/status_exact_enum.rb +23 -0
- data/lib/ctd_documentation/models/subnet.rb +50 -0
- data/lib/ctd_documentation/models/task.rb +281 -0
- data/lib/ctd_documentation/models/taskextraparams.rb +71 -0
- data/lib/ctd_documentation/models/update_a_single_query_response.rb +57 -0
- data/lib/ctd_documentation/models/update_a_single_task_response.rb +57 -0
- data/lib/ctd_documentation/models/update_license_response.rb +79 -0
- data/lib/ctd_documentation/models/user.rb +88 -0
- data/lib/ctd_documentation/models/virtual_zones.rb +118 -0
- data/lib/ctd_documentation/utilities/date_time_helper.rb +11 -0
- data/lib/ctd_documentation/utilities/file_wrapper.rb +16 -0
- data/lib/ctd_documentation.rb +155 -0
- data/test/controllers/controller_test_base.rb +29 -0
- data/test/controllers/test_activities_controller.rb +64 -0
- data/test/controllers/test_alerts_controller.rb +16 -0
- data/test/controllers/test_assets_controller.rb +79 -0
- data/test/controllers/test_custom_attributes_categories_controller.rb +52 -0
- data/test/controllers/test_events_controller.rb +55 -0
- data/test/controllers/test_login_controller.rb +45 -0
- data/test/controllers/test_queries_controller.rb +292 -0
- data/test/controllers/test_sites_controller.rb +53 -0
- data/test/controllers/test_tasks_controller.rb +250 -0
- data/test/http_response_catcher.rb +19 -0
- metadata +259 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# InsightsController
|
|
8
|
+
class InsightsController < BaseController
|
|
9
|
+
# In order to retrieve all the assets associated with a specific Insight
|
|
10
|
+
# Step 1:
|
|
11
|
+
# 1. Apply the relevant site number in the site_id__exact field
|
|
12
|
+
# 2. Click "Try It Out"
|
|
13
|
+
# 3. From the Response body, select the insight of interest, e.g. Assets
|
|
14
|
+
# Accessed SMB shares
|
|
15
|
+
# 4. Copy the string of the insight name e.g. "Assets Accessed SMB shares"
|
|
16
|
+
# 5. Find further instructions in 'Get Insight Details by Name' API endpoint
|
|
17
|
+
# @param [String] format Required parameter: Example:
|
|
18
|
+
# @param [String] sort Required parameter: Example:
|
|
19
|
+
# @param [ContentTypeEnum] content_type Required parameter: Example:
|
|
20
|
+
# @param [Integer] page Optional parameter: The actual page offset
|
|
21
|
+
# @param [Integer] per_page Optional parameter: Number of Insights to pull
|
|
22
|
+
# per page
|
|
23
|
+
# @param [Integer] site_id__exact Optional parameter: The identifier of the
|
|
24
|
+
# Site related to the Insight
|
|
25
|
+
# @param [TrueClass|FalseClass] ghost__exact Optional parameter: Whether or
|
|
26
|
+
# not this is a ghost asset: TRUE = Ghost
|
|
27
|
+
# @param [SpecialHintExactEnum] special_hint__exact Optional parameter:
|
|
28
|
+
# Example:
|
|
29
|
+
# @param [InsightStatusExact1Enum] insight_status__exact Optional parameter:
|
|
30
|
+
# The status of the Insight associated with this Asset – this is a dropdown
|
|
31
|
+
# for choosing the integer type: 0 = Open 1 = Hidden 2 = Completed
|
|
32
|
+
# @return [void] response from the API call
|
|
33
|
+
def get_insights_summary(format,
|
|
34
|
+
sort,
|
|
35
|
+
content_type,
|
|
36
|
+
page: 1,
|
|
37
|
+
per_page: 50,
|
|
38
|
+
site_id__exact: 1,
|
|
39
|
+
ghost__exact: false,
|
|
40
|
+
special_hint__exact: nil,
|
|
41
|
+
insight_status__exact: nil)
|
|
42
|
+
new_api_call_builder
|
|
43
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
44
|
+
'/ranger/insights_summary',
|
|
45
|
+
Server::DEFAULT)
|
|
46
|
+
.query_param(new_parameter(format, key: 'format'))
|
|
47
|
+
.query_param(new_parameter(sort, key: 'sort'))
|
|
48
|
+
.header_param(new_parameter(content_type, key: 'Content-Type'))
|
|
49
|
+
.query_param(new_parameter(page, key: 'page'))
|
|
50
|
+
.query_param(new_parameter(per_page, key: 'per_page'))
|
|
51
|
+
.query_param(new_parameter(site_id__exact, key: 'site_id__exact'))
|
|
52
|
+
.query_param(new_parameter(ghost__exact, key: 'ghost__exact'))
|
|
53
|
+
.query_param(new_parameter(special_hint__exact, key: 'special_hint__exact'))
|
|
54
|
+
.query_param(new_parameter(insight_status__exact, key: 'insight_status__exact'))
|
|
55
|
+
.auth(Single.new('global')))
|
|
56
|
+
.response(new_response_handler
|
|
57
|
+
.is_response_void(true))
|
|
58
|
+
.execute
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# In order to retrieve all the assets associated with a specific Insight:
|
|
62
|
+
# Step 2 (Step1 is in 'Get Insights Summary' endpoint):
|
|
63
|
+
# 1. Enter (paste) the insight name from above into the insight_name field
|
|
64
|
+
# 2. Apply the relevant site number in the site_id__exact field
|
|
65
|
+
# 3. Click Execute
|
|
66
|
+
# 4. From the Response Body, Select the FILTER_KEY
|
|
67
|
+
# 5. Copy the string of the FILTER_KEY
|
|
68
|
+
# 6. Find further instructions in /ranger/assets
|
|
69
|
+
# @param [String] insight_name Required parameter: Example:
|
|
70
|
+
# @param [String] format Optional parameter: Example:insight_page
|
|
71
|
+
# @param [Integer] page Optional parameter: The actual page offset
|
|
72
|
+
# @param [Integer] per_page Optional parameter: Number of Insights to pull
|
|
73
|
+
# per page
|
|
74
|
+
# @param [Integer] site_id__exact Optional parameter: The identifier of the
|
|
75
|
+
# Site related to the Insight
|
|
76
|
+
# @param [TrueClass|FalseClass] ghost__exact Optional parameter: Whether or
|
|
77
|
+
# not this is a ghost asset: TRUE = Ghost
|
|
78
|
+
# @param [SpecialHintExactEnum] special_hint__exact Optional parameter:
|
|
79
|
+
# Example:
|
|
80
|
+
# @param [InsightStatusExact1Enum] insight_status__exact Optional parameter:
|
|
81
|
+
# The status of the Insight associated with this Asset – this is a dropdown
|
|
82
|
+
# for choosing the integer type: 0 = Open 1 = Hidden 2 = Completed
|
|
83
|
+
# @return [void] response from the API call
|
|
84
|
+
def get_insight_details_by_name(insight_name,
|
|
85
|
+
format: 'insight_page',
|
|
86
|
+
page: 1,
|
|
87
|
+
per_page: 10,
|
|
88
|
+
site_id__exact: 1,
|
|
89
|
+
ghost__exact: false,
|
|
90
|
+
special_hint__exact: nil,
|
|
91
|
+
insight_status__exact: nil)
|
|
92
|
+
new_api_call_builder
|
|
93
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
94
|
+
'/ranger/insight_details/{insight_name}',
|
|
95
|
+
Server::DEFAULT)
|
|
96
|
+
.template_param(new_parameter(insight_name, key: 'insight_name')
|
|
97
|
+
.should_encode(true))
|
|
98
|
+
.query_param(new_parameter(format, key: 'format'))
|
|
99
|
+
.query_param(new_parameter(page, key: 'page'))
|
|
100
|
+
.query_param(new_parameter(per_page, key: 'per_page'))
|
|
101
|
+
.query_param(new_parameter(site_id__exact, key: 'site_id__exact'))
|
|
102
|
+
.query_param(new_parameter(ghost__exact, key: 'ghost__exact'))
|
|
103
|
+
.query_param(new_parameter(special_hint__exact, key: 'special_hint__exact'))
|
|
104
|
+
.query_param(new_parameter(insight_status__exact, key: 'insight_status__exact'))
|
|
105
|
+
.auth(Single.new('global')))
|
|
106
|
+
.response(new_response_handler
|
|
107
|
+
.is_response_void(true))
|
|
108
|
+
.execute
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# LicenseController
|
|
8
|
+
class LicenseController < BaseController
|
|
9
|
+
# Admin users can get the current license details
|
|
10
|
+
# @param [Integer] site_id Required parameter: On which site to operate
|
|
11
|
+
# @return [GetLicenseDetailsResponse] response from the API call
|
|
12
|
+
def get_license_details(site_id)
|
|
13
|
+
new_api_call_builder
|
|
14
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
15
|
+
'/ranger/license/{site_id}',
|
|
16
|
+
Server::DEFAULT)
|
|
17
|
+
.template_param(new_parameter(site_id, key: 'site_id')
|
|
18
|
+
.should_encode(true))
|
|
19
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
20
|
+
.auth(Single.new('global')))
|
|
21
|
+
.response(new_response_handler
|
|
22
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
23
|
+
.deserialize_into(GetLicenseDetailsResponse.method(:from_hash)))
|
|
24
|
+
.execute
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Add License
|
|
28
|
+
# @param [Integer] site_id Required parameter: On which site to operate
|
|
29
|
+
# @param [LicenseRequest] body Required parameter: Set license
|
|
30
|
+
# @return [UpdateLicenseResponse] response from the API call
|
|
31
|
+
def add_license(site_id,
|
|
32
|
+
body)
|
|
33
|
+
new_api_call_builder
|
|
34
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
35
|
+
'/ranger/license/{site_id}',
|
|
36
|
+
Server::DEFAULT)
|
|
37
|
+
.template_param(new_parameter(site_id, key: 'site_id')
|
|
38
|
+
.should_encode(true))
|
|
39
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
40
|
+
.body_param(new_parameter(body))
|
|
41
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
42
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
43
|
+
.auth(Single.new('global')))
|
|
44
|
+
.response(new_response_handler
|
|
45
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
46
|
+
.deserialize_into(UpdateLicenseResponse.method(:from_hash)))
|
|
47
|
+
.execute
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Update license
|
|
51
|
+
# @param [Integer] site_id Required parameter: On which site to operate
|
|
52
|
+
# @param [LicenseRequest] body Required parameter: Set license
|
|
53
|
+
# @return [UpdateLicenseResponse] response from the API call
|
|
54
|
+
def update_license(site_id,
|
|
55
|
+
body)
|
|
56
|
+
new_api_call_builder
|
|
57
|
+
.request(new_request_builder(HttpMethodEnum::PUT,
|
|
58
|
+
'/ranger/license/{site_id}',
|
|
59
|
+
Server::DEFAULT)
|
|
60
|
+
.template_param(new_parameter(site_id, key: 'site_id')
|
|
61
|
+
.should_encode(true))
|
|
62
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
63
|
+
.body_param(new_parameter(body))
|
|
64
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
65
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
66
|
+
.auth(Single.new('global')))
|
|
67
|
+
.response(new_response_handler
|
|
68
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
69
|
+
.deserialize_into(UpdateLicenseResponse.method(:from_hash)))
|
|
70
|
+
.execute
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# LoginController
|
|
8
|
+
class LoginController < BaseController
|
|
9
|
+
# CTD Login
|
|
10
|
+
# @param [Authenticate] body Optional parameter: Set license
|
|
11
|
+
# @return [CTDLoginResponse] response from the API call
|
|
12
|
+
def ctd_login(body: nil)
|
|
13
|
+
new_api_call_builder
|
|
14
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
15
|
+
'/auth/authenticate',
|
|
16
|
+
Server::DEFAULT)
|
|
17
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
18
|
+
.body_param(new_parameter(body))
|
|
19
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
20
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
21
|
+
.auth(Single.new('global')))
|
|
22
|
+
.response(new_response_handler
|
|
23
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
24
|
+
.deserialize_into(CTDLoginResponse.method(:from_hash))
|
|
25
|
+
.local_error('401',
|
|
26
|
+
'Unsuccessful Operation',
|
|
27
|
+
AuthAuthenticate401ErrorException))
|
|
28
|
+
.execute
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# QueriesController
|
|
8
|
+
class QueriesController < BaseController
|
|
9
|
+
# Get all queries and their information
|
|
10
|
+
# @param [Sort1Enum] sort Optional parameter: Example:
|
|
11
|
+
# @param [Integer] page Optional parameter: Example:
|
|
12
|
+
# @param [Integer] per_page Optional parameter: Example:
|
|
13
|
+
# @param [String] name__icontains Optional parameter: Example:
|
|
14
|
+
# @param [Integer] site_id__exact Optional parameter: Example:
|
|
15
|
+
# @return [GetQueriesResponse] response from the API call
|
|
16
|
+
def get_queries(sort: nil,
|
|
17
|
+
page: nil,
|
|
18
|
+
per_page: nil,
|
|
19
|
+
name__icontains: nil,
|
|
20
|
+
site_id__exact: nil)
|
|
21
|
+
new_api_call_builder
|
|
22
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
23
|
+
'/ranger/queries',
|
|
24
|
+
Server::DEFAULT)
|
|
25
|
+
.query_param(new_parameter(sort, key: 'sort'))
|
|
26
|
+
.query_param(new_parameter(page, key: 'page'))
|
|
27
|
+
.query_param(new_parameter(per_page, key: 'per_page'))
|
|
28
|
+
.query_param(new_parameter(name__icontains, key: 'name__icontains'))
|
|
29
|
+
.query_param(new_parameter(site_id__exact, key: 'site_id__exact'))
|
|
30
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
31
|
+
.auth(Single.new('global')))
|
|
32
|
+
.response(new_response_handler
|
|
33
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
34
|
+
.deserialize_into(GetQueriesResponse.method(:from_hash)))
|
|
35
|
+
.execute
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# This route creates a query
|
|
39
|
+
# @param [CreateANewQuery] body Required parameter: Example:
|
|
40
|
+
# @return [CreateANewQueryResponse] response from the API call
|
|
41
|
+
def create_a_new_query(body)
|
|
42
|
+
new_api_call_builder
|
|
43
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
44
|
+
'/ranger/queries',
|
|
45
|
+
Server::DEFAULT)
|
|
46
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
47
|
+
.body_param(new_parameter(body))
|
|
48
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
49
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
50
|
+
.auth(Single.new('global')))
|
|
51
|
+
.response(new_response_handler
|
|
52
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
53
|
+
.deserialize_into(CreateANewQueryResponse.method(:from_hash)))
|
|
54
|
+
.execute
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Delete a query by a list of selected resource IDs
|
|
58
|
+
# @param [ContentTypeEnum] content_type Required parameter: Example:
|
|
59
|
+
# @return [DeleteAQueryResponse] response from the API call
|
|
60
|
+
def delete_a_query(content_type)
|
|
61
|
+
new_api_call_builder
|
|
62
|
+
.request(new_request_builder(HttpMethodEnum::DELETE,
|
|
63
|
+
'/ranger/queries',
|
|
64
|
+
Server::DEFAULT)
|
|
65
|
+
.header_param(new_parameter(content_type, key: 'Content-Type'))
|
|
66
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
67
|
+
.auth(Single.new('global')))
|
|
68
|
+
.response(new_response_handler
|
|
69
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
70
|
+
.deserialize_into(DeleteAQueryResponse.method(:from_hash)))
|
|
71
|
+
.execute
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# This route updates a query
|
|
75
|
+
# @param [String] resource_id Required parameter: Resource ID of the query
|
|
76
|
+
# to update
|
|
77
|
+
# @param [CreateANewQuery] body Required parameter: Example:
|
|
78
|
+
# @return [CreateANewQueryResponse] response from the API call
|
|
79
|
+
def update_a_single_query(resource_id,
|
|
80
|
+
body)
|
|
81
|
+
new_api_call_builder
|
|
82
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
83
|
+
'/ranger/queries/{resource_id}',
|
|
84
|
+
Server::DEFAULT)
|
|
85
|
+
.template_param(new_parameter(resource_id, key: 'resource_id')
|
|
86
|
+
.should_encode(true))
|
|
87
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
88
|
+
.body_param(new_parameter(body))
|
|
89
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
90
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
91
|
+
.auth(Single.new('global')))
|
|
92
|
+
.response(new_response_handler
|
|
93
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
94
|
+
.deserialize_into(CreateANewQueryResponse.method(:from_hash)))
|
|
95
|
+
.execute
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Get descriptions and enums for all queries (can be used later to retrieve
|
|
99
|
+
# parameters per task type enum)
|
|
100
|
+
# @return [Object] response from the API call
|
|
101
|
+
def get_information_for_all_queries
|
|
102
|
+
new_api_call_builder
|
|
103
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
104
|
+
'/ranger/queries/get_types',
|
|
105
|
+
Server::DEFAULT)
|
|
106
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
107
|
+
.auth(Single.new('global')))
|
|
108
|
+
.response(new_response_handler
|
|
109
|
+
.deserializer(APIHelper.method(:json_deserialize)))
|
|
110
|
+
.execute
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# This is used to determine the payload needed to be sent for
|
|
114
|
+
# creating/updating a query by a certain query type enum value
|
|
115
|
+
# @return [Object] response from the API call
|
|
116
|
+
def all_queries_fields_types_and_validations
|
|
117
|
+
new_api_call_builder
|
|
118
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
119
|
+
'/ranger/queries/get_params',
|
|
120
|
+
Server::DEFAULT)
|
|
121
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
122
|
+
.auth(Single.new('global')))
|
|
123
|
+
.response(new_response_handler
|
|
124
|
+
.deserializer(APIHelper.method(:json_deserialize)))
|
|
125
|
+
.execute
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# SensorsController
|
|
8
|
+
class SensorsController < BaseController
|
|
9
|
+
# Get Sensors
|
|
10
|
+
# @param [Integer] site_id Required parameter: Example:
|
|
11
|
+
# @return [RangerSystemCheckResponse] response from the API call
|
|
12
|
+
def get_sensors(site_id)
|
|
13
|
+
new_api_call_builder
|
|
14
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
15
|
+
'/ranger/system/check',
|
|
16
|
+
Server::DEFAULT)
|
|
17
|
+
.query_param(new_parameter(site_id, key: 'site_id'))
|
|
18
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
19
|
+
.auth(Single.new('global')))
|
|
20
|
+
.response(new_response_handler
|
|
21
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
22
|
+
.deserialize_into(RangerSystemCheckResponse.method(:from_hash)))
|
|
23
|
+
.execute
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# SitesController
|
|
8
|
+
class SitesController < BaseController
|
|
9
|
+
# Get all sites and their information
|
|
10
|
+
# @param [String] rid__exact Optional parameter: Example:
|
|
11
|
+
# @param [Sort31Enum] sort Optional parameter: Sort order: add '-' for
|
|
12
|
+
# descending order
|
|
13
|
+
# @param [SiteListSlimEnum] format Optional parameter: Example:
|
|
14
|
+
# @param [Integer] page Optional parameter: Example:1
|
|
15
|
+
# @param [Integer] per_page Optional parameter: Example:20
|
|
16
|
+
# @return [GetAllSitesResponse] response from the API call
|
|
17
|
+
def get_all_sites(rid__exact: nil,
|
|
18
|
+
sort: nil,
|
|
19
|
+
format: nil,
|
|
20
|
+
page: 1,
|
|
21
|
+
per_page: 20)
|
|
22
|
+
new_api_call_builder
|
|
23
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
24
|
+
'/ranger/sites',
|
|
25
|
+
Server::DEFAULT)
|
|
26
|
+
.query_param(new_parameter(rid__exact, key: 'rid__exact'))
|
|
27
|
+
.query_param(new_parameter(sort, key: 'sort'))
|
|
28
|
+
.query_param(new_parameter(format, key: 'format'))
|
|
29
|
+
.query_param(new_parameter(page, key: 'page'))
|
|
30
|
+
.query_param(new_parameter(per_page, key: 'per_page'))
|
|
31
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
32
|
+
.auth(Single.new('global')))
|
|
33
|
+
.response(new_response_handler
|
|
34
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
35
|
+
.deserialize_into(GetAllSitesResponse.method(:from_hash)))
|
|
36
|
+
.execute
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# TasksController
|
|
8
|
+
class TasksController < BaseController
|
|
9
|
+
# Get all tasks and their information
|
|
10
|
+
# @param [Sort1Enum] sort Optional parameter: Example:
|
|
11
|
+
# @param [Integer] page Optional parameter: Example:1
|
|
12
|
+
# @param [Integer] per_page Optional parameter: Example:20
|
|
13
|
+
# @param [String] name__icontains Optional parameter: Example:
|
|
14
|
+
# @param [Integer] site_id__exact Optional parameter: Example:
|
|
15
|
+
# @return [GetQueriesResponse] response from the API call
|
|
16
|
+
def get_tasks(sort: nil,
|
|
17
|
+
page: 1,
|
|
18
|
+
per_page: 20,
|
|
19
|
+
name__icontains: nil,
|
|
20
|
+
site_id__exact: nil)
|
|
21
|
+
new_api_call_builder
|
|
22
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
23
|
+
'/ranger/scans',
|
|
24
|
+
Server::DEFAULT)
|
|
25
|
+
.query_param(new_parameter(sort, key: 'sort'))
|
|
26
|
+
.query_param(new_parameter(page, key: 'page'))
|
|
27
|
+
.query_param(new_parameter(per_page, key: 'per_page'))
|
|
28
|
+
.query_param(new_parameter(name__icontains, key: 'name__icontains'))
|
|
29
|
+
.query_param(new_parameter(site_id__exact, key: 'site_id__exact'))
|
|
30
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
31
|
+
.auth(Single.new('global')))
|
|
32
|
+
.response(new_response_handler
|
|
33
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
34
|
+
.deserialize_into(GetQueriesResponse.method(:from_hash)))
|
|
35
|
+
.execute
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# This route creates a task
|
|
39
|
+
# @param [Createanewtask] body Required parameter: Example:
|
|
40
|
+
# @return [CreateANewQueryResponse] response from the API call
|
|
41
|
+
def create_a_new_task(body)
|
|
42
|
+
new_api_call_builder
|
|
43
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
44
|
+
'/ranger/scans',
|
|
45
|
+
Server::DEFAULT)
|
|
46
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
47
|
+
.body_param(new_parameter(body))
|
|
48
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
49
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
50
|
+
.auth(Single.new('global')))
|
|
51
|
+
.response(new_response_handler
|
|
52
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
53
|
+
.deserialize_into(CreateANewQueryResponse.method(:from_hash)))
|
|
54
|
+
.execute
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Delete a task by a list of selected resource IDs
|
|
58
|
+
# @param [ContentTypeEnum] content_type Required parameter: Example:
|
|
59
|
+
# @return [DeleteAQueryResponse] response from the API call
|
|
60
|
+
def delete_a_task(content_type)
|
|
61
|
+
new_api_call_builder
|
|
62
|
+
.request(new_request_builder(HttpMethodEnum::DELETE,
|
|
63
|
+
'/ranger/scans',
|
|
64
|
+
Server::DEFAULT)
|
|
65
|
+
.header_param(new_parameter(content_type, key: 'Content-Type'))
|
|
66
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
67
|
+
.auth(Single.new('global')))
|
|
68
|
+
.response(new_response_handler
|
|
69
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
70
|
+
.deserialize_into(DeleteAQueryResponse.method(:from_hash)))
|
|
71
|
+
.execute
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# This route updates a task
|
|
75
|
+
# @param [String] resource_id Required parameter: Resource ID of the task to
|
|
76
|
+
# update
|
|
77
|
+
# @param [Createanewtask] body Required parameter: Example:
|
|
78
|
+
# @return [CreateANewQueryResponse] response from the API call
|
|
79
|
+
def update_a_single_task(resource_id,
|
|
80
|
+
body)
|
|
81
|
+
new_api_call_builder
|
|
82
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
83
|
+
'/ranger/scans/{resource_id}',
|
|
84
|
+
Server::DEFAULT)
|
|
85
|
+
.template_param(new_parameter(resource_id, key: 'resource_id')
|
|
86
|
+
.should_encode(true))
|
|
87
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
88
|
+
.body_param(new_parameter(body))
|
|
89
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
90
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
91
|
+
.auth(Single.new('global')))
|
|
92
|
+
.response(new_response_handler
|
|
93
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
94
|
+
.deserialize_into(CreateANewQueryResponse.method(:from_hash)))
|
|
95
|
+
.execute
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Get descriptions and enums for all tasks (can be used later to retrieve
|
|
99
|
+
# parameters per task type enum)
|
|
100
|
+
# @return [Hash of Object] response from the API call
|
|
101
|
+
def information_of_all_tasks
|
|
102
|
+
new_api_call_builder
|
|
103
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
104
|
+
'/ranger/scans/get_types',
|
|
105
|
+
Server::DEFAULT)
|
|
106
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
107
|
+
.auth(Single.new('global')))
|
|
108
|
+
.response(new_response_handler
|
|
109
|
+
.deserializer(APIHelper.method(:json_deserialize)))
|
|
110
|
+
.execute
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# This is used to determine the payload needed to be sent for
|
|
114
|
+
# creating/updating a task by a certain task type enum value
|
|
115
|
+
# @return [Hash of Object] response from the API call
|
|
116
|
+
def all_tasks_fields
|
|
117
|
+
new_api_call_builder
|
|
118
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
119
|
+
'/ranger/scans/get_params',
|
|
120
|
+
Server::DEFAULT)
|
|
121
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
122
|
+
.auth(Single.new('global')))
|
|
123
|
+
.response(new_response_handler
|
|
124
|
+
.deserializer(APIHelper.method(:json_deserialize)))
|
|
125
|
+
.execute
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Get active detection history
|
|
129
|
+
# @param [Integer] site_id__exact Required parameter: Example:
|
|
130
|
+
# @param [String] sort Optional parameter: Example:
|
|
131
|
+
# @return [GetActiveDetectionHistoryResponse] response from the API call
|
|
132
|
+
def get_active_detection_history(site_id__exact,
|
|
133
|
+
sort: nil)
|
|
134
|
+
new_api_call_builder
|
|
135
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
136
|
+
'/ranger/active_history',
|
|
137
|
+
Server::DEFAULT)
|
|
138
|
+
.query_param(new_parameter(site_id__exact, key: 'site_id__exact'))
|
|
139
|
+
.query_param(new_parameter(sort, key: 'sort'))
|
|
140
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
141
|
+
.auth(Single.new('global')))
|
|
142
|
+
.response(new_response_handler
|
|
143
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
144
|
+
.deserialize_into(GetActiveDetectionHistoryResponse.method(:from_hash)))
|
|
145
|
+
.execute
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# TasksQueriesController
|
|
8
|
+
class TasksQueriesController < BaseController
|
|
9
|
+
# List all queries and their ids, and which queries are assigned to the task
|
|
10
|
+
# @param [Integer] site_id Required parameter: Example:
|
|
11
|
+
# @param [String] scan_rid Required parameter: Example:
|
|
12
|
+
# @return [GetQueriesIdsAndAssignedTaskResponse] response from the API call
|
|
13
|
+
def get_queries_ids_and_assigned_task(site_id,
|
|
14
|
+
scan_rid)
|
|
15
|
+
new_api_call_builder
|
|
16
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
17
|
+
'/ranger/task_query_configurations',
|
|
18
|
+
Server::DEFAULT)
|
|
19
|
+
.query_param(new_parameter(site_id, key: 'site_id'))
|
|
20
|
+
.query_param(new_parameter(scan_rid, key: 'scan_rid'))
|
|
21
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
22
|
+
.auth(Single.new('global')))
|
|
23
|
+
.response(new_response_handler
|
|
24
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
25
|
+
.deserialize_into(GetQueriesIdsAndAssignedTaskResponse.method(:from_hash)))
|
|
26
|
+
.execute
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# UsersController
|
|
8
|
+
class UsersController < BaseController
|
|
9
|
+
# This can only be done by the logged in user.
|
|
10
|
+
# @param [User] body Required parameter: Created user object
|
|
11
|
+
# @return [CreateUserResponse] response from the API call
|
|
12
|
+
def create_user(body)
|
|
13
|
+
new_api_call_builder
|
|
14
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
15
|
+
'/auth/users',
|
|
16
|
+
Server::DEFAULT)
|
|
17
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
18
|
+
.body_param(new_parameter(body))
|
|
19
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
20
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
21
|
+
.auth(Single.new('global')))
|
|
22
|
+
.response(new_response_handler
|
|
23
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
24
|
+
.deserialize_into(CreateUserResponse.method(:from_hash)))
|
|
25
|
+
.execute
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# ctd_documentation
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module CtdDocumentation
|
|
7
|
+
# Class for exceptions when there is a network error, status code error, etc.
|
|
8
|
+
class APIException < CoreLibrary::ApiException
|
|
9
|
+
end
|
|
10
|
+
end
|