datadog_api_client 2.29.1 → 2.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.apigentools-info +4 -4
- data/.generator/schemas/v1/openapi.yaml +591 -464
- data/.generator/schemas/v2/openapi.yaml +4175 -744
- data/.github/CODEOWNERS +5 -5
- data/.github/workflows/docs.yml +2 -2
- data/.github/workflows/prepare_release.yml +1 -1
- data/.github/workflows/test.yml +4 -1
- data/CHANGELOG.md +42 -0
- data/Gemfile +1 -1
- data/LICENSE-3rdparty.csv +1 -1
- data/RELEASING.md +1 -1
- data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +9 -6
- data/examples/v1/azure-integration/UpdateAzureIntegration.rb +0 -6
- data/examples/v1/logs-pipelines/CreateLogsPipeline.rb +1 -0
- data/examples/v1/logs-pipelines/UpdateLogsPipeline.rb +1 -0
- data/examples/v1/monitors/CreateMonitor_1303514967.rb +32 -0
- data/examples/v1/monitors/ListMonitors.rb +1 -1
- data/examples/v1/monitors/{ListMonitors_3448441939.rb → ListMonitors_2154432960.rb} +1 -1
- data/examples/v1/monitors/{ListMonitors_2966492814.rb → ListMonitors_463213563.rb} +1 -1
- data/examples/v2/action-connection/CreateActionConnection.rb +22 -0
- data/examples/v2/action-connection/DeleteActionConnection.rb +5 -0
- data/examples/v2/action-connection/DeleteActionConnection_2142905164.rb +8 -0
- data/examples/v2/action-connection/GetActionConnection.rb +5 -0
- data/examples/v2/action-connection/UpdateActionConnection.rb +22 -0
- data/examples/v2/agentless-scanning/ListAwsScanOptions.rb +5 -0
- data/examples/v2/{apps → app-builder}/CreateApp.rb +4 -4
- data/examples/v2/{apps → app-builder}/DeleteApp.rb +1 -1
- data/examples/v2/{apps → app-builder}/DeleteApps.rb +2 -2
- data/examples/v2/{apps → app-builder}/GetApp.rb +1 -1
- data/examples/v2/{apps → app-builder}/ListApps.rb +1 -1
- data/examples/v2/app-builder/PublishApp.rb +11 -0
- data/examples/v2/app-builder/UnpublishApp.rb +11 -0
- data/examples/v2/{apps → app-builder}/UpdateApp.rb +2 -2
- data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_819339921.rb +29 -0
- data/examples/v2/csm-coverage-analysis/GetCSMCloudAccountsCoverageAnalysis.rb +5 -0
- data/examples/v2/csm-coverage-analysis/GetCSMHostsAndContainersCoverageAnalysis.rb +5 -0
- data/examples/v2/csm-coverage-analysis/GetCSMServerlessCoverageAnalysis.rb +5 -0
- data/examples/v2/data-deletion/CreateDataDeletionRequest.rb +1 -0
- data/examples/v2/events/CreateEvent.rb +1 -1
- data/examples/v2/logs/ListLogs.rb +12 -6
- data/examples/v2/logs/ListLogsGet.rb +1 -1
- data/examples/v2/logs/ListLogsGet_175182691.rb +5 -0
- data/examples/v2/logs/ListLogs_3400928236.rb +23 -0
- data/examples/v2/logs/ListLogs_534975433.rb +29 -0
- data/examples/v2/microsoft-teams-integration/CreateWorkflowsWebhookHandle.rb +15 -0
- data/examples/v2/microsoft-teams-integration/CreateWorkflowsWebhookHandle_1716851881.rb +15 -0
- data/examples/v2/microsoft-teams-integration/DeleteWorkflowsWebhookHandle.rb +5 -0
- data/examples/v2/microsoft-teams-integration/DeleteWorkflowsWebhookHandle_107549514.rb +8 -0
- data/examples/v2/microsoft-teams-integration/GetWorkflowsWebhookHandle.rb +5 -0
- data/examples/v2/microsoft-teams-integration/GetWorkflowsWebhookHandle_3421443805.rb +8 -0
- data/examples/v2/microsoft-teams-integration/ListWorkflowsWebhookHandles.rb +5 -0
- data/examples/v2/microsoft-teams-integration/ListWorkflowsWebhookHandles_620762083.rb +5 -0
- data/examples/v2/microsoft-teams-integration/UpdateWorkflowsWebhookHandle.rb +15 -0
- data/examples/v2/microsoft-teams-integration/UpdateWorkflowsWebhookHandle_163189594.rb +18 -0
- data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +1 -0
- data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression_3192265332.rb +1 -0
- data/examples/v2/security-monitoring/CreateSignalNotificationRule.rb +30 -0
- data/examples/v2/security-monitoring/CreateVulnerabilityNotificationRule.rb +30 -0
- data/examples/v2/security-monitoring/DeleteSignalNotificationRule.rb +8 -0
- data/examples/v2/security-monitoring/DeleteVulnerabilityNotificationRule.rb +8 -0
- data/examples/v2/security-monitoring/GetSBOM.rb +5 -0
- data/examples/v2/security-monitoring/GetSignalNotificationRule.rb +8 -0
- data/examples/v2/security-monitoring/GetSignalNotificationRules.rb +5 -0
- data/examples/v2/security-monitoring/GetVulnerabilityNotificationRule.rb +8 -0
- data/examples/v2/security-monitoring/GetVulnerabilityNotificationRules.rb +5 -0
- data/examples/v2/security-monitoring/ListVulnerabilities.rb +10 -0
- data/examples/v2/security-monitoring/ListVulnerableAssets.rb +10 -0
- data/examples/v2/security-monitoring/PatchSignalNotificationRule.rb +35 -0
- data/examples/v2/security-monitoring/PatchVulnerabilityNotificationRule.rb +35 -0
- data/examples/v2/security-monitoring/RunHistoricalJob.rb +2 -2
- data/examples/v2/usage-metering/GetActiveBillingDimensions.rb +0 -3
- data/examples/v2/usage-metering/GetBillingDimensionMapping.rb +0 -3
- data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +0 -3
- data/lib/datadog_api_client/configuration.rb +2 -5
- data/lib/datadog_api_client/inflector.rb +145 -44
- data/lib/datadog_api_client/v1/api/monitors_api.rb +28 -4
- data/lib/datadog_api_client/v1/models/azure_account.rb +42 -13
- data/lib/datadog_api_client/v1/models/dashboard.rb +0 -2
- data/lib/datadog_api_client/v1/models/logs_pipeline.rb +23 -1
- data/lib/datadog_api_client/v1/models/monitor_formula_and_function_cost_aggregator.rb +34 -0
- data/lib/datadog_api_client/v1/models/monitor_formula_and_function_cost_data_source.rb +28 -0
- data/lib/datadog_api_client/v1/models/{azure_account_metrics_config.rb → monitor_formula_and_function_cost_query_definition.rb} +81 -16
- data/lib/datadog_api_client/v1/models/monitor_formula_and_function_query_definition.rb +2 -1
- data/lib/datadog_api_client/v1/models/monitor_type.rb +1 -0
- data/lib/datadog_api_client/v1/models/monitor_update_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/resource_provider_config.rb +115 -0
- data/lib/datadog_api_client/v1/models/synthetics_step.rb +11 -1
- data/lib/datadog_api_client/v1/models/usage_summary_date.rb +184 -4
- data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +183 -3
- data/lib/datadog_api_client/v1/models/usage_summary_response.rb +183 -3
- data/lib/datadog_api_client/v2/api/action_connection_api.rb +295 -0
- data/lib/datadog_api_client/v2/api/agentless_scanning_api.rb +86 -0
- data/lib/datadog_api_client/v2/api/{apps_api.rb → app_builder_api.rb} +184 -38
- data/lib/datadog_api_client/v2/api/csm_coverage_analysis_api.rb +212 -0
- data/lib/datadog_api_client/v2/api/logs_api.rb +8 -8
- data/lib/datadog_api_client/v2/api/metrics_api.rb +1 -1
- data/lib/datadog_api_client/v2/api/microsoft_teams_integration_api.rb +331 -0
- data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +13 -3
- data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +1123 -1
- data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -19
- data/lib/datadog_api_client/v2/models/action_connection_attributes.rb +144 -0
- data/lib/datadog_api_client/v2/models/{app_builder_error_errors_items.rb → action_connection_attributes_update.rb} +18 -18
- data/lib/datadog_api_client/v2/models/action_connection_data.rb +154 -0
- data/lib/datadog_api_client/v2/models/{delete_app_response_data_type.rb → action_connection_data_type.rb} +3 -3
- data/lib/datadog_api_client/v2/models/action_connection_data_update.rb +144 -0
- data/lib/datadog_api_client/v2/models/action_connection_integration.rb +63 -0
- data/lib/datadog_api_client/v2/models/action_connection_integration_update.rb +63 -0
- data/lib/datadog_api_client/v2/models/advisory.rb +154 -0
- data/lib/datadog_api_client/v2/models/app_builder_event.rb +1 -1
- data/lib/datadog_api_client/v2/models/{get_app_response_data_type.rb → app_definition_type.rb} +2 -2
- data/lib/datadog_api_client/v2/models/{deployment_included_type.rb → app_deployment_type.rb} +2 -2
- data/lib/datadog_api_client/v2/models/app_meta.rb +15 -25
- data/lib/datadog_api_client/v2/models/{get_app_response_relationship.rb → app_relationship.rb} +5 -5
- data/lib/datadog_api_client/v2/models/asset.rb +165 -0
- data/lib/datadog_api_client/v2/models/asset_attributes.rb +218 -0
- data/lib/datadog_api_client/v2/models/{script_data_type.rb → asset_entity_type.rb} +3 -3
- data/lib/datadog_api_client/v2/models/asset_operating_system.rb +133 -0
- data/lib/datadog_api_client/v2/models/asset_risks.rb +163 -0
- data/lib/datadog_api_client/v2/models/asset_type.rb +30 -0
- data/lib/datadog_api_client/v2/models/{disable_app_response_data_attributes.rb → asset_version.rb} +21 -11
- data/lib/datadog_api_client/v2/models/aws_assume_role.rb +191 -0
- data/lib/datadog_api_client/v2/models/{input_schema_data_type.rb → aws_assume_role_type.rb} +3 -3
- data/lib/datadog_api_client/v2/models/aws_assume_role_update.rb +166 -0
- data/lib/datadog_api_client/v2/models/aws_credentials.rb +62 -0
- data/lib/datadog_api_client/v2/models/aws_credentials_update.rb +62 -0
- data/lib/datadog_api_client/v2/models/aws_integration.rb +144 -0
- data/lib/datadog_api_client/v2/models/{deploy_app_response_data_type.rb → aws_integration_type.rb} +3 -3
- data/lib/datadog_api_client/v2/models/aws_integration_update.rb +133 -0
- data/lib/datadog_api_client/v2/models/aws_scan_options_attributes.rb +135 -0
- data/lib/datadog_api_client/v2/models/{input_schema_data.rb → aws_scan_options_data.rb} +8 -8
- data/lib/datadog_api_client/v2/models/aws_scan_options_response.rb +107 -0
- data/lib/datadog_api_client/v2/models/{delete_apps_request_data_items_type.rb → aws_scan_options_type.rb} +3 -3
- data/lib/datadog_api_client/v2/models/change_event_custom_attributes.rb +1 -1
- data/lib/datadog_api_client/v2/models/change_event_custom_attributes_changed_resource.rb +1 -1
- data/lib/datadog_api_client/v2/models/change_event_custom_attributes_changed_resource_type.rb +1 -0
- data/lib/datadog_api_client/v2/models/ci_app_create_pipeline_event_request_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/{deployment_included_meta.rb → code_location.rb} +41 -33
- data/lib/datadog_api_client/v2/models/component.rb +6 -6
- data/lib/datadog_api_client/v2/models/component_grid.rb +6 -6
- data/lib/datadog_api_client/v2/models/component_grid_properties.rb +4 -4
- data/lib/datadog_api_client/v2/models/component_grid_properties_is_visible.rb +1 -1
- data/lib/datadog_api_client/v2/models/component_grid_type.rb +1 -1
- data/lib/datadog_api_client/v2/models/component_properties.rb +3 -3
- data/lib/datadog_api_client/v2/models/component_properties_is_visible.rb +1 -1
- data/lib/datadog_api_client/v2/models/component_type.rb +1 -1
- data/lib/datadog_api_client/v2/models/create_action_connection_request.rb +123 -0
- data/lib/datadog_api_client/v2/models/{script.rb → create_action_connection_response.rb} +5 -5
- data/lib/datadog_api_client/v2/models/create_app_request.rb +2 -2
- data/lib/datadog_api_client/v2/models/create_app_request_data.rb +4 -4
- data/lib/datadog_api_client/v2/models/create_app_request_data_attributes.rb +19 -41
- data/lib/datadog_api_client/v2/models/create_app_response.rb +2 -2
- data/lib/datadog_api_client/v2/models/create_app_response_data.rb +5 -5
- data/lib/datadog_api_client/v2/models/create_data_deletion_request_body_data.rb +24 -3
- data/lib/datadog_api_client/v2/models/{disable_app_response_data_type.rb → create_data_deletion_request_body_data_type.rb} +3 -3
- data/lib/datadog_api_client/v2/models/create_notification_rule_parameters.rb +105 -0
- data/lib/datadog_api_client/v2/models/create_notification_rule_parameters_data.rb +144 -0
- data/lib/datadog_api_client/v2/models/create_notification_rule_parameters_data_attributes.rb +195 -0
- data/lib/datadog_api_client/v2/models/csm_cloud_accounts_coverage_analysis_attributes.rb +145 -0
- data/lib/datadog_api_client/v2/models/{disable_app_response_data.rb → csm_cloud_accounts_coverage_analysis_data.rb} +9 -19
- data/lib/datadog_api_client/v2/models/csm_cloud_accounts_coverage_analysis_response.rb +105 -0
- data/lib/datadog_api_client/v2/models/csm_coverage_analysis.rb +135 -0
- data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_attributes.rb +145 -0
- data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_data.rb +125 -0
- data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_response.rb +105 -0
- data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_attributes.rb +125 -0
- data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_data.rb +125 -0
- data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_response.rb +105 -0
- data/lib/datadog_api_client/v2/models/custom_connection.rb +5 -5
- data/lib/datadog_api_client/v2/models/custom_connection_attributes.rb +3 -3
- data/lib/datadog_api_client/v2/models/custom_connection_attributes_on_prem_runner.rb +3 -3
- data/lib/datadog_api_client/v2/models/custom_connection_type.rb +1 -1
- data/lib/datadog_api_client/v2/models/cvss.rb +165 -0
- data/lib/datadog_api_client/v2/models/delete_app_response.rb +1 -1
- data/lib/datadog_api_client/v2/models/delete_app_response_data.rb +4 -4
- data/lib/datadog_api_client/v2/models/delete_apps_request.rb +2 -2
- data/lib/datadog_api_client/v2/models/delete_apps_request_data_items.rb +5 -5
- data/lib/datadog_api_client/v2/models/delete_apps_response.rb +2 -2
- data/lib/datadog_api_client/v2/models/delete_apps_response_data_items.rb +5 -5
- data/lib/datadog_api_client/v2/models/dependency_location.rb +207 -0
- data/lib/datadog_api_client/v2/models/{deploy_app_response_data.rb → deployment.rb} +11 -11
- data/lib/datadog_api_client/v2/models/{deploy_app_response_data_attributes.rb → deployment_attributes.rb} +5 -5
- data/lib/datadog_api_client/v2/models/{deployment_relationship_meta.rb → deployment_metadata.rb} +9 -9
- data/lib/datadog_api_client/v2/models/deployment_relationship.rb +4 -4
- data/lib/datadog_api_client/v2/models/deployment_relationship_data.rb +5 -5
- data/lib/datadog_api_client/v2/models/entity_v3.rb +2 -1
- data/lib/datadog_api_client/v2/models/entity_v3_api.rb +180 -0
- data/lib/datadog_api_client/v2/models/entity_v3_api_datadog.rb +126 -0
- data/lib/datadog_api_client/v2/models/entity_v3_api_kind.rb +26 -0
- data/lib/datadog_api_client/v2/models/entity_v3_api_spec.rb +151 -0
- data/lib/datadog_api_client/v2/models/entity_v3_api_spec_interface_definition.rb +80 -0
- data/lib/datadog_api_client/v2/models/{entity_v3_metadata_owner.rb → entity_v3_api_spec_interface_file_ref.rb} +12 -12
- data/lib/datadog_api_client/v2/models/entity_v3_metadata.rb +1 -1
- data/lib/datadog_api_client/v2/models/epss.rb +144 -0
- data/lib/datadog_api_client/v2/models/{input_schema.rb → get_action_connection_response.rb} +5 -5
- data/lib/datadog_api_client/v2/models/get_app_response.rb +7 -7
- data/lib/datadog_api_client/v2/models/get_app_response_data.rb +6 -6
- data/lib/datadog_api_client/v2/models/get_app_response_data_attributes.rb +20 -42
- data/lib/datadog_api_client/v2/models/get_sbom_response.rb +123 -0
- data/lib/datadog_api_client/v2/models/historical_job_options.rb +168 -0
- data/lib/datadog_api_client/v2/models/historical_job_query.rb +171 -0
- data/lib/datadog_api_client/v2/models/{app_builder_error.rb → http_body.rb} +21 -13
- data/lib/datadog_api_client/v2/models/http_credentials.rb +62 -0
- data/lib/datadog_api_client/v2/models/http_credentials_update.rb +62 -0
- data/lib/datadog_api_client/v2/models/http_header.rb +150 -0
- data/lib/datadog_api_client/v2/models/http_header_update.rb +149 -0
- data/lib/datadog_api_client/v2/models/http_integration.rb +171 -0
- data/lib/datadog_api_client/v2/models/http_integration_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/http_integration_update.rb +156 -0
- data/lib/datadog_api_client/v2/models/http_token.rb +171 -0
- data/lib/datadog_api_client/v2/models/http_token_auth.rb +169 -0
- data/lib/datadog_api_client/v2/models/http_token_auth_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/http_token_auth_update.rb +169 -0
- data/lib/datadog_api_client/v2/models/http_token_update.rb +181 -0
- data/lib/datadog_api_client/v2/models/job_definition.rb +6 -18
- data/lib/datadog_api_client/v2/models/jsonapi_error_item.rb +21 -1
- data/lib/datadog_api_client/v2/models/{app_builder_error_errors_items_source.rb → jsonapi_error_item_source.rb} +16 -6
- data/lib/datadog_api_client/v2/models/library.rb +133 -0
- data/lib/datadog_api_client/v2/models/links.rb +185 -0
- data/lib/datadog_api_client/v2/models/list_apps_response.rb +5 -5
- data/lib/datadog_api_client/v2/models/list_apps_response_data_items.rb +8 -8
- data/lib/datadog_api_client/v2/models/list_apps_response_data_items_attributes.rb +6 -6
- data/lib/datadog_api_client/v2/models/list_apps_response_data_items_relationships.rb +2 -2
- data/lib/datadog_api_client/v2/models/list_apps_response_meta.rb +2 -2
- data/lib/datadog_api_client/v2/models/list_apps_response_meta_page.rb +3 -3
- data/lib/datadog_api_client/v2/models/list_vulnerabilities_response.rb +145 -0
- data/lib/datadog_api_client/v2/models/list_vulnerable_assets_response.rb +145 -0
- data/lib/datadog_api_client/v2/models/logs_archive_destination_s3.rb +11 -1
- data/lib/datadog_api_client/v2/models/logs_archive_encryption_s3.rb +133 -0
- data/lib/datadog_api_client/v2/models/logs_archive_encryption_s3_type.rb +28 -0
- data/lib/datadog_api_client/v2/models/metadata.rb +165 -0
- data/lib/datadog_api_client/v2/models/microsoft_teams_create_workflows_webhook_handle_request.rb +123 -0
- data/lib/datadog_api_client/v2/models/microsoft_teams_update_workflows_webhook_handle_request.rb +123 -0
- data/lib/datadog_api_client/v2/models/microsoft_teams_update_workflows_webhook_handle_request_data.rb +144 -0
- data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_attributes.rb +144 -0
- data/lib/datadog_api_client/v2/models/{input_schema_data_attributes_parameters_items_data_attributes.rb → microsoft_teams_workflows_webhook_handle_request_attributes.rb} +46 -51
- data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_request_data.rb +144 -0
- data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_response.rb +123 -0
- data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_response_data.rb +147 -0
- data/lib/datadog_api_client/v2/models/{create_app_response_data_type.rb → microsoft_teams_workflows_webhook_handle_type.rb} +3 -3
- data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handles_response.rb +125 -0
- data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_response_attributes.rb +123 -0
- data/lib/datadog_api_client/v2/models/notification_rule.rb +168 -0
- data/lib/datadog_api_client/v2/models/notification_rule_attributes.rb +311 -0
- data/lib/datadog_api_client/v2/models/{input_schema_data_attributes_parameters_items.rb → notification_rule_response.rb} +9 -5
- data/lib/datadog_api_client/v2/models/{create_app_request_data_type.rb → notification_rules_type.rb} +3 -3
- data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters.rb +105 -0
- data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters_data.rb +165 -0
- data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters_data_attributes.rb +165 -0
- data/lib/datadog_api_client/v2/models/{disable_app_response.rb → publish_app_response.rb} +5 -5
- data/lib/datadog_api_client/v2/models/query.rb +7 -7
- data/lib/datadog_api_client/v2/models/query_type.rb +1 -1
- data/lib/datadog_api_client/v2/models/remediation.rb +278 -0
- data/lib/datadog_api_client/v2/models/rule_severity.rb +31 -0
- data/lib/datadog_api_client/v2/models/rule_types_items.rb +42 -0
- data/lib/datadog_api_client/v2/models/{deployment_included_attributes.rb → rule_user.rb} +21 -11
- data/lib/datadog_api_client/v2/models/{script_data.rb → sbom.rb} +8 -8
- data/lib/datadog_api_client/v2/models/sbom_attributes.rb +230 -0
- data/lib/datadog_api_client/v2/models/sbom_component.rb +185 -0
- data/lib/datadog_api_client/v2/models/sbom_component_type.rb +37 -0
- data/lib/datadog_api_client/v2/models/sbom_metadata.rb +105 -0
- data/lib/datadog_api_client/v2/models/{script_data_attributes.rb → sbom_metadata_component.rb} +6 -16
- data/lib/datadog_api_client/v2/models/sbom_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_reference_table.rb +2 -2
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_create.rb +2 -2
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_evaluation_window.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_impossible_travel_options.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_new_value_options.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +6 -6
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_create_payload.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_payload.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_response.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_payload.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_test_payload.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +12 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +1 -1
- data/lib/datadog_api_client/v2/models/selectors.rb +160 -0
- data/lib/datadog_api_client/v2/models/spec_version.rb +31 -0
- data/lib/datadog_api_client/v2/models/token_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/trigger_source.rb +28 -0
- data/lib/datadog_api_client/v2/models/unpublish_app_response.rb +105 -0
- data/lib/datadog_api_client/v2/models/update_action_connection_request.rb +123 -0
- data/lib/datadog_api_client/v2/models/{deploy_app_response.rb → update_action_connection_response.rb} +5 -5
- data/lib/datadog_api_client/v2/models/update_app_request.rb +2 -2
- data/lib/datadog_api_client/v2/models/update_app_request_data.rb +6 -6
- data/lib/datadog_api_client/v2/models/update_app_request_data_attributes.rb +19 -41
- data/lib/datadog_api_client/v2/models/update_app_response.rb +7 -7
- data/lib/datadog_api_client/v2/models/update_app_response_data.rb +6 -6
- data/lib/datadog_api_client/v2/models/update_app_response_data_attributes.rb +20 -42
- data/lib/datadog_api_client/v2/models/url_param.rb +150 -0
- data/lib/datadog_api_client/v2/models/url_param_update.rb +149 -0
- data/lib/datadog_api_client/v2/models/vulnerabilities_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/vulnerability.rb +186 -0
- data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +462 -0
- data/lib/datadog_api_client/v2/models/{deployment_meta.rb → vulnerability_cvss.rb} +43 -34
- data/lib/datadog_api_client/v2/models/vulnerability_dependency_locations.rb +143 -0
- data/lib/datadog_api_client/v2/models/vulnerability_ecosystem.rb +36 -0
- data/lib/datadog_api_client/v2/models/vulnerability_relationships.rb +123 -0
- data/lib/datadog_api_client/v2/models/vulnerability_relationships_affects.rb +123 -0
- data/lib/datadog_api_client/v2/models/{deployment_included.rb → vulnerability_relationships_affects_data.rb} +38 -29
- data/lib/datadog_api_client/v2/models/vulnerability_risks.rb +198 -0
- data/lib/datadog_api_client/v2/models/vulnerability_severity.rb +31 -0
- data/lib/datadog_api_client/v2/models/vulnerability_status.rb +30 -0
- data/lib/datadog_api_client/v2/models/vulnerability_tool.rb +28 -0
- data/lib/datadog_api_client/v2/models/vulnerability_type.rb +67 -0
- data/lib/datadog_api_client/version.rb +1 -1
- metadata +194 -56
- data/examples/v2/app-deployment/DeployApp.rb +0 -11
- data/examples/v2/app-deployment/DisableApp.rb +0 -11
- data/lib/datadog_api_client/v2/api/app_deployment_api.rb +0 -168
- data/lib/datadog_api_client/v2/models/delete_apps_response_data_items_type.rb +0 -26
- data/lib/datadog_api_client/v2/models/deployment_relationship_data_type.rb +0 -26
- data/lib/datadog_api_client/v2/models/input_schema_data_attributes.rb +0 -107
- data/lib/datadog_api_client/v2/models/input_schema_data_attributes_parameters_items_data.rb +0 -105
- data/lib/datadog_api_client/v2/models/list_apps_response_data_items_type.rb +0 -26
- data/lib/datadog_api_client/v2/models/update_app_request_data_type.rb +0 -26
- data/lib/datadog_api_client/v2/models/update_app_response_data_type.rb +0 -26
- data/lib/datadog_api_client/v2/models/update_app_response_relationship.rb +0 -117
@@ -505,6 +505,140 @@ module DatadogAPIClient::V2
|
|
505
505
|
return data, status_code, headers
|
506
506
|
end
|
507
507
|
|
508
|
+
# Create a new signal-based rule.
|
509
|
+
#
|
510
|
+
# @see #create_signal_notification_rule_with_http_info
|
511
|
+
def create_signal_notification_rule(body, opts = {})
|
512
|
+
data, _status_code, _headers = create_signal_notification_rule_with_http_info(body, opts)
|
513
|
+
data
|
514
|
+
end
|
515
|
+
|
516
|
+
# Create a new signal-based rule.
|
517
|
+
#
|
518
|
+
# Create a new notification rule for security signals and return the created rule.
|
519
|
+
#
|
520
|
+
# @param body [CreateNotificationRuleParameters] The body of the create notification rule request is composed of the rule type and the rule attributes: the rule name, the selectors, the notification targets, and the rule enabled status.
|
521
|
+
# @param opts [Hash] the optional parameters
|
522
|
+
# @return [Array<(NotificationRuleResponse, Integer, Hash)>] NotificationRuleResponse data, response status code and response headers
|
523
|
+
def create_signal_notification_rule_with_http_info(body, opts = {})
|
524
|
+
|
525
|
+
if @api_client.config.debugging
|
526
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.create_signal_notification_rule ...'
|
527
|
+
end
|
528
|
+
# verify the required parameter 'body' is set
|
529
|
+
if @api_client.config.client_side_validation && body.nil?
|
530
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.create_signal_notification_rule"
|
531
|
+
end
|
532
|
+
# resource path
|
533
|
+
local_var_path = '/api/v2/security/signals/notification_rules'
|
534
|
+
|
535
|
+
# query parameters
|
536
|
+
query_params = opts[:query_params] || {}
|
537
|
+
|
538
|
+
# header parameters
|
539
|
+
header_params = opts[:header_params] || {}
|
540
|
+
# HTTP header 'Accept' (if needed)
|
541
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
542
|
+
# HTTP header 'Content-Type'
|
543
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
544
|
+
|
545
|
+
# form parameters
|
546
|
+
form_params = opts[:form_params] || {}
|
547
|
+
|
548
|
+
# http body (model)
|
549
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
|
550
|
+
|
551
|
+
# return_type
|
552
|
+
return_type = opts[:debug_return_type] || 'NotificationRuleResponse'
|
553
|
+
|
554
|
+
# auth_names
|
555
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
556
|
+
|
557
|
+
new_options = opts.merge(
|
558
|
+
:operation => :create_signal_notification_rule,
|
559
|
+
:header_params => header_params,
|
560
|
+
:query_params => query_params,
|
561
|
+
:form_params => form_params,
|
562
|
+
:body => post_body,
|
563
|
+
:auth_names => auth_names,
|
564
|
+
:return_type => return_type,
|
565
|
+
:api_version => "V2"
|
566
|
+
)
|
567
|
+
|
568
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
|
569
|
+
if @api_client.config.debugging
|
570
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#create_signal_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
571
|
+
end
|
572
|
+
return data, status_code, headers
|
573
|
+
end
|
574
|
+
|
575
|
+
# Create a new vulnerability-based rule.
|
576
|
+
#
|
577
|
+
# @see #create_vulnerability_notification_rule_with_http_info
|
578
|
+
def create_vulnerability_notification_rule(body, opts = {})
|
579
|
+
data, _status_code, _headers = create_vulnerability_notification_rule_with_http_info(body, opts)
|
580
|
+
data
|
581
|
+
end
|
582
|
+
|
583
|
+
# Create a new vulnerability-based rule.
|
584
|
+
#
|
585
|
+
# Create a new notification rule for security vulnerabilities and return the created rule.
|
586
|
+
#
|
587
|
+
# @param body [CreateNotificationRuleParameters] The body of the create notification rule request is composed of the rule type and the rule attributes: the rule name, the selectors, the notification targets, and the rule enabled status.
|
588
|
+
# @param opts [Hash] the optional parameters
|
589
|
+
# @return [Array<(NotificationRuleResponse, Integer, Hash)>] NotificationRuleResponse data, response status code and response headers
|
590
|
+
def create_vulnerability_notification_rule_with_http_info(body, opts = {})
|
591
|
+
|
592
|
+
if @api_client.config.debugging
|
593
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.create_vulnerability_notification_rule ...'
|
594
|
+
end
|
595
|
+
# verify the required parameter 'body' is set
|
596
|
+
if @api_client.config.client_side_validation && body.nil?
|
597
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.create_vulnerability_notification_rule"
|
598
|
+
end
|
599
|
+
# resource path
|
600
|
+
local_var_path = '/api/v2/security/vulnerabilities/notification_rules'
|
601
|
+
|
602
|
+
# query parameters
|
603
|
+
query_params = opts[:query_params] || {}
|
604
|
+
|
605
|
+
# header parameters
|
606
|
+
header_params = opts[:header_params] || {}
|
607
|
+
# HTTP header 'Accept' (if needed)
|
608
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
609
|
+
# HTTP header 'Content-Type'
|
610
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
611
|
+
|
612
|
+
# form parameters
|
613
|
+
form_params = opts[:form_params] || {}
|
614
|
+
|
615
|
+
# http body (model)
|
616
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
|
617
|
+
|
618
|
+
# return_type
|
619
|
+
return_type = opts[:debug_return_type] || 'NotificationRuleResponse'
|
620
|
+
|
621
|
+
# auth_names
|
622
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
623
|
+
|
624
|
+
new_options = opts.merge(
|
625
|
+
:operation => :create_vulnerability_notification_rule,
|
626
|
+
:header_params => header_params,
|
627
|
+
:query_params => query_params,
|
628
|
+
:form_params => form_params,
|
629
|
+
:body => post_body,
|
630
|
+
:auth_names => auth_names,
|
631
|
+
:return_type => return_type,
|
632
|
+
:api_version => "V2"
|
633
|
+
)
|
634
|
+
|
635
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
|
636
|
+
if @api_client.config.debugging
|
637
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#create_vulnerability_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
638
|
+
end
|
639
|
+
return data, status_code, headers
|
640
|
+
end
|
641
|
+
|
508
642
|
# Delete an existing job.
|
509
643
|
#
|
510
644
|
# @see #delete_historical_job_with_http_info
|
@@ -771,6 +905,136 @@ module DatadogAPIClient::V2
|
|
771
905
|
return data, status_code, headers
|
772
906
|
end
|
773
907
|
|
908
|
+
# Delete a signal-based rule.
|
909
|
+
#
|
910
|
+
# @see #delete_signal_notification_rule_with_http_info
|
911
|
+
def delete_signal_notification_rule(id, opts = {})
|
912
|
+
delete_signal_notification_rule_with_http_info(id, opts)
|
913
|
+
nil
|
914
|
+
end
|
915
|
+
|
916
|
+
# Delete a signal-based rule.
|
917
|
+
#
|
918
|
+
# Delete a notification rule for security signals.
|
919
|
+
#
|
920
|
+
# @param id [String] ID of the notification rule.
|
921
|
+
# @param opts [Hash] the optional parameters
|
922
|
+
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
923
|
+
def delete_signal_notification_rule_with_http_info(id, opts = {})
|
924
|
+
|
925
|
+
if @api_client.config.debugging
|
926
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.delete_signal_notification_rule ...'
|
927
|
+
end
|
928
|
+
# verify the required parameter 'id' is set
|
929
|
+
if @api_client.config.client_side_validation && id.nil?
|
930
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling SecurityMonitoringAPI.delete_signal_notification_rule"
|
931
|
+
end
|
932
|
+
# resource path
|
933
|
+
local_var_path = '/api/v2/security/signals/notification_rules/{id}'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
|
934
|
+
|
935
|
+
# query parameters
|
936
|
+
query_params = opts[:query_params] || {}
|
937
|
+
|
938
|
+
# header parameters
|
939
|
+
header_params = opts[:header_params] || {}
|
940
|
+
# HTTP header 'Accept' (if needed)
|
941
|
+
header_params['Accept'] = @api_client.select_header_accept(['*/*'])
|
942
|
+
|
943
|
+
# form parameters
|
944
|
+
form_params = opts[:form_params] || {}
|
945
|
+
|
946
|
+
# http body (model)
|
947
|
+
post_body = opts[:debug_body]
|
948
|
+
|
949
|
+
# return_type
|
950
|
+
return_type = opts[:debug_return_type]
|
951
|
+
|
952
|
+
# auth_names
|
953
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
954
|
+
|
955
|
+
new_options = opts.merge(
|
956
|
+
:operation => :delete_signal_notification_rule,
|
957
|
+
:header_params => header_params,
|
958
|
+
:query_params => query_params,
|
959
|
+
:form_params => form_params,
|
960
|
+
:body => post_body,
|
961
|
+
:auth_names => auth_names,
|
962
|
+
:return_type => return_type,
|
963
|
+
:api_version => "V2"
|
964
|
+
)
|
965
|
+
|
966
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Delete, local_var_path, new_options)
|
967
|
+
if @api_client.config.debugging
|
968
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#delete_signal_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
969
|
+
end
|
970
|
+
return data, status_code, headers
|
971
|
+
end
|
972
|
+
|
973
|
+
# Delete a vulnerability-based rule.
|
974
|
+
#
|
975
|
+
# @see #delete_vulnerability_notification_rule_with_http_info
|
976
|
+
def delete_vulnerability_notification_rule(id, opts = {})
|
977
|
+
delete_vulnerability_notification_rule_with_http_info(id, opts)
|
978
|
+
nil
|
979
|
+
end
|
980
|
+
|
981
|
+
# Delete a vulnerability-based rule.
|
982
|
+
#
|
983
|
+
# Delete a notification rule for security vulnerabilities.
|
984
|
+
#
|
985
|
+
# @param id [String] ID of the notification rule.
|
986
|
+
# @param opts [Hash] the optional parameters
|
987
|
+
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
988
|
+
def delete_vulnerability_notification_rule_with_http_info(id, opts = {})
|
989
|
+
|
990
|
+
if @api_client.config.debugging
|
991
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.delete_vulnerability_notification_rule ...'
|
992
|
+
end
|
993
|
+
# verify the required parameter 'id' is set
|
994
|
+
if @api_client.config.client_side_validation && id.nil?
|
995
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling SecurityMonitoringAPI.delete_vulnerability_notification_rule"
|
996
|
+
end
|
997
|
+
# resource path
|
998
|
+
local_var_path = '/api/v2/security/vulnerabilities/notification_rules/{id}'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
|
999
|
+
|
1000
|
+
# query parameters
|
1001
|
+
query_params = opts[:query_params] || {}
|
1002
|
+
|
1003
|
+
# header parameters
|
1004
|
+
header_params = opts[:header_params] || {}
|
1005
|
+
# HTTP header 'Accept' (if needed)
|
1006
|
+
header_params['Accept'] = @api_client.select_header_accept(['*/*'])
|
1007
|
+
|
1008
|
+
# form parameters
|
1009
|
+
form_params = opts[:form_params] || {}
|
1010
|
+
|
1011
|
+
# http body (model)
|
1012
|
+
post_body = opts[:debug_body]
|
1013
|
+
|
1014
|
+
# return_type
|
1015
|
+
return_type = opts[:debug_return_type]
|
1016
|
+
|
1017
|
+
# auth_names
|
1018
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
1019
|
+
|
1020
|
+
new_options = opts.merge(
|
1021
|
+
:operation => :delete_vulnerability_notification_rule,
|
1022
|
+
:header_params => header_params,
|
1023
|
+
:query_params => query_params,
|
1024
|
+
:form_params => form_params,
|
1025
|
+
:body => post_body,
|
1026
|
+
:auth_names => auth_names,
|
1027
|
+
:return_type => return_type,
|
1028
|
+
:api_version => "V2"
|
1029
|
+
)
|
1030
|
+
|
1031
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Delete, local_var_path, new_options)
|
1032
|
+
if @api_client.config.debugging
|
1033
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#delete_vulnerability_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1034
|
+
end
|
1035
|
+
return data, status_code, headers
|
1036
|
+
end
|
1037
|
+
|
774
1038
|
# Modify the triage assignee of a security signal.
|
775
1039
|
#
|
776
1040
|
# @see #edit_security_monitoring_signal_assignee_with_http_info
|
@@ -1134,6 +1398,85 @@ module DatadogAPIClient::V2
|
|
1134
1398
|
return data, status_code, headers
|
1135
1399
|
end
|
1136
1400
|
|
1401
|
+
# Get SBOM.
|
1402
|
+
#
|
1403
|
+
# @see #get_sbom_with_http_info
|
1404
|
+
def get_sbom(asset_type, filter_asset_name, opts = {})
|
1405
|
+
data, _status_code, _headers = get_sbom_with_http_info(asset_type, filter_asset_name, opts)
|
1406
|
+
data
|
1407
|
+
end
|
1408
|
+
|
1409
|
+
# Get SBOM.
|
1410
|
+
#
|
1411
|
+
# Get a single SBOM related to an asset by its type and name.
|
1412
|
+
#
|
1413
|
+
#
|
1414
|
+
# @param asset_type [AssetType] The type of the asset for the SBOM request.
|
1415
|
+
# @param filter_asset_name [String] The name of the asset for the SBOM request.
|
1416
|
+
# @param opts [Hash] the optional parameters
|
1417
|
+
# @option opts [String] :filter_repo_digest The container image `repo_digest` for the SBOM request. When the requested asset type is 'Image', this filter is mandatory.
|
1418
|
+
# @return [Array<(GetSBOMResponse, Integer, Hash)>] GetSBOMResponse data, response status code and response headers
|
1419
|
+
def get_sbom_with_http_info(asset_type, filter_asset_name, opts = {})
|
1420
|
+
|
1421
|
+
if @api_client.config.debugging
|
1422
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.get_sbom ...'
|
1423
|
+
end
|
1424
|
+
# verify the required parameter 'asset_type' is set
|
1425
|
+
if @api_client.config.client_side_validation && asset_type.nil?
|
1426
|
+
fail ArgumentError, "Missing the required parameter 'asset_type' when calling SecurityMonitoringAPI.get_sbom"
|
1427
|
+
end
|
1428
|
+
# verify enum value
|
1429
|
+
allowable_values = ['Repository', 'Service', 'Host', 'HostImage', 'Image']
|
1430
|
+
if @api_client.config.client_side_validation && !allowable_values.include?(asset_type)
|
1431
|
+
fail ArgumentError, "invalid value for \"asset_type\", must be one of #{allowable_values}"
|
1432
|
+
end
|
1433
|
+
# verify the required parameter 'filter_asset_name' is set
|
1434
|
+
if @api_client.config.client_side_validation && filter_asset_name.nil?
|
1435
|
+
fail ArgumentError, "Missing the required parameter 'filter_asset_name' when calling SecurityMonitoringAPI.get_sbom"
|
1436
|
+
end
|
1437
|
+
# resource path
|
1438
|
+
local_var_path = '/api/v2/security/sboms/{asset_type}'.sub('{asset_type}', CGI.escape(asset_type.to_s).gsub('%2F', '/'))
|
1439
|
+
|
1440
|
+
# query parameters
|
1441
|
+
query_params = opts[:query_params] || {}
|
1442
|
+
query_params[:'filter[asset_name]'] = filter_asset_name
|
1443
|
+
query_params[:'filter[repo_digest]'] = opts[:'filter_repo_digest'] if !opts[:'filter_repo_digest'].nil?
|
1444
|
+
|
1445
|
+
# header parameters
|
1446
|
+
header_params = opts[:header_params] || {}
|
1447
|
+
# HTTP header 'Accept' (if needed)
|
1448
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
1449
|
+
|
1450
|
+
# form parameters
|
1451
|
+
form_params = opts[:form_params] || {}
|
1452
|
+
|
1453
|
+
# http body (model)
|
1454
|
+
post_body = opts[:debug_body]
|
1455
|
+
|
1456
|
+
# return_type
|
1457
|
+
return_type = opts[:debug_return_type] || 'GetSBOMResponse'
|
1458
|
+
|
1459
|
+
# auth_names
|
1460
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
|
1461
|
+
|
1462
|
+
new_options = opts.merge(
|
1463
|
+
:operation => :get_sbom,
|
1464
|
+
:header_params => header_params,
|
1465
|
+
:query_params => query_params,
|
1466
|
+
:form_params => form_params,
|
1467
|
+
:body => post_body,
|
1468
|
+
:auth_names => auth_names,
|
1469
|
+
:return_type => return_type,
|
1470
|
+
:api_version => "V2"
|
1471
|
+
)
|
1472
|
+
|
1473
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
|
1474
|
+
if @api_client.config.debugging
|
1475
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#get_sbom\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1476
|
+
end
|
1477
|
+
return data, status_code, headers
|
1478
|
+
end
|
1479
|
+
|
1137
1480
|
# Get a security filter.
|
1138
1481
|
#
|
1139
1482
|
# @see #get_security_filter_with_http_info
|
@@ -1397,7 +1740,257 @@ module DatadogAPIClient::V2
|
|
1397
1740
|
return data, status_code, headers
|
1398
1741
|
end
|
1399
1742
|
|
1400
|
-
#
|
1743
|
+
# Get details of a signal-based rule.
|
1744
|
+
#
|
1745
|
+
# @see #get_signal_notification_rule_with_http_info
|
1746
|
+
def get_signal_notification_rule(id, opts = {})
|
1747
|
+
data, _status_code, _headers = get_signal_notification_rule_with_http_info(id, opts)
|
1748
|
+
data
|
1749
|
+
end
|
1750
|
+
|
1751
|
+
# Get details of a signal-based rule.
|
1752
|
+
#
|
1753
|
+
# Get the details of a notification rule for security signals.
|
1754
|
+
#
|
1755
|
+
# @param id [String] ID of the notification rule.
|
1756
|
+
# @param opts [Hash] the optional parameters
|
1757
|
+
# @return [Array<(NotificationRuleResponse, Integer, Hash)>] NotificationRuleResponse data, response status code and response headers
|
1758
|
+
def get_signal_notification_rule_with_http_info(id, opts = {})
|
1759
|
+
|
1760
|
+
if @api_client.config.debugging
|
1761
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.get_signal_notification_rule ...'
|
1762
|
+
end
|
1763
|
+
# verify the required parameter 'id' is set
|
1764
|
+
if @api_client.config.client_side_validation && id.nil?
|
1765
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling SecurityMonitoringAPI.get_signal_notification_rule"
|
1766
|
+
end
|
1767
|
+
# resource path
|
1768
|
+
local_var_path = '/api/v2/security/signals/notification_rules/{id}'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
|
1769
|
+
|
1770
|
+
# query parameters
|
1771
|
+
query_params = opts[:query_params] || {}
|
1772
|
+
|
1773
|
+
# header parameters
|
1774
|
+
header_params = opts[:header_params] || {}
|
1775
|
+
# HTTP header 'Accept' (if needed)
|
1776
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
1777
|
+
|
1778
|
+
# form parameters
|
1779
|
+
form_params = opts[:form_params] || {}
|
1780
|
+
|
1781
|
+
# http body (model)
|
1782
|
+
post_body = opts[:debug_body]
|
1783
|
+
|
1784
|
+
# return_type
|
1785
|
+
return_type = opts[:debug_return_type] || 'NotificationRuleResponse'
|
1786
|
+
|
1787
|
+
# auth_names
|
1788
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
1789
|
+
|
1790
|
+
new_options = opts.merge(
|
1791
|
+
:operation => :get_signal_notification_rule,
|
1792
|
+
:header_params => header_params,
|
1793
|
+
:query_params => query_params,
|
1794
|
+
:form_params => form_params,
|
1795
|
+
:body => post_body,
|
1796
|
+
:auth_names => auth_names,
|
1797
|
+
:return_type => return_type,
|
1798
|
+
:api_version => "V2"
|
1799
|
+
)
|
1800
|
+
|
1801
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
|
1802
|
+
if @api_client.config.debugging
|
1803
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#get_signal_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1804
|
+
end
|
1805
|
+
return data, status_code, headers
|
1806
|
+
end
|
1807
|
+
|
1808
|
+
# Get the list of signal-based rules.
|
1809
|
+
#
|
1810
|
+
# @see #get_signal_notification_rules_with_http_info
|
1811
|
+
def get_signal_notification_rules(opts = {})
|
1812
|
+
data, _status_code, _headers = get_signal_notification_rules_with_http_info(opts)
|
1813
|
+
data
|
1814
|
+
end
|
1815
|
+
|
1816
|
+
# Get the list of signal-based rules.
|
1817
|
+
#
|
1818
|
+
# Returns the list of notification rules for security signals.
|
1819
|
+
#
|
1820
|
+
# @param opts [Hash] the optional parameters
|
1821
|
+
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
1822
|
+
def get_signal_notification_rules_with_http_info(opts = {})
|
1823
|
+
|
1824
|
+
if @api_client.config.debugging
|
1825
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.get_signal_notification_rules ...'
|
1826
|
+
end
|
1827
|
+
# resource path
|
1828
|
+
local_var_path = '/api/v2/security/signals/notification_rules'
|
1829
|
+
|
1830
|
+
# query parameters
|
1831
|
+
query_params = opts[:query_params] || {}
|
1832
|
+
|
1833
|
+
# header parameters
|
1834
|
+
header_params = opts[:header_params] || {}
|
1835
|
+
# HTTP header 'Accept' (if needed)
|
1836
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
1837
|
+
|
1838
|
+
# form parameters
|
1839
|
+
form_params = opts[:form_params] || {}
|
1840
|
+
|
1841
|
+
# http body (model)
|
1842
|
+
post_body = opts[:debug_body]
|
1843
|
+
|
1844
|
+
# return_type
|
1845
|
+
return_type = opts[:debug_return_type] || 'Object'
|
1846
|
+
|
1847
|
+
# auth_names
|
1848
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
1849
|
+
|
1850
|
+
new_options = opts.merge(
|
1851
|
+
:operation => :get_signal_notification_rules,
|
1852
|
+
:header_params => header_params,
|
1853
|
+
:query_params => query_params,
|
1854
|
+
:form_params => form_params,
|
1855
|
+
:body => post_body,
|
1856
|
+
:auth_names => auth_names,
|
1857
|
+
:return_type => return_type,
|
1858
|
+
:api_version => "V2"
|
1859
|
+
)
|
1860
|
+
|
1861
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
|
1862
|
+
if @api_client.config.debugging
|
1863
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#get_signal_notification_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1864
|
+
end
|
1865
|
+
return data, status_code, headers
|
1866
|
+
end
|
1867
|
+
|
1868
|
+
# Get details of a vulnerability-based rule.
|
1869
|
+
#
|
1870
|
+
# @see #get_vulnerability_notification_rule_with_http_info
|
1871
|
+
def get_vulnerability_notification_rule(id, opts = {})
|
1872
|
+
data, _status_code, _headers = get_vulnerability_notification_rule_with_http_info(id, opts)
|
1873
|
+
data
|
1874
|
+
end
|
1875
|
+
|
1876
|
+
# Get details of a vulnerability-based rule.
|
1877
|
+
#
|
1878
|
+
# Get the details of a notification rule for security vulnerabilities.
|
1879
|
+
#
|
1880
|
+
# @param id [String] ID of the notification rule.
|
1881
|
+
# @param opts [Hash] the optional parameters
|
1882
|
+
# @return [Array<(NotificationRuleResponse, Integer, Hash)>] NotificationRuleResponse data, response status code and response headers
|
1883
|
+
def get_vulnerability_notification_rule_with_http_info(id, opts = {})
|
1884
|
+
|
1885
|
+
if @api_client.config.debugging
|
1886
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.get_vulnerability_notification_rule ...'
|
1887
|
+
end
|
1888
|
+
# verify the required parameter 'id' is set
|
1889
|
+
if @api_client.config.client_side_validation && id.nil?
|
1890
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling SecurityMonitoringAPI.get_vulnerability_notification_rule"
|
1891
|
+
end
|
1892
|
+
# resource path
|
1893
|
+
local_var_path = '/api/v2/security/vulnerabilities/notification_rules/{id}'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
|
1894
|
+
|
1895
|
+
# query parameters
|
1896
|
+
query_params = opts[:query_params] || {}
|
1897
|
+
|
1898
|
+
# header parameters
|
1899
|
+
header_params = opts[:header_params] || {}
|
1900
|
+
# HTTP header 'Accept' (if needed)
|
1901
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
1902
|
+
|
1903
|
+
# form parameters
|
1904
|
+
form_params = opts[:form_params] || {}
|
1905
|
+
|
1906
|
+
# http body (model)
|
1907
|
+
post_body = opts[:debug_body]
|
1908
|
+
|
1909
|
+
# return_type
|
1910
|
+
return_type = opts[:debug_return_type] || 'NotificationRuleResponse'
|
1911
|
+
|
1912
|
+
# auth_names
|
1913
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
1914
|
+
|
1915
|
+
new_options = opts.merge(
|
1916
|
+
:operation => :get_vulnerability_notification_rule,
|
1917
|
+
:header_params => header_params,
|
1918
|
+
:query_params => query_params,
|
1919
|
+
:form_params => form_params,
|
1920
|
+
:body => post_body,
|
1921
|
+
:auth_names => auth_names,
|
1922
|
+
:return_type => return_type,
|
1923
|
+
:api_version => "V2"
|
1924
|
+
)
|
1925
|
+
|
1926
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
|
1927
|
+
if @api_client.config.debugging
|
1928
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#get_vulnerability_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1929
|
+
end
|
1930
|
+
return data, status_code, headers
|
1931
|
+
end
|
1932
|
+
|
1933
|
+
# Get the list of vulnerability-based rules.
|
1934
|
+
#
|
1935
|
+
# @see #get_vulnerability_notification_rules_with_http_info
|
1936
|
+
def get_vulnerability_notification_rules(opts = {})
|
1937
|
+
data, _status_code, _headers = get_vulnerability_notification_rules_with_http_info(opts)
|
1938
|
+
data
|
1939
|
+
end
|
1940
|
+
|
1941
|
+
# Get the list of vulnerability-based rules.
|
1942
|
+
#
|
1943
|
+
# Returns the list of notification rules for security vulnerabilities.
|
1944
|
+
#
|
1945
|
+
# @param opts [Hash] the optional parameters
|
1946
|
+
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
1947
|
+
def get_vulnerability_notification_rules_with_http_info(opts = {})
|
1948
|
+
|
1949
|
+
if @api_client.config.debugging
|
1950
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.get_vulnerability_notification_rules ...'
|
1951
|
+
end
|
1952
|
+
# resource path
|
1953
|
+
local_var_path = '/api/v2/security/vulnerabilities/notification_rules'
|
1954
|
+
|
1955
|
+
# query parameters
|
1956
|
+
query_params = opts[:query_params] || {}
|
1957
|
+
|
1958
|
+
# header parameters
|
1959
|
+
header_params = opts[:header_params] || {}
|
1960
|
+
# HTTP header 'Accept' (if needed)
|
1961
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
1962
|
+
|
1963
|
+
# form parameters
|
1964
|
+
form_params = opts[:form_params] || {}
|
1965
|
+
|
1966
|
+
# http body (model)
|
1967
|
+
post_body = opts[:debug_body]
|
1968
|
+
|
1969
|
+
# return_type
|
1970
|
+
return_type = opts[:debug_return_type] || 'Object'
|
1971
|
+
|
1972
|
+
# auth_names
|
1973
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
1974
|
+
|
1975
|
+
new_options = opts.merge(
|
1976
|
+
:operation => :get_vulnerability_notification_rules,
|
1977
|
+
:header_params => header_params,
|
1978
|
+
:query_params => query_params,
|
1979
|
+
:form_params => form_params,
|
1980
|
+
:body => post_body,
|
1981
|
+
:auth_names => auth_names,
|
1982
|
+
:return_type => return_type,
|
1983
|
+
:api_version => "V2"
|
1984
|
+
)
|
1985
|
+
|
1986
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
|
1987
|
+
if @api_client.config.debugging
|
1988
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#get_vulnerability_notification_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1989
|
+
end
|
1990
|
+
return data, status_code, headers
|
1991
|
+
end
|
1992
|
+
|
1993
|
+
# List findings.
|
1401
1994
|
#
|
1402
1995
|
# @see #list_findings_with_http_info
|
1403
1996
|
def list_findings(opts = {})
|
@@ -1920,6 +2513,391 @@ module DatadogAPIClient::V2
|
|
1920
2513
|
return data, status_code, headers
|
1921
2514
|
end
|
1922
2515
|
|
2516
|
+
# List vulnerabilities.
|
2517
|
+
#
|
2518
|
+
# @see #list_vulnerabilities_with_http_info
|
2519
|
+
def list_vulnerabilities(opts = {})
|
2520
|
+
data, _status_code, _headers = list_vulnerabilities_with_http_info(opts)
|
2521
|
+
data
|
2522
|
+
end
|
2523
|
+
|
2524
|
+
# List vulnerabilities.
|
2525
|
+
#
|
2526
|
+
# Get a list of vulnerabilities.
|
2527
|
+
#
|
2528
|
+
# ### Pagination
|
2529
|
+
#
|
2530
|
+
# Pagination is enabled by default in both `vulnerabilities` and `assets`. The size of the page varies depending on the endpoint and cannot be modified. To automate the request of the next page, you can use the links section in the response.
|
2531
|
+
#
|
2532
|
+
# This endpoint will return paginated responses. The pages are stored in the links section of the response:
|
2533
|
+
#
|
2534
|
+
# ```JSON
|
2535
|
+
# {
|
2536
|
+
# "data": [...],
|
2537
|
+
# "meta": {...},
|
2538
|
+
# "links": {
|
2539
|
+
# "self": "https://.../api/v2/security/vulnerabilities",
|
2540
|
+
# "first": "https://.../api/v2/security/vulnerabilities?page[number]=1&page[token]=abc",
|
2541
|
+
# "last": "https://.../api/v2/security/vulnerabilities?page[number]=43&page[token]=abc",
|
2542
|
+
# "next": "https://.../api/v2/security/vulnerabilities?page[number]=2&page[token]=abc"
|
2543
|
+
# }
|
2544
|
+
# }
|
2545
|
+
# ```
|
2546
|
+
#
|
2547
|
+
#
|
2548
|
+
# - `links.previous` is empty if the first page is requested.
|
2549
|
+
# - `links.next` is empty if the last page is requested.
|
2550
|
+
#
|
2551
|
+
# #### Token
|
2552
|
+
#
|
2553
|
+
# Vulnerabilities can be created, updated or deleted at any point in time.
|
2554
|
+
#
|
2555
|
+
# Upon the first request, a token is created to ensure consistency across subsequent paginated requests.
|
2556
|
+
#
|
2557
|
+
# A token is valid only for 24 hours.
|
2558
|
+
#
|
2559
|
+
# #### First request
|
2560
|
+
#
|
2561
|
+
# We consider a request to be the first request when there is no `page[token]` parameter.
|
2562
|
+
#
|
2563
|
+
# The response of this first request contains the newly created token in the `links` section.
|
2564
|
+
#
|
2565
|
+
# This token can then be used in the subsequent paginated requests.
|
2566
|
+
#
|
2567
|
+
# #### Subsequent requests
|
2568
|
+
#
|
2569
|
+
# Any request containing valid `page[token]` and `page[number]` parameters will be considered a subsequent request.
|
2570
|
+
#
|
2571
|
+
# If the `token` is invalid, a `404` response will be returned.
|
2572
|
+
#
|
2573
|
+
# If the page `number` is invalid, a `400` response will be returned.
|
2574
|
+
#
|
2575
|
+
# ### Filtering
|
2576
|
+
#
|
2577
|
+
# The request can include some filter parameters to filter the data to be retrieved. The format of the filter parameters follows the [JSON:API format](https://jsonapi.org/format/#fetching-filtering): `filter[$prop_name]`, where `prop_name` is the property name in the entity being filtered by.
|
2578
|
+
#
|
2579
|
+
# All filters can include multiple values, where data will be filtered with an OR clause: `filter[title]=Title1,Title2` will filter all vulnerabilities where title is equal to `Title1` OR `Title2`.
|
2580
|
+
#
|
2581
|
+
# String filters are case sensitive.
|
2582
|
+
#
|
2583
|
+
# Boolean filters accept `true` or `false` as values.
|
2584
|
+
#
|
2585
|
+
# Number filters must include an operator as a second filter input: `filter[$prop_name][$operator]`. For example, for the vulnerabilities endpoint: `filter[cvss.base.score][lte]=8`.
|
2586
|
+
#
|
2587
|
+
# Available operators are: `eq` (==), `lt` (<), `lte` (<=), `gt` (>) and `gte` (>=).
|
2588
|
+
#
|
2589
|
+
# ### Metadata
|
2590
|
+
#
|
2591
|
+
# Following [JSON:API format](https://jsonapi.org/format/#document-meta), object including non-standard meta-information.
|
2592
|
+
#
|
2593
|
+
# This endpoint includes the meta member in the response. For more details on each of the properties included in this section, check the endpoints response tables.
|
2594
|
+
#
|
2595
|
+
# ```JSON
|
2596
|
+
# {
|
2597
|
+
# "data": [...],
|
2598
|
+
# "meta": {
|
2599
|
+
# "total": 1500,
|
2600
|
+
# "count": 18732,
|
2601
|
+
# "token": "some_token"
|
2602
|
+
# },
|
2603
|
+
# "links": {...}
|
2604
|
+
# }
|
2605
|
+
# ```
|
2606
|
+
#
|
2607
|
+
#
|
2608
|
+
# @param opts [Hash] the optional parameters
|
2609
|
+
# @option opts [String] :page_token Its value must come from the `links` section of the response of the first request. Do not manually edit it.
|
2610
|
+
# @option opts [Integer] :page_number The page number to be retrieved. It should be equal or greater than `1`
|
2611
|
+
# @option opts [VulnerabilityType] :filter_type Filter by vulnerability type.
|
2612
|
+
# @option opts [Float] :filter_cvss_base_score_op Filter by vulnerability base (i.e. from the original advisory) severity score.
|
2613
|
+
# @option opts [VulnerabilitySeverity] :filter_cvss_base_severity Filter by vulnerability base severity.
|
2614
|
+
# @option opts [String] :filter_cvss_base_vector Filter by vulnerability base CVSS vector.
|
2615
|
+
# @option opts [Float] :filter_cvss_datadog_score_op Filter by vulnerability Datadog severity score.
|
2616
|
+
# @option opts [VulnerabilitySeverity] :filter_cvss_datadog_severity Filter by vulnerability Datadog severity.
|
2617
|
+
# @option opts [String] :filter_cvss_datadog_vector Filter by vulnerability Datadog CVSS vector.
|
2618
|
+
# @option opts [VulnerabilityStatus] :filter_status Filter by the status of the vulnerability.
|
2619
|
+
# @option opts [VulnerabilityTool] :filter_tool Filter by the tool of the vulnerability.
|
2620
|
+
# @option opts [String] :filter_library_name Filter by library name.
|
2621
|
+
# @option opts [String] :filter_library_version Filter by library version.
|
2622
|
+
# @option opts [String] :filter_advisory_id Filter by advisory ID.
|
2623
|
+
# @option opts [Boolean] :filter_risks_exploitation_probability Filter by exploitation probability.
|
2624
|
+
# @option opts [Boolean] :filter_risks_poc_exploit_available Filter by POC exploit availability.
|
2625
|
+
# @option opts [Boolean] :filter_risks_exploit_available Filter by public exploit availability.
|
2626
|
+
# @option opts [Float] :filter_risks_epss_score_op Filter by vulnerability [EPSS](https://www.first.org/epss/) severity score.
|
2627
|
+
# @option opts [VulnerabilitySeverity] :filter_risks_epss_severity Filter by vulnerability [EPSS](https://www.first.org/epss/) severity.
|
2628
|
+
# @option opts [String] :filter_language Filter by language.
|
2629
|
+
# @option opts [VulnerabilityEcosystem] :filter_ecosystem Filter by ecosystem.
|
2630
|
+
# @option opts [String] :filter_code_location_location Filter by vulnerability location.
|
2631
|
+
# @option opts [String] :filter_code_location_file_path Filter by vulnerability file path.
|
2632
|
+
# @option opts [String] :filter_code_location_method Filter by method.
|
2633
|
+
# @option opts [Boolean] :filter_fix_available Filter by fix availability.
|
2634
|
+
# @option opts [String] :filter_repo_digests Filter by vulnerability `repo_digest` (when the vulnerability is related to `Image` asset).
|
2635
|
+
# @option opts [String] :filter_asset_name Filter by asset name.
|
2636
|
+
# @option opts [AssetType] :filter_asset_type Filter by asset type.
|
2637
|
+
# @option opts [String] :filter_asset_version_first Filter by the first version of the asset this vulnerability has been detected on.
|
2638
|
+
# @option opts [String] :filter_asset_version_last Filter by the last version of the asset this vulnerability has been detected on.
|
2639
|
+
# @option opts [String] :filter_asset_repository_url Filter by the repository url associated to the asset.
|
2640
|
+
# @option opts [Boolean] :filter_asset_risks_in_production Filter whether the asset is in production or not.
|
2641
|
+
# @option opts [Boolean] :filter_asset_risks_under_attack Filter whether the asset is under attack or not.
|
2642
|
+
# @option opts [Boolean] :filter_asset_risks_is_publicly_accessible Filter whether the asset is publicly accessible or not.
|
2643
|
+
# @option opts [Boolean] :filter_asset_risks_has_privileged_access Filter whether the asset is publicly accessible or not.
|
2644
|
+
# @option opts [Boolean] :filter_asset_risks_has_access_to_sensitive_data Filter whether the asset has access to sensitive data or not.
|
2645
|
+
# @option opts [String] :filter_asset_environments Filter by asset environments.
|
2646
|
+
# @option opts [String] :filter_asset_arch Filter by asset architecture.
|
2647
|
+
# @option opts [String] :filter_asset_operating_system_name Filter by asset operating system name.
|
2648
|
+
# @option opts [String] :filter_asset_operating_system_version Filter by asset operating system version.
|
2649
|
+
# @return [Array<(ListVulnerabilitiesResponse, Integer, Hash)>] ListVulnerabilitiesResponse data, response status code and response headers
|
2650
|
+
def list_vulnerabilities_with_http_info(opts = {})
|
2651
|
+
|
2652
|
+
if @api_client.config.debugging
|
2653
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.list_vulnerabilities ...'
|
2654
|
+
end
|
2655
|
+
if @api_client.config.client_side_validation && !opts[:'page_number'].nil? && opts[:'page_number'] < 1
|
2656
|
+
fail ArgumentError, 'invalid value for "opts[:"page_number"]" when calling SecurityMonitoringAPI.list_vulnerabilities, must be greater than or equal to 1.'
|
2657
|
+
end
|
2658
|
+
allowable_values = ['AdminConsoleActive', 'CodeInjection', 'CommandInjection', 'ComponentWithKnownVulnerability', 'DangerousWorkflows', 'DefaultAppDeployed', 'DefaultHtmlEscapeInvalid', 'DirectoryListingLeak', 'EmailHtmlInjection', 'EndOfLife', 'HardcodedPassword', 'HardcodedSecret', 'HeaderInjection', 'HstsHeaderMissing', 'InsecureAuthProtocol', 'InsecureCookie', 'InsecureJspLayout', 'LdapInjection', 'MaliciousPackage', 'MandatoryRemediation', 'NoHttpOnlyCookie', 'NoSameSiteCookie', 'NoSqlMongoDbInjection', 'PathTraversal', 'ReflectionInjection', 'RiskyLicense', 'SessionRewriting', 'SessionTimeout', 'SqlInjection', 'Ssrf', 'StackTraceLeak', 'TrustBoundaryViolation', 'Unmaintained', 'UntrustedDeserialization', 'UnvalidatedRedirect', 'VerbTampering', 'WeakCipher', 'WeakHash', 'WeakRandomness', 'XContentTypeHeaderMissing', 'XPathInjection', 'Xss']
|
2659
|
+
if @api_client.config.client_side_validation && opts[:'filter_type'] && !allowable_values.include?(opts[:'filter_type'])
|
2660
|
+
fail ArgumentError, "invalid value for \"filter_type\", must be one of #{allowable_values}"
|
2661
|
+
end
|
2662
|
+
if @api_client.config.client_side_validation && !opts[:'filter_cvss_base_score_op'].nil? && opts[:'filter_cvss_base_score_op'] > 10
|
2663
|
+
fail ArgumentError, 'invalid value for "opts[:"filter_cvss_base_score_op"]" when calling SecurityMonitoringAPI.list_vulnerabilities, must be smaller than or equal to 10.'
|
2664
|
+
end
|
2665
|
+
if @api_client.config.client_side_validation && !opts[:'filter_cvss_base_score_op'].nil? && opts[:'filter_cvss_base_score_op'] < 0
|
2666
|
+
fail ArgumentError, 'invalid value for "opts[:"filter_cvss_base_score_op"]" when calling SecurityMonitoringAPI.list_vulnerabilities, must be greater than or equal to 0.'
|
2667
|
+
end
|
2668
|
+
allowable_values = ['Unknown', 'None', 'Low', 'Medium', 'High', 'Critical']
|
2669
|
+
if @api_client.config.client_side_validation && opts[:'filter_cvss_base_severity'] && !allowable_values.include?(opts[:'filter_cvss_base_severity'])
|
2670
|
+
fail ArgumentError, "invalid value for \"filter_cvss_base_severity\", must be one of #{allowable_values}"
|
2671
|
+
end
|
2672
|
+
if @api_client.config.client_side_validation && !opts[:'filter_cvss_datadog_score_op'].nil? && opts[:'filter_cvss_datadog_score_op'] > 10
|
2673
|
+
fail ArgumentError, 'invalid value for "opts[:"filter_cvss_datadog_score_op"]" when calling SecurityMonitoringAPI.list_vulnerabilities, must be smaller than or equal to 10.'
|
2674
|
+
end
|
2675
|
+
if @api_client.config.client_side_validation && !opts[:'filter_cvss_datadog_score_op'].nil? && opts[:'filter_cvss_datadog_score_op'] < 0
|
2676
|
+
fail ArgumentError, 'invalid value for "opts[:"filter_cvss_datadog_score_op"]" when calling SecurityMonitoringAPI.list_vulnerabilities, must be greater than or equal to 0.'
|
2677
|
+
end
|
2678
|
+
allowable_values = ['Unknown', 'None', 'Low', 'Medium', 'High', 'Critical']
|
2679
|
+
if @api_client.config.client_side_validation && opts[:'filter_cvss_datadog_severity'] && !allowable_values.include?(opts[:'filter_cvss_datadog_severity'])
|
2680
|
+
fail ArgumentError, "invalid value for \"filter_cvss_datadog_severity\", must be one of #{allowable_values}"
|
2681
|
+
end
|
2682
|
+
allowable_values = ['Open', 'Muted', 'Remediated', 'InProgress', 'AutoClosed']
|
2683
|
+
if @api_client.config.client_side_validation && opts[:'filter_status'] && !allowable_values.include?(opts[:'filter_status'])
|
2684
|
+
fail ArgumentError, "invalid value for \"filter_status\", must be one of #{allowable_values}"
|
2685
|
+
end
|
2686
|
+
allowable_values = ['IAST', 'SCA', 'Infra']
|
2687
|
+
if @api_client.config.client_side_validation && opts[:'filter_tool'] && !allowable_values.include?(opts[:'filter_tool'])
|
2688
|
+
fail ArgumentError, "invalid value for \"filter_tool\", must be one of #{allowable_values}"
|
2689
|
+
end
|
2690
|
+
if @api_client.config.client_side_validation && !opts[:'filter_risks_epss_score_op'].nil? && opts[:'filter_risks_epss_score_op'] > 1
|
2691
|
+
fail ArgumentError, 'invalid value for "opts[:"filter_risks_epss_score_op"]" when calling SecurityMonitoringAPI.list_vulnerabilities, must be smaller than or equal to 1.'
|
2692
|
+
end
|
2693
|
+
if @api_client.config.client_side_validation && !opts[:'filter_risks_epss_score_op'].nil? && opts[:'filter_risks_epss_score_op'] < 0
|
2694
|
+
fail ArgumentError, 'invalid value for "opts[:"filter_risks_epss_score_op"]" when calling SecurityMonitoringAPI.list_vulnerabilities, must be greater than or equal to 0.'
|
2695
|
+
end
|
2696
|
+
allowable_values = ['Unknown', 'None', 'Low', 'Medium', 'High', 'Critical']
|
2697
|
+
if @api_client.config.client_side_validation && opts[:'filter_risks_epss_severity'] && !allowable_values.include?(opts[:'filter_risks_epss_severity'])
|
2698
|
+
fail ArgumentError, "invalid value for \"filter_risks_epss_severity\", must be one of #{allowable_values}"
|
2699
|
+
end
|
2700
|
+
allowable_values = ['PyPI', 'Maven', 'NuGet', 'Npm', 'RubyGems', 'Go', 'Packagist', 'Ddeb', 'Rpm', 'Apk', 'Windows']
|
2701
|
+
if @api_client.config.client_side_validation && opts[:'filter_ecosystem'] && !allowable_values.include?(opts[:'filter_ecosystem'])
|
2702
|
+
fail ArgumentError, "invalid value for \"filter_ecosystem\", must be one of #{allowable_values}"
|
2703
|
+
end
|
2704
|
+
allowable_values = ['Repository', 'Service', 'Host', 'HostImage', 'Image']
|
2705
|
+
if @api_client.config.client_side_validation && opts[:'filter_asset_type'] && !allowable_values.include?(opts[:'filter_asset_type'])
|
2706
|
+
fail ArgumentError, "invalid value for \"filter_asset_type\", must be one of #{allowable_values}"
|
2707
|
+
end
|
2708
|
+
# resource path
|
2709
|
+
local_var_path = '/api/v2/security/vulnerabilities'
|
2710
|
+
|
2711
|
+
# query parameters
|
2712
|
+
query_params = opts[:query_params] || {}
|
2713
|
+
query_params[:'page[token]'] = opts[:'page_token'] if !opts[:'page_token'].nil?
|
2714
|
+
query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil?
|
2715
|
+
query_params[:'filter[type]'] = opts[:'filter_type'] if !opts[:'filter_type'].nil?
|
2716
|
+
query_params[:'filter[cvss.base.score][`$op`]'] = opts[:'filter_cvss_base_score_op'] if !opts[:'filter_cvss_base_score_op'].nil?
|
2717
|
+
query_params[:'filter[cvss.base.severity]'] = opts[:'filter_cvss_base_severity'] if !opts[:'filter_cvss_base_severity'].nil?
|
2718
|
+
query_params[:'filter[cvss.base.vector]'] = opts[:'filter_cvss_base_vector'] if !opts[:'filter_cvss_base_vector'].nil?
|
2719
|
+
query_params[:'filter[cvss.datadog.score][`$op`]'] = opts[:'filter_cvss_datadog_score_op'] if !opts[:'filter_cvss_datadog_score_op'].nil?
|
2720
|
+
query_params[:'filter[cvss.datadog.severity]'] = opts[:'filter_cvss_datadog_severity'] if !opts[:'filter_cvss_datadog_severity'].nil?
|
2721
|
+
query_params[:'filter[cvss.datadog.vector]'] = opts[:'filter_cvss_datadog_vector'] if !opts[:'filter_cvss_datadog_vector'].nil?
|
2722
|
+
query_params[:'filter[status]'] = opts[:'filter_status'] if !opts[:'filter_status'].nil?
|
2723
|
+
query_params[:'filter[tool]'] = opts[:'filter_tool'] if !opts[:'filter_tool'].nil?
|
2724
|
+
query_params[:'filter[library.name]'] = opts[:'filter_library_name'] if !opts[:'filter_library_name'].nil?
|
2725
|
+
query_params[:'filter[library.version]'] = opts[:'filter_library_version'] if !opts[:'filter_library_version'].nil?
|
2726
|
+
query_params[:'filter[advisory_id]'] = opts[:'filter_advisory_id'] if !opts[:'filter_advisory_id'].nil?
|
2727
|
+
query_params[:'filter[risks.exploitation_probability]'] = opts[:'filter_risks_exploitation_probability'] if !opts[:'filter_risks_exploitation_probability'].nil?
|
2728
|
+
query_params[:'filter[risks.poc_exploit_available]'] = opts[:'filter_risks_poc_exploit_available'] if !opts[:'filter_risks_poc_exploit_available'].nil?
|
2729
|
+
query_params[:'filter[risks.exploit_available]'] = opts[:'filter_risks_exploit_available'] if !opts[:'filter_risks_exploit_available'].nil?
|
2730
|
+
query_params[:'filter[risks.epss.score][`$op`]'] = opts[:'filter_risks_epss_score_op'] if !opts[:'filter_risks_epss_score_op'].nil?
|
2731
|
+
query_params[:'filter[risks.epss.severity]'] = opts[:'filter_risks_epss_severity'] if !opts[:'filter_risks_epss_severity'].nil?
|
2732
|
+
query_params[:'filter[language]'] = opts[:'filter_language'] if !opts[:'filter_language'].nil?
|
2733
|
+
query_params[:'filter[ecosystem]'] = opts[:'filter_ecosystem'] if !opts[:'filter_ecosystem'].nil?
|
2734
|
+
query_params[:'filter[code_location.location]'] = opts[:'filter_code_location_location'] if !opts[:'filter_code_location_location'].nil?
|
2735
|
+
query_params[:'filter[code_location.file_path]'] = opts[:'filter_code_location_file_path'] if !opts[:'filter_code_location_file_path'].nil?
|
2736
|
+
query_params[:'filter[code_location.method]'] = opts[:'filter_code_location_method'] if !opts[:'filter_code_location_method'].nil?
|
2737
|
+
query_params[:'filter[fix_available]'] = opts[:'filter_fix_available'] if !opts[:'filter_fix_available'].nil?
|
2738
|
+
query_params[:'filter[repo_digests]'] = opts[:'filter_repo_digests'] if !opts[:'filter_repo_digests'].nil?
|
2739
|
+
query_params[:'filter[asset.name]'] = opts[:'filter_asset_name'] if !opts[:'filter_asset_name'].nil?
|
2740
|
+
query_params[:'filter[asset.type]'] = opts[:'filter_asset_type'] if !opts[:'filter_asset_type'].nil?
|
2741
|
+
query_params[:'filter[asset.version.first]'] = opts[:'filter_asset_version_first'] if !opts[:'filter_asset_version_first'].nil?
|
2742
|
+
query_params[:'filter[asset.version.last]'] = opts[:'filter_asset_version_last'] if !opts[:'filter_asset_version_last'].nil?
|
2743
|
+
query_params[:'filter[asset.repository_url]'] = opts[:'filter_asset_repository_url'] if !opts[:'filter_asset_repository_url'].nil?
|
2744
|
+
query_params[:'filter[asset.risks.in_production]'] = opts[:'filter_asset_risks_in_production'] if !opts[:'filter_asset_risks_in_production'].nil?
|
2745
|
+
query_params[:'filter[asset.risks.under_attack]'] = opts[:'filter_asset_risks_under_attack'] if !opts[:'filter_asset_risks_under_attack'].nil?
|
2746
|
+
query_params[:'filter[asset.risks.is_publicly_accessible]'] = opts[:'filter_asset_risks_is_publicly_accessible'] if !opts[:'filter_asset_risks_is_publicly_accessible'].nil?
|
2747
|
+
query_params[:'filter[asset.risks.has_privileged_access]'] = opts[:'filter_asset_risks_has_privileged_access'] if !opts[:'filter_asset_risks_has_privileged_access'].nil?
|
2748
|
+
query_params[:'filter[asset.risks.has_access_to_sensitive_data]'] = opts[:'filter_asset_risks_has_access_to_sensitive_data'] if !opts[:'filter_asset_risks_has_access_to_sensitive_data'].nil?
|
2749
|
+
query_params[:'filter[asset.environments]'] = opts[:'filter_asset_environments'] if !opts[:'filter_asset_environments'].nil?
|
2750
|
+
query_params[:'filter[asset.arch]'] = opts[:'filter_asset_arch'] if !opts[:'filter_asset_arch'].nil?
|
2751
|
+
query_params[:'filter[asset.operating_system.name]'] = opts[:'filter_asset_operating_system_name'] if !opts[:'filter_asset_operating_system_name'].nil?
|
2752
|
+
query_params[:'filter[asset.operating_system.version]'] = opts[:'filter_asset_operating_system_version'] if !opts[:'filter_asset_operating_system_version'].nil?
|
2753
|
+
|
2754
|
+
# header parameters
|
2755
|
+
header_params = opts[:header_params] || {}
|
2756
|
+
# HTTP header 'Accept' (if needed)
|
2757
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
2758
|
+
|
2759
|
+
# form parameters
|
2760
|
+
form_params = opts[:form_params] || {}
|
2761
|
+
|
2762
|
+
# http body (model)
|
2763
|
+
post_body = opts[:debug_body]
|
2764
|
+
|
2765
|
+
# return_type
|
2766
|
+
return_type = opts[:debug_return_type] || 'ListVulnerabilitiesResponse'
|
2767
|
+
|
2768
|
+
# auth_names
|
2769
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
|
2770
|
+
|
2771
|
+
new_options = opts.merge(
|
2772
|
+
:operation => :list_vulnerabilities,
|
2773
|
+
:header_params => header_params,
|
2774
|
+
:query_params => query_params,
|
2775
|
+
:form_params => form_params,
|
2776
|
+
:body => post_body,
|
2777
|
+
:auth_names => auth_names,
|
2778
|
+
:return_type => return_type,
|
2779
|
+
:api_version => "V2"
|
2780
|
+
)
|
2781
|
+
|
2782
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
|
2783
|
+
if @api_client.config.debugging
|
2784
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#list_vulnerabilities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
2785
|
+
end
|
2786
|
+
return data, status_code, headers
|
2787
|
+
end
|
2788
|
+
|
2789
|
+
# List vulnerable assets.
|
2790
|
+
#
|
2791
|
+
# @see #list_vulnerable_assets_with_http_info
|
2792
|
+
def list_vulnerable_assets(opts = {})
|
2793
|
+
data, _status_code, _headers = list_vulnerable_assets_with_http_info(opts)
|
2794
|
+
data
|
2795
|
+
end
|
2796
|
+
|
2797
|
+
# List vulnerable assets.
|
2798
|
+
#
|
2799
|
+
# Get a list of vulnerable assets.
|
2800
|
+
#
|
2801
|
+
# ### Pagination
|
2802
|
+
#
|
2803
|
+
# Please review the [Pagination section for the "List Vulnerabilities"](#pagination) endpoint.
|
2804
|
+
#
|
2805
|
+
# ### Filtering
|
2806
|
+
#
|
2807
|
+
# Please review the [Filtering section for the "List Vulnerabilities"](#filtering) endpoint.
|
2808
|
+
#
|
2809
|
+
# ### Metadata
|
2810
|
+
#
|
2811
|
+
# Please review the [Metadata section for the "List Vulnerabilities"](#metadata) endpoint.
|
2812
|
+
#
|
2813
|
+
#
|
2814
|
+
# @param opts [Hash] the optional parameters
|
2815
|
+
# @option opts [String] :page_token Its value must come from the `links` section of the response of the first request. Do not manually edit it.
|
2816
|
+
# @option opts [Integer] :page_number The page number to be retrieved. It should be equal or greater than `1`
|
2817
|
+
# @option opts [String] :filter_name Filter by name.
|
2818
|
+
# @option opts [AssetType] :filter_type Filter by type.
|
2819
|
+
# @option opts [String] :filter_version_first Filter by the first version of the asset since it has been vulnerable.
|
2820
|
+
# @option opts [String] :filter_version_last Filter by the last detected version of the asset.
|
2821
|
+
# @option opts [String] :filter_repository_url Filter by the repository url associated to the asset.
|
2822
|
+
# @option opts [Boolean] :filter_risks_in_production Filter whether the asset is in production or not.
|
2823
|
+
# @option opts [Boolean] :filter_risks_under_attack Filter whether the asset (Service) is under attack or not.
|
2824
|
+
# @option opts [Boolean] :filter_risks_is_publicly_accessible Filter whether the asset (Host) is publicly accessible or not.
|
2825
|
+
# @option opts [Boolean] :filter_risks_has_privileged_access Filter whether the asset (Host) has privileged access or not.
|
2826
|
+
# @option opts [Boolean] :filter_risks_has_access_to_sensitive_data Filter whether the asset (Host) has access to sensitive data or not.
|
2827
|
+
# @option opts [String] :filter_environments Filter by environment.
|
2828
|
+
# @option opts [String] :filter_arch Filter by architecture.
|
2829
|
+
# @option opts [String] :filter_operating_system_name Filter by operating system name.
|
2830
|
+
# @option opts [String] :filter_operating_system_version Filter by operating system version.
|
2831
|
+
# @return [Array<(ListVulnerableAssetsResponse, Integer, Hash)>] ListVulnerableAssetsResponse data, response status code and response headers
|
2832
|
+
def list_vulnerable_assets_with_http_info(opts = {})
|
2833
|
+
|
2834
|
+
if @api_client.config.debugging
|
2835
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.list_vulnerable_assets ...'
|
2836
|
+
end
|
2837
|
+
if @api_client.config.client_side_validation && !opts[:'page_number'].nil? && opts[:'page_number'] < 1
|
2838
|
+
fail ArgumentError, 'invalid value for "opts[:"page_number"]" when calling SecurityMonitoringAPI.list_vulnerable_assets, must be greater than or equal to 1.'
|
2839
|
+
end
|
2840
|
+
allowable_values = ['Repository', 'Service', 'Host', 'HostImage', 'Image']
|
2841
|
+
if @api_client.config.client_side_validation && opts[:'filter_type'] && !allowable_values.include?(opts[:'filter_type'])
|
2842
|
+
fail ArgumentError, "invalid value for \"filter_type\", must be one of #{allowable_values}"
|
2843
|
+
end
|
2844
|
+
# resource path
|
2845
|
+
local_var_path = '/api/v2/security/assets'
|
2846
|
+
|
2847
|
+
# query parameters
|
2848
|
+
query_params = opts[:query_params] || {}
|
2849
|
+
query_params[:'page[token]'] = opts[:'page_token'] if !opts[:'page_token'].nil?
|
2850
|
+
query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil?
|
2851
|
+
query_params[:'filter[name]'] = opts[:'filter_name'] if !opts[:'filter_name'].nil?
|
2852
|
+
query_params[:'filter[type]'] = opts[:'filter_type'] if !opts[:'filter_type'].nil?
|
2853
|
+
query_params[:'filter[version.first]'] = opts[:'filter_version_first'] if !opts[:'filter_version_first'].nil?
|
2854
|
+
query_params[:'filter[version.last]'] = opts[:'filter_version_last'] if !opts[:'filter_version_last'].nil?
|
2855
|
+
query_params[:'filter[repository_url]'] = opts[:'filter_repository_url'] if !opts[:'filter_repository_url'].nil?
|
2856
|
+
query_params[:'filter[risks.in_production]'] = opts[:'filter_risks_in_production'] if !opts[:'filter_risks_in_production'].nil?
|
2857
|
+
query_params[:'filter[risks.under_attack]'] = opts[:'filter_risks_under_attack'] if !opts[:'filter_risks_under_attack'].nil?
|
2858
|
+
query_params[:'filter[risks.is_publicly_accessible]'] = opts[:'filter_risks_is_publicly_accessible'] if !opts[:'filter_risks_is_publicly_accessible'].nil?
|
2859
|
+
query_params[:'filter[risks.has_privileged_access]'] = opts[:'filter_risks_has_privileged_access'] if !opts[:'filter_risks_has_privileged_access'].nil?
|
2860
|
+
query_params[:'filter[risks.has_access_to_sensitive_data]'] = opts[:'filter_risks_has_access_to_sensitive_data'] if !opts[:'filter_risks_has_access_to_sensitive_data'].nil?
|
2861
|
+
query_params[:'filter[environments]'] = opts[:'filter_environments'] if !opts[:'filter_environments'].nil?
|
2862
|
+
query_params[:'filter[arch]'] = opts[:'filter_arch'] if !opts[:'filter_arch'].nil?
|
2863
|
+
query_params[:'filter[operating_system.name]'] = opts[:'filter_operating_system_name'] if !opts[:'filter_operating_system_name'].nil?
|
2864
|
+
query_params[:'filter[operating_system.version]'] = opts[:'filter_operating_system_version'] if !opts[:'filter_operating_system_version'].nil?
|
2865
|
+
|
2866
|
+
# header parameters
|
2867
|
+
header_params = opts[:header_params] || {}
|
2868
|
+
# HTTP header 'Accept' (if needed)
|
2869
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
2870
|
+
|
2871
|
+
# form parameters
|
2872
|
+
form_params = opts[:form_params] || {}
|
2873
|
+
|
2874
|
+
# http body (model)
|
2875
|
+
post_body = opts[:debug_body]
|
2876
|
+
|
2877
|
+
# return_type
|
2878
|
+
return_type = opts[:debug_return_type] || 'ListVulnerableAssetsResponse'
|
2879
|
+
|
2880
|
+
# auth_names
|
2881
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
|
2882
|
+
|
2883
|
+
new_options = opts.merge(
|
2884
|
+
:operation => :list_vulnerable_assets,
|
2885
|
+
:header_params => header_params,
|
2886
|
+
:query_params => query_params,
|
2887
|
+
:form_params => form_params,
|
2888
|
+
:body => post_body,
|
2889
|
+
:auth_names => auth_names,
|
2890
|
+
:return_type => return_type,
|
2891
|
+
:api_version => "V2"
|
2892
|
+
)
|
2893
|
+
|
2894
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
|
2895
|
+
if @api_client.config.debugging
|
2896
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#list_vulnerable_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
2897
|
+
end
|
2898
|
+
return data, status_code, headers
|
2899
|
+
end
|
2900
|
+
|
1923
2901
|
# Mute or unmute a batch of findings.
|
1924
2902
|
#
|
1925
2903
|
# @see #mute_findings_with_http_info
|
@@ -1993,6 +2971,150 @@ module DatadogAPIClient::V2
|
|
1993
2971
|
return data, status_code, headers
|
1994
2972
|
end
|
1995
2973
|
|
2974
|
+
# Patch a signal-based rule.
|
2975
|
+
#
|
2976
|
+
# @see #patch_signal_notification_rule_with_http_info
|
2977
|
+
def patch_signal_notification_rule(id, body, opts = {})
|
2978
|
+
data, _status_code, _headers = patch_signal_notification_rule_with_http_info(id, body, opts)
|
2979
|
+
data
|
2980
|
+
end
|
2981
|
+
|
2982
|
+
# Patch a signal-based rule.
|
2983
|
+
#
|
2984
|
+
# Partially update the notification rule. All fields are optional; if a field is not provided, it is not updated.
|
2985
|
+
#
|
2986
|
+
# @param id [String] ID of the notification rule.
|
2987
|
+
# @param body [PatchNotificationRuleParameters]
|
2988
|
+
# @param opts [Hash] the optional parameters
|
2989
|
+
# @return [Array<(NotificationRuleResponse, Integer, Hash)>] NotificationRuleResponse data, response status code and response headers
|
2990
|
+
def patch_signal_notification_rule_with_http_info(id, body, opts = {})
|
2991
|
+
|
2992
|
+
if @api_client.config.debugging
|
2993
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.patch_signal_notification_rule ...'
|
2994
|
+
end
|
2995
|
+
# verify the required parameter 'id' is set
|
2996
|
+
if @api_client.config.client_side_validation && id.nil?
|
2997
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling SecurityMonitoringAPI.patch_signal_notification_rule"
|
2998
|
+
end
|
2999
|
+
# verify the required parameter 'body' is set
|
3000
|
+
if @api_client.config.client_side_validation && body.nil?
|
3001
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.patch_signal_notification_rule"
|
3002
|
+
end
|
3003
|
+
# resource path
|
3004
|
+
local_var_path = '/api/v2/security/signals/notification_rules/{id}'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
|
3005
|
+
|
3006
|
+
# query parameters
|
3007
|
+
query_params = opts[:query_params] || {}
|
3008
|
+
|
3009
|
+
# header parameters
|
3010
|
+
header_params = opts[:header_params] || {}
|
3011
|
+
# HTTP header 'Accept' (if needed)
|
3012
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
3013
|
+
# HTTP header 'Content-Type'
|
3014
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
3015
|
+
|
3016
|
+
# form parameters
|
3017
|
+
form_params = opts[:form_params] || {}
|
3018
|
+
|
3019
|
+
# http body (model)
|
3020
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
|
3021
|
+
|
3022
|
+
# return_type
|
3023
|
+
return_type = opts[:debug_return_type] || 'NotificationRuleResponse'
|
3024
|
+
|
3025
|
+
# auth_names
|
3026
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
3027
|
+
|
3028
|
+
new_options = opts.merge(
|
3029
|
+
:operation => :patch_signal_notification_rule,
|
3030
|
+
:header_params => header_params,
|
3031
|
+
:query_params => query_params,
|
3032
|
+
:form_params => form_params,
|
3033
|
+
:body => post_body,
|
3034
|
+
:auth_names => auth_names,
|
3035
|
+
:return_type => return_type,
|
3036
|
+
:api_version => "V2"
|
3037
|
+
)
|
3038
|
+
|
3039
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Patch, local_var_path, new_options)
|
3040
|
+
if @api_client.config.debugging
|
3041
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#patch_signal_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
3042
|
+
end
|
3043
|
+
return data, status_code, headers
|
3044
|
+
end
|
3045
|
+
|
3046
|
+
# Patch a vulnerability-based rule.
|
3047
|
+
#
|
3048
|
+
# @see #patch_vulnerability_notification_rule_with_http_info
|
3049
|
+
def patch_vulnerability_notification_rule(id, body, opts = {})
|
3050
|
+
data, _status_code, _headers = patch_vulnerability_notification_rule_with_http_info(id, body, opts)
|
3051
|
+
data
|
3052
|
+
end
|
3053
|
+
|
3054
|
+
# Patch a vulnerability-based rule.
|
3055
|
+
#
|
3056
|
+
# Partially update the notification rule. All fields are optional; if a field is not provided, it is not updated.
|
3057
|
+
#
|
3058
|
+
# @param id [String] ID of the notification rule.
|
3059
|
+
# @param body [PatchNotificationRuleParameters]
|
3060
|
+
# @param opts [Hash] the optional parameters
|
3061
|
+
# @return [Array<(NotificationRuleResponse, Integer, Hash)>] NotificationRuleResponse data, response status code and response headers
|
3062
|
+
def patch_vulnerability_notification_rule_with_http_info(id, body, opts = {})
|
3063
|
+
|
3064
|
+
if @api_client.config.debugging
|
3065
|
+
@api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.patch_vulnerability_notification_rule ...'
|
3066
|
+
end
|
3067
|
+
# verify the required parameter 'id' is set
|
3068
|
+
if @api_client.config.client_side_validation && id.nil?
|
3069
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling SecurityMonitoringAPI.patch_vulnerability_notification_rule"
|
3070
|
+
end
|
3071
|
+
# verify the required parameter 'body' is set
|
3072
|
+
if @api_client.config.client_side_validation && body.nil?
|
3073
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.patch_vulnerability_notification_rule"
|
3074
|
+
end
|
3075
|
+
# resource path
|
3076
|
+
local_var_path = '/api/v2/security/vulnerabilities/notification_rules/{id}'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
|
3077
|
+
|
3078
|
+
# query parameters
|
3079
|
+
query_params = opts[:query_params] || {}
|
3080
|
+
|
3081
|
+
# header parameters
|
3082
|
+
header_params = opts[:header_params] || {}
|
3083
|
+
# HTTP header 'Accept' (if needed)
|
3084
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
3085
|
+
# HTTP header 'Content-Type'
|
3086
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
3087
|
+
|
3088
|
+
# form parameters
|
3089
|
+
form_params = opts[:form_params] || {}
|
3090
|
+
|
3091
|
+
# http body (model)
|
3092
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
|
3093
|
+
|
3094
|
+
# return_type
|
3095
|
+
return_type = opts[:debug_return_type] || 'NotificationRuleResponse'
|
3096
|
+
|
3097
|
+
# auth_names
|
3098
|
+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
|
3099
|
+
|
3100
|
+
new_options = opts.merge(
|
3101
|
+
:operation => :patch_vulnerability_notification_rule,
|
3102
|
+
:header_params => header_params,
|
3103
|
+
:query_params => query_params,
|
3104
|
+
:form_params => form_params,
|
3105
|
+
:body => post_body,
|
3106
|
+
:auth_names => auth_names,
|
3107
|
+
:return_type => return_type,
|
3108
|
+
:api_version => "V2"
|
3109
|
+
)
|
3110
|
+
|
3111
|
+
data, status_code, headers = @api_client.call_api(Net::HTTP::Patch, local_var_path, new_options)
|
3112
|
+
if @api_client.config.debugging
|
3113
|
+
@api_client.config.logger.debug "API called: SecurityMonitoringAPI#patch_vulnerability_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
3114
|
+
end
|
3115
|
+
return data, status_code, headers
|
3116
|
+
end
|
3117
|
+
|
1996
3118
|
# Run a historical job.
|
1997
3119
|
#
|
1998
3120
|
# @see #run_historical_job_with_http_info
|