Class: CtdDocumentation::AssetsController
- Inherits:
-
BaseController
- Object
- BaseController
- CtdDocumentation::AssetsController
- Defined in:
- lib/ctd_documentation/controllers/assets_controller.rb
Overview
AssetsController
Constant Summary
Constants inherited from BaseController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#find_asset_by_id(resource_id) ⇒ FindAssetByIDResponse
Find Asset By ID to return.
-
#get_assets(format: nil, page: nil, per_page: nil, ipv4__exact: nil, ipv6__exact: nil, mac__icontains: nil, vlan__exact: nil, address__exact: nil, gateway__exact: nil, asset_type__exact: nil, host_name__exact: nil, os__exact: nil, model__icontains: nil, vendor__icontains: nil, state__exact: nil, domain_names__exact: nil, firmware__exact: nil, serial__exact: nil, generic__icontains: nil, display_name__icontains: nil, criticality__exact: nil, old_ip__exact: nil, protocol__exact: nil, last_seen__exact: nil, q__icontains: nil, alert_id__exact: nil, last_updated__gt: nil, baseline__exact: nil, arp_baselines__exact: nil, insight_status__exact: nil, insights_insight_name__exact: nil, insight_timestamp__gte: nil, insight_timestamp__lte: nil, baseline_category__exact: nil, baseline_access_type__exact: nil, insight_name__exact: nil, insight_row_key__exact: nil, ghost__exact: nil, tasks__exact: nil, active_queries__exact: nil, subnet_tag__exact: nil, custom_attributes__exact: nil, class_type__exact: nil, domain_name__exact: nil, involved_in_tags__exact: nil, hosted_tags__icontains: nil, id__exact: nil, site_id__exact: nil, timestamp__exact: nil, approved__exact: nil, valid__exact: nil, parsed__exact: nil, special_hint__exact: nil, risk_level__exact: nil, network_id__exact: nil, virtual_zone_id__exact: nil, subnet_id__exact: nil, purdue_level__exact: nil) ⇒ GetAssetsResponse
Retrieves a list of assets in CTD, with optional filters.
-
#get_assetswith_insights(page: nil, per_page: nil, name__exact: nil, ghost__exact: nil, risk_level__exact: nil, site_name__exact: nil, network_id__exact: nil, ipv4__exact: nil, ipv6__exact: nil, mac__icontains: nil, asset_type__exact: nil, os__exact: nil, model__icontains: nil, vendor__icontains: nil, firmware__exact: nil, criticality__exact: nil, insight_cve_id__exact: nil, insight_cvss__exact: nil, insight_title__contains: nil, insight_published__exact: nil, insight_modified__exact: nil, insight_status__exact: nil, insight_identified_on__exact: nil, insight_last_updated__exact: nil, insight_comment__contains: nil) ⇒ AssetsWithInsightsResponse
Returns Assets with the top 10 highest score Insights.
Methods inherited from BaseController
#initialize, #new_api_call_builder, #new_parameter, #new_request_builder, #new_response_handler, user_agent
Constructor Details
This class inherits a constructor from CtdDocumentation::BaseController
Instance Method Details
#find_asset_by_id(resource_id) ⇒ FindAssetByIDResponse
Find Asset By ID to return
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 |
# File 'lib/ctd_documentation/controllers/assets_controller.rb', line 269 def find_asset_by_id(resource_id) new_api_call_builder .request(new_request_builder(HttpMethodEnum::GET, '/ranger/assets/{resource_id}', Server::DEFAULT) .template_param(new_parameter(resource_id, key: 'resource_id') .should_encode(true)) .header_param(new_parameter('application/json', key: 'accept')) .auth(Single.new('global'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(FindAssetByIDResponse.method(:from_hash)) .local_error('400', 'Invalid ID supplied', APIException) .local_error('404', 'Asset not found', APIException)) .execute end |
#get_assets(format: nil, page: nil, per_page: nil, ipv4__exact: nil, ipv6__exact: nil, mac__icontains: nil, vlan__exact: nil, address__exact: nil, gateway__exact: nil, asset_type__exact: nil, host_name__exact: nil, os__exact: nil, model__icontains: nil, vendor__icontains: nil, state__exact: nil, domain_names__exact: nil, firmware__exact: nil, serial__exact: nil, generic__icontains: nil, display_name__icontains: nil, criticality__exact: nil, old_ip__exact: nil, protocol__exact: nil, last_seen__exact: nil, q__icontains: nil, alert_id__exact: nil, last_updated__gt: nil, baseline__exact: nil, arp_baselines__exact: nil, insight_status__exact: nil, insights_insight_name__exact: nil, insight_timestamp__gte: nil, insight_timestamp__lte: nil, baseline_category__exact: nil, baseline_access_type__exact: nil, insight_name__exact: nil, insight_row_key__exact: nil, ghost__exact: nil, tasks__exact: nil, active_queries__exact: nil, subnet_tag__exact: nil, custom_attributes__exact: nil, class_type__exact: nil, domain_name__exact: nil, involved_in_tags__exact: nil, hosted_tags__icontains: nil, id__exact: nil, site_id__exact: nil, timestamp__exact: nil, approved__exact: nil, valid__exact: nil, parsed__exact: nil, special_hint__exact: nil, risk_level__exact: nil, network_id__exact: nil, virtual_zone_id__exact: nil, subnet_id__exact: nil, purdue_level__exact: nil) ⇒ GetAssetsResponse
Retrieves a list of assets in CTD, with optional filters. Note: All filters are optional. response (list of fields) returned by the query. If not provided, all asset properties are returned and could affect performance. page IPv4 format IPv6 format device (free text) device in the network the Asset’s network example SCADA client, PLC, etc. Asset system asset (free text) asset (free text) in the dropdown: 0 = Training 1 = Maintenance 2 = Guest name(s) of the Asset name of the Asset of the Asset (free text) the Asset (free text) High. These CTD values represent how critical the asset itself is to the operation. CTD assigns criticality automatically to certain types of assets but enables you to edit the value. this Asset by this Asset when communicating last instance when this device was seen in the network following Asset info: Name, IP, Version, Model and MAC triggered by this Asset the latest change to the Asset was made in the EMC. Format: YYYY-MM-DD**T**HH:MM:SS (in UTC) Example: 2022-11-01T16:22:05 which the Asset appears asset has ARP baselines: True = ARP The status of the Insight associated with this Asset – this is a dropdown for choosing the integer type: 0 = Open 1 = Hidden 2 = Completed of the Insight associated with this Asset Insight was detected; greater (later) than or equal to a specific timestamp Insight was detected; less (earlier) than or equal to a specific timestamp of the Baseline of this Asset type of the Baseline of this asset Insight associated with this Asset the related Insight not this is a ghost asset: TRUE = Ghost Tasks running on this Asset the Active Queries running on this Asset location the (user-defined) Custom Attributes for this Asset this Asset (IT, OT, IoT) the Asset (free text) identifier in the system Site in which the device resides this Asset was detected Asset was approved Asset is valid: TRUE=valid not parsed information (numerical or textual value from the protocols) was incorporated by CTD into the Asset’s baseline Example: risk for this device, based on its vulnerabilities, insights, alerts, policies, asset criticality, and network location network in which this device is located related assets this device belongs to (e.g. PLC Modbus) location level of this specific device (0-6). This value is automatically determined based on the various characteristics of the asset and its purpose. Can be adjusted to reflect the true asset behavior. Also note that interim Purdue levels can also be used, e.g. 1.5, 2.5, 3.5
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 |
# File 'lib/ctd_documentation/controllers/assets_controller.rb', line 137 def get_assets(format: nil, page: nil, per_page: nil, ipv4__exact: nil, ipv6__exact: nil, mac__icontains: nil, vlan__exact: nil, address__exact: nil, gateway__exact: nil, asset_type__exact: nil, host_name__exact: nil, os__exact: nil, model__icontains: nil, vendor__icontains: nil, state__exact: nil, domain_names__exact: nil, firmware__exact: nil, serial__exact: nil, generic__icontains: nil, display_name__icontains: nil, criticality__exact: nil, old_ip__exact: nil, protocol__exact: nil, last_seen__exact: nil, q__icontains: nil, alert_id__exact: nil, last_updated__gt: nil, baseline__exact: nil, arp_baselines__exact: nil, insight_status__exact: nil, insights_insight_name__exact: nil, insight_timestamp__gte: nil, insight_timestamp__lte: nil, baseline_category__exact: nil, baseline_access_type__exact: nil, insight_name__exact: nil, insight_row_key__exact: nil, ghost__exact: nil, tasks__exact: nil, active_queries__exact: nil, subnet_tag__exact: nil, custom_attributes__exact: nil, class_type__exact: nil, domain_name__exact: nil, involved_in_tags__exact: nil, hosted_tags__icontains: nil, id__exact: nil, site_id__exact: nil, timestamp__exact: nil, approved__exact: nil, valid__exact: nil, parsed__exact: nil, special_hint__exact: nil, risk_level__exact: nil, network_id__exact: nil, virtual_zone_id__exact: nil, subnet_id__exact: nil, purdue_level__exact: nil) new_api_call_builder .request(new_request_builder(HttpMethodEnum::GET, '/ranger/assets', Server::DEFAULT) .query_param(new_parameter(format, key: 'format')) .query_param(new_parameter(page, key: 'page')) .query_param(new_parameter(per_page, key: 'per_page')) .query_param(new_parameter(ipv4__exact, key: 'ipv4__exact')) .query_param(new_parameter(ipv6__exact, key: 'ipv6__exact')) .query_param(new_parameter(mac__icontains, key: 'mac__icontains')) .query_param(new_parameter(vlan__exact, key: 'vlan__exact')) .query_param(new_parameter(address__exact, key: 'address__exact')) .query_param(new_parameter(gateway__exact, key: 'gateway__exact')) .query_param(new_parameter(asset_type__exact, key: 'asset_type__exact')) .query_param(new_parameter(host_name__exact, key: 'host_name__exact')) .query_param(new_parameter(os__exact, key: 'os__exact')) .query_param(new_parameter(model__icontains, key: 'model__icontains')) .query_param(new_parameter(vendor__icontains, key: 'vendor__icontains')) .query_param(new_parameter(state__exact, key: 'state__exact')) .query_param(new_parameter(domain_names__exact, key: 'domain_names__exact')) .query_param(new_parameter(firmware__exact, key: 'firmware__exact')) .query_param(new_parameter(serial__exact, key: 'serial__exact')) .query_param(new_parameter(generic__icontains, key: 'generic__icontains')) .query_param(new_parameter(display_name__icontains, key: 'display_name__icontains')) .query_param(new_parameter(criticality__exact, key: 'criticality__exact')) .query_param(new_parameter(old_ip__exact, key: 'old_ip__exact')) .query_param(new_parameter(protocol__exact, key: 'protocol__exact')) .query_param(new_parameter(last_seen__exact, key: 'last_seen__exact')) .query_param(new_parameter(q__icontains, key: 'q__icontains')) .query_param(new_parameter(alert_id__exact, key: 'alert_id__exact')) .query_param(new_parameter(last_updated__gt, key: 'last_updated__gt')) .query_param(new_parameter(baseline__exact, key: 'baseline__exact')) .query_param(new_parameter(arp_baselines__exact, key: 'arp_baselines__exact')) .query_param(new_parameter(insight_status__exact, key: 'insight_status__exact')) .query_param(new_parameter(insights_insight_name__exact, key: 'insights_insight_name__exact')) .query_param(new_parameter(, key: 'insight_timestamp__gte')) .query_param(new_parameter(, key: 'insight_timestamp__lte')) .query_param(new_parameter(baseline_category__exact, key: 'baseline_category__exact')) .query_param(new_parameter(baseline_access_type__exact, key: 'baseline_access_type__exact')) .query_param(new_parameter(insight_name__exact, key: 'insight_name__exact')) .query_param(new_parameter(insight_row_key__exact, key: 'insight_row_key__exact')) .query_param(new_parameter(ghost__exact, key: 'ghost__exact')) .query_param(new_parameter(tasks__exact, key: 'tasks__exact')) .query_param(new_parameter(active_queries__exact, key: 'active_queries__exact')) .query_param(new_parameter(subnet_tag__exact, key: 'subnet_tag__exact')) .query_param(new_parameter(custom_attributes__exact, key: 'custom_attributes__exact')) .query_param(new_parameter(class_type__exact, key: 'class_type__exact')) .query_param(new_parameter(domain_name__exact, key: 'domain_name__exact')) .query_param(new_parameter(, key: 'involved_in_tags__exact')) .query_param(new_parameter(, key: 'hosted_tags__icontains')) .query_param(new_parameter(id__exact, key: 'id__exact')) .query_param(new_parameter(site_id__exact, key: 'site_id__exact')) .query_param(new_parameter(, key: 'timestamp__exact')) .query_param(new_parameter(approved__exact, key: 'approved__exact')) .query_param(new_parameter(valid__exact, key: 'valid__exact')) .query_param(new_parameter(parsed__exact, key: 'parsed__exact')) .query_param(new_parameter(special_hint__exact, key: 'special_hint__exact')) .query_param(new_parameter(risk_level__exact, key: 'risk_level__exact')) .query_param(new_parameter(network_id__exact, key: 'network_id__exact')) .query_param(new_parameter(virtual_zone_id__exact, key: 'virtual_zone_id__exact')) .query_param(new_parameter(subnet_id__exact, key: 'subnet_id__exact')) .query_param(new_parameter(purdue_level__exact, key: 'purdue_level__exact')) .header_param(new_parameter('application/json', key: 'accept')) .auth(Single.new('global'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(GetAssetsResponse.method(:from_hash))) .execute end |
#get_assetswith_insights(page: nil, per_page: nil, name__exact: nil, ghost__exact: nil, risk_level__exact: nil, site_name__exact: nil, network_id__exact: nil, ipv4__exact: nil, ipv6__exact: nil, mac__icontains: nil, asset_type__exact: nil, os__exact: nil, model__icontains: nil, vendor__icontains: nil, firmware__exact: nil, criticality__exact: nil, insight_cve_id__exact: nil, insight_cvss__exact: nil, insight_title__contains: nil, insight_published__exact: nil, insight_modified__exact: nil, insight_status__exact: nil, insight_identified_on__exact: nil, insight_last_updated__exact: nil, insight_comment__contains: nil) ⇒ AssetsWithInsightsResponse
Returns Assets with the top 10 highest score Insights. Note: The used lookups are optional be included in the results if the asset has only incoming communication, that is, an asset that has never replied vulnerable this Asset is to attacks which the Asset belongs to which the Asset belongs related to the Asset related to the Asset device (free text) example SCADA client, PLC, etc. system that runs on the Asset Asset’s model name Asset is to the overall operation. Options: 1 - Low 2 - Medium 3 - High the CVE connected to the Insight title when the CVE’s was published: Format: YYYY-MM-DD HH:MM:SS Example: 2016-11-15 06:20:05 of the latest modification made to the CVE by the global provider. Format: YYYY-MM-DD HH:MM:SS Example: 2016-11-15 06:20:05 represents the CVE’s status. Options: 0 - Open 1- Hidden 2 - Completed when the CVE was identified. Format: YYYY-MM-DD**T**HH:MM:SS (in UTC) Example: 2022-11-01T16:22:05 when the latest change to the CVE was made in the EMC. Format: YYYY-MM-DD**T**HH:MM:SS+00:00 (in UTC) Example: 2022-11-01T16:22:05+00:00 provided by a user
347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 |
# File 'lib/ctd_documentation/controllers/assets_controller.rb', line 347 def get_assetswith_insights(page: nil, per_page: nil, name__exact: nil, ghost__exact: nil, risk_level__exact: nil, site_name__exact: nil, network_id__exact: nil, ipv4__exact: nil, ipv6__exact: nil, mac__icontains: nil, asset_type__exact: nil, os__exact: nil, model__icontains: nil, vendor__icontains: nil, firmware__exact: nil, criticality__exact: nil, insight_cve_id__exact: nil, insight_cvss__exact: nil, insight_title__contains: nil, insight_published__exact: nil, insight_modified__exact: nil, insight_status__exact: nil, insight_identified_on__exact: nil, insight_last_updated__exact: nil, insight_comment__contains: nil) new_api_call_builder .request(new_request_builder(HttpMethodEnum::GET, '/ranger/assets_with_insights', Server::DEFAULT) .query_param(new_parameter(page, key: 'page')) .query_param(new_parameter(per_page, key: 'per_page')) .query_param(new_parameter(name__exact, key: 'name__exact')) .query_param(new_parameter(ghost__exact, key: 'ghost__exact')) .query_param(new_parameter(risk_level__exact, key: 'risk_level__exact')) .query_param(new_parameter(site_name__exact, key: 'site_name__exact')) .query_param(new_parameter(network_id__exact, key: 'network_id__exact')) .query_param(new_parameter(ipv4__exact, key: 'ipv4__exact')) .query_param(new_parameter(ipv6__exact, key: 'ipv6__exact')) .query_param(new_parameter(mac__icontains, key: 'mac__icontains')) .query_param(new_parameter(asset_type__exact, key: 'asset_type__exact')) .query_param(new_parameter(os__exact, key: 'os__exact')) .query_param(new_parameter(model__icontains, key: 'model__icontains')) .query_param(new_parameter(vendor__icontains, key: 'vendor__icontains')) .query_param(new_parameter(firmware__exact, key: 'firmware__exact')) .query_param(new_parameter(criticality__exact, key: 'criticality__exact')) .query_param(new_parameter(insight_cve_id__exact, key: 'insight_cve_id__exact')) .query_param(new_parameter(insight_cvss__exact, key: 'insight_cvss__exact')) .query_param(new_parameter(insight_title__contains, key: 'insight_title__contains')) .query_param(new_parameter(insight_published__exact, key: 'insight_published__exact')) .query_param(new_parameter(insight_modified__exact, key: 'insight_modified__exact')) .query_param(new_parameter(insight_status__exact, key: 'insight_status__exact')) .query_param(new_parameter(insight_identified_on__exact, key: 'insight_identified_on__exact')) .query_param(new_parameter(insight_last_updated__exact, key: 'insight_last_updated__exact')) .query_param(new_parameter(insight_comment__contains, key: 'insight_comment__contains')) .header_param(new_parameter('application/json', key: 'accept')) .auth(Single.new('global'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(AssetsWithInsightsResponse.method(:from_hash))) .execute end |