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.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +86 -0
  4. data/lib/ctd_documentation/api_helper.rb +10 -0
  5. data/lib/ctd_documentation/client.rb +140 -0
  6. data/lib/ctd_documentation/configuration.rb +103 -0
  7. data/lib/ctd_documentation/controllers/activities_controller.rb +69 -0
  8. data/lib/ctd_documentation/controllers/alerts_controller.rb +170 -0
  9. data/lib/ctd_documentation/controllers/assets_controller.rb +409 -0
  10. data/lib/ctd_documentation/controllers/base_controller.rb +65 -0
  11. data/lib/ctd_documentation/controllers/custom_attributes_categories_controller.rb +50 -0
  12. data/lib/ctd_documentation/controllers/events_controller.rb +67 -0
  13. data/lib/ctd_documentation/controllers/groups_controller.rb +28 -0
  14. data/lib/ctd_documentation/controllers/insights_controller.rb +111 -0
  15. data/lib/ctd_documentation/controllers/license_controller.rb +73 -0
  16. data/lib/ctd_documentation/controllers/login_controller.rb +31 -0
  17. data/lib/ctd_documentation/controllers/queries_controller.rb +128 -0
  18. data/lib/ctd_documentation/controllers/sensors_controller.rb +26 -0
  19. data/lib/ctd_documentation/controllers/sites_controller.rb +39 -0
  20. data/lib/ctd_documentation/controllers/tasks_controller.rb +148 -0
  21. data/lib/ctd_documentation/controllers/tasks_queries_controller.rb +29 -0
  22. data/lib/ctd_documentation/controllers/users_controller.rb +28 -0
  23. data/lib/ctd_documentation/exceptions/api_exception.rb +10 -0
  24. data/lib/ctd_documentation/exceptions/auth_authenticate401_error_exception.rb +48 -0
  25. data/lib/ctd_documentation/http/auth/custom_header_auth.rb +25 -0
  26. data/lib/ctd_documentation/http/http_call_back.rb +10 -0
  27. data/lib/ctd_documentation/http/http_method_enum.rb +10 -0
  28. data/lib/ctd_documentation/http/http_request.rb +10 -0
  29. data/lib/ctd_documentation/http/http_response.rb +10 -0
  30. data/lib/ctd_documentation/models/actionable.rb +70 -0
  31. data/lib/ctd_documentation/models/actionable_asset.rb +80 -0
  32. data/lib/ctd_documentation/models/actionable_cap.rb +80 -0
  33. data/lib/ctd_documentation/models/actionable_information.rb +80 -0
  34. data/lib/ctd_documentation/models/actionable_policy.rb +361 -0
  35. data/lib/ctd_documentation/models/actionable_related_asset.rb +142 -0
  36. data/lib/ctd_documentation/models/active_history.rb +311 -0
  37. data/lib/ctd_documentation/models/activities_object.rb +150 -0
  38. data/lib/ctd_documentation/models/activities_response.rb +100 -0
  39. data/lib/ctd_documentation/models/activity.rb +150 -0
  40. data/lib/ctd_documentation/models/add_license_response.rb +79 -0
  41. data/lib/ctd_documentation/models/alert.rb +455 -0
  42. data/lib/ctd_documentation/models/alert_severity_enum.rb +23 -0
  43. data/lib/ctd_documentation/models/asset.rb +527 -0
  44. data/lib/ctd_documentation/models/assets_with_insights.rb +252 -0
  45. data/lib/ctd_documentation/models/assets_with_insights_response.rb +90 -0
  46. data/lib/ctd_documentation/models/authenticate.rb +57 -0
  47. data/lib/ctd_documentation/models/base_model.rb +58 -0
  48. data/lib/ctd_documentation/models/base_task.rb +198 -0
  49. data/lib/ctd_documentation/models/cap.rb +90 -0
  50. data/lib/ctd_documentation/models/code_sections.rb +70 -0
  51. data/lib/ctd_documentation/models/content_type_enum.rb +14 -0
  52. data/lib/ctd_documentation/models/create_a_new_query.rb +57 -0
  53. data/lib/ctd_documentation/models/create_a_new_query_response.rb +57 -0
  54. data/lib/ctd_documentation/models/create_group_response.rb +48 -0
  55. data/lib/ctd_documentation/models/create_user_response.rb +48 -0
  56. data/lib/ctd_documentation/models/createanewtask.rb +57 -0
  57. data/lib/ctd_documentation/models/createanewtask_response.rb +57 -0
  58. data/lib/ctd_documentation/models/ctd_login_exception.rb +81 -0
  59. data/lib/ctd_documentation/models/ctd_login_response.rb +101 -0
  60. data/lib/ctd_documentation/models/custom_attribute_category.rb +90 -0
  61. data/lib/ctd_documentation/models/db_statistics.rb +50 -0
  62. data/lib/ctd_documentation/models/delete_a_query_response.rb +48 -0
  63. data/lib/ctd_documentation/models/delete_a_task_response.rb +48 -0
  64. data/lib/ctd_documentation/models/destination_virtual_zone.rb +60 -0
  65. data/lib/ctd_documentation/models/detail.rb +60 -0
  66. data/lib/ctd_documentation/models/discovery_params.rb +82 -0
  67. data/lib/ctd_documentation/models/entity.rb +70 -0
  68. data/lib/ctd_documentation/models/event.rb +175 -0
  69. data/lib/ctd_documentation/models/find_asset_by_id_response.rb +547 -0
  70. data/lib/ctd_documentation/models/format1_enum.rb +22 -0
  71. data/lib/ctd_documentation/models/format_enum.rb +20 -0
  72. data/lib/ctd_documentation/models/get_active_detection_history_response.rb +90 -0
  73. data/lib/ctd_documentation/models/get_alerts_response.rb +90 -0
  74. data/lib/ctd_documentation/models/get_all_sites_response.rb +90 -0
  75. data/lib/ctd_documentation/models/get_assets_response.rb +90 -0
  76. data/lib/ctd_documentation/models/get_custom_attribute_categories_response.rb +90 -0
  77. data/lib/ctd_documentation/models/get_events_response.rb +90 -0
  78. data/lib/ctd_documentation/models/get_license_details_response.rb +81 -0
  79. data/lib/ctd_documentation/models/get_queries_ids_and_assigned_task_response.rb +70 -0
  80. data/lib/ctd_documentation/models/get_queries_response.rb +90 -0
  81. data/lib/ctd_documentation/models/get_tasks_response.rb +90 -0
  82. data/lib/ctd_documentation/models/get_types_response.rb +57 -0
  83. data/lib/ctd_documentation/models/group.rb +73 -0
  84. data/lib/ctd_documentation/models/identifiable.rb +70 -0
  85. data/lib/ctd_documentation/models/indicator_info.rb +90 -0
  86. data/lib/ctd_documentation/models/indicators.rb +122 -0
  87. data/lib/ctd_documentation/models/information.rb +183 -0
  88. data/lib/ctd_documentation/models/insight_status_enum.rb +20 -0
  89. data/lib/ctd_documentation/models/insight_status_exact1_enum.rb +21 -0
  90. data/lib/ctd_documentation/models/insight_status_exact_enum.rb +20 -0
  91. data/lib/ctd_documentation/models/license_request.rb +48 -0
  92. data/lib/ctd_documentation/models/network.rb +80 -0
  93. data/lib/ctd_documentation/models/new_queryobject.rb +199 -0
  94. data/lib/ctd_documentation/models/new_taskobject.rb +199 -0
  95. data/lib/ctd_documentation/models/object.rb +70 -0
  96. data/lib/ctd_documentation/models/paginated_response.rb +71 -0
  97. data/lib/ctd_documentation/models/policy.rb +331 -0
  98. data/lib/ctd_documentation/models/queryextraparams.rb +60 -0
  99. data/lib/ctd_documentation/models/ranger_system_check_response.rb +57 -0
  100. data/lib/ctd_documentation/models/risk_vector.rb +89 -0
  101. data/lib/ctd_documentation/models/selection_params.rb +58 -0
  102. data/lib/ctd_documentation/models/selection_params1.rb +80 -0
  103. data/lib/ctd_documentation/models/site.rb +256 -0
  104. data/lib/ctd_documentation/models/site_list_slim_enum.rb +14 -0
  105. data/lib/ctd_documentation/models/slim_insight.rb +139 -0
  106. data/lib/ctd_documentation/models/sort1_enum.rb +65 -0
  107. data/lib/ctd_documentation/models/sort31_enum.rb +59 -0
  108. data/lib/ctd_documentation/models/sort3_enum.rb +59 -0
  109. data/lib/ctd_documentation/models/sort41_enum.rb +41 -0
  110. data/lib/ctd_documentation/models/sort4_enum.rb +41 -0
  111. data/lib/ctd_documentation/models/sort5_enum.rb +35 -0
  112. data/lib/ctd_documentation/models/sort6_enum.rb +41 -0
  113. data/lib/ctd_documentation/models/sort_enum.rb +125 -0
  114. data/lib/ctd_documentation/models/source_virtual_zone.rb +60 -0
  115. data/lib/ctd_documentation/models/special_hint_enum.rb +26 -0
  116. data/lib/ctd_documentation/models/special_hint_exact_enum.rb +26 -0
  117. data/lib/ctd_documentation/models/status_enum.rb +17 -0
  118. data/lib/ctd_documentation/models/status_exact_enum.rb +23 -0
  119. data/lib/ctd_documentation/models/subnet.rb +50 -0
  120. data/lib/ctd_documentation/models/task.rb +281 -0
  121. data/lib/ctd_documentation/models/taskextraparams.rb +71 -0
  122. data/lib/ctd_documentation/models/update_a_single_query_response.rb +57 -0
  123. data/lib/ctd_documentation/models/update_a_single_task_response.rb +57 -0
  124. data/lib/ctd_documentation/models/update_license_response.rb +79 -0
  125. data/lib/ctd_documentation/models/user.rb +88 -0
  126. data/lib/ctd_documentation/models/virtual_zones.rb +118 -0
  127. data/lib/ctd_documentation/utilities/date_time_helper.rb +11 -0
  128. data/lib/ctd_documentation/utilities/file_wrapper.rb +16 -0
  129. data/lib/ctd_documentation.rb +155 -0
  130. data/test/controllers/controller_test_base.rb +29 -0
  131. data/test/controllers/test_activities_controller.rb +64 -0
  132. data/test/controllers/test_alerts_controller.rb +16 -0
  133. data/test/controllers/test_assets_controller.rb +79 -0
  134. data/test/controllers/test_custom_attributes_categories_controller.rb +52 -0
  135. data/test/controllers/test_events_controller.rb +55 -0
  136. data/test/controllers/test_login_controller.rb +45 -0
  137. data/test/controllers/test_queries_controller.rb +292 -0
  138. data/test/controllers/test_sites_controller.rb +53 -0
  139. data/test/controllers/test_tasks_controller.rb +250 -0
  140. data/test/http_response_catcher.rb +19 -0
  141. 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