datadog_api_client 2.12.0 → 2.13.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 +6 -6
- data/.generator/conftest.py +7 -0
- data/.generator/poetry.lock +45 -75
- data/.generator/pyproject.toml +7 -7
- data/.generator/schemas/v1/openapi.yaml +76 -3
- data/.generator/schemas/v2/openapi.yaml +2328 -459
- data/.generator/src/generator/formatter.py +9 -3
- data/.generator/src/generator/openapi.py +4 -2
- data/.github/workflows/test_integration.yml +7 -1
- data/.pre-commit-config.yaml +2 -2
- data/CHANGELOG.md +31 -0
- data/examples/v1/dashboards/CreateDashboard_1284514532.rb +43 -0
- data/examples/v1/dashboards/CreateDashboard_2261785072.rb +47 -0
- data/examples/v1/dashboards/CreateDashboard_3513586382.rb +74 -0
- data/examples/v1/dashboards/CreateDashboard_3562282606.rb +1 -0
- data/examples/v1/organizations/UpdateOrg.rb +1 -1
- data/examples/v1/users/CreateUser.rb +1 -1
- data/examples/v1/users/CreateUser_266604071.rb +13 -0
- data/examples/v1/users/UpdateUser.rb +1 -1
- data/examples/v2/confluent-cloud/CreateConfluentAccount.rb +1 -0
- data/examples/v2/confluent-cloud/CreateConfluentResource.rb +1 -0
- data/examples/v2/confluent-cloud/UpdateConfluentResource.rb +1 -0
- data/examples/v2/downtimes/CancelDowntime.rb +11 -0
- data/examples/v2/downtimes/CreateDowntime.rb +26 -0
- data/examples/v2/downtimes/GetDowntime.rb +11 -0
- data/examples/v2/downtimes/ListDowntimes.rb +8 -0
- data/examples/v2/downtimes/ListMonitorDowntimes.rb +8 -0
- data/examples/v2/downtimes/ListMonitorDowntimes_128979780.rb +8 -0
- data/examples/v2/downtimes/UpdateDowntime.rb +21 -0
- data/examples/v2/logs/ListLogsGet_2034110533.rb +3 -1
- data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_1092490364.rb +10 -0
- data/examples/v2/spans/AggregateSpans.rb +25 -0
- data/examples/v2/spans/ListSpans.rb +25 -0
- data/examples/v2/spans/ListSpansGet.rb +5 -0
- data/examples/v2/spans/ListSpansGet_1130763422.rb +8 -0
- data/examples/v2/spans/ListSpans_3495563906.rb +25 -0
- data/lib/datadog_api_client/configuration.rb +6 -0
- data/lib/datadog_api_client/inflector.rb +87 -0
- data/lib/datadog_api_client/v1/models/change_widget_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_cloud_cost_data_source.rb +26 -0
- data/lib/datadog_api_client/v1/models/formula_and_function_cloud_cost_query_definition.rb +150 -0
- data/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb +2 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_response_format.rb +2 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_definition.rb +11 -1
- data/lib/datadog_api_client/v1/models/geomap_widget_request.rb +24 -2
- data/lib/datadog_api_client/v1/models/ip_prefixes_remote_configuration.rb +94 -0
- data/lib/datadog_api_client/v1/models/ip_ranges.rb +11 -1
- data/lib/datadog_api_client/v1/models/organization_settings.rb +8 -0
- data/lib/datadog_api_client/v1/models/query_value_widget_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/scatterplot_table_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/sunburst_widget_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/table_widget_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/timeseries_widget_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/toplist_widget_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/tree_map_widget_request.rb +1 -1
- data/lib/datadog_api_client/v1/models/user.rb +8 -0
- data/lib/datadog_api_client/v1/models/widget_display_type.rb +1 -0
- data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +2 -0
- data/lib/datadog_api_client/v2/api/downtimes_api.rb +462 -0
- data/lib/datadog_api_client/v2/api/logs_api.rb +2 -2
- data/lib/datadog_api_client/v2/api/metrics_api.rb +1 -1
- data/lib/datadog_api_client/v2/api/rum_api.rb +2 -2
- data/lib/datadog_api_client/v2/api/spans_api.rb +294 -0
- data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_pipeline.rb +1 -1
- data/lib/datadog_api_client/v2/models/cloud_configuration_rule_create_payload.rb +13 -1
- data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +41 -1
- data/lib/datadog_api_client/v2/models/confluent_account_resource_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/confluent_resource_request_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/confluent_resource_response_attributes.rb +21 -1
- data/lib/datadog_api_client/v2/models/dashboard_list_item.rb +12 -1
- data/lib/datadog_api_client/v2/models/downtime_create_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/downtime_create_request_attributes.rb +194 -0
- data/lib/datadog_api_client/v2/models/downtime_create_request_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/downtime_included_monitor_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/downtime_meta.rb +80 -0
- data/lib/datadog_api_client/v2/models/downtime_meta_page.rb +80 -0
- data/lib/datadog_api_client/v2/models/downtime_monitor_identifier.rb +63 -0
- data/lib/datadog_api_client/v2/models/downtime_monitor_identifier_id.rb +98 -0
- data/lib/datadog_api_client/v2/models/downtime_monitor_identifier_tags.rb +107 -0
- data/lib/datadog_api_client/v2/models/downtime_monitor_included_attributes.rb +80 -0
- data/lib/datadog_api_client/v2/models/downtime_monitor_included_item.rb +100 -0
- data/lib/datadog_api_client/v2/models/downtime_notify_end_state_actions.rb +27 -0
- data/lib/datadog_api_client/v2/models/downtime_notify_end_state_types.rb +28 -0
- data/lib/datadog_api_client/v2/models/downtime_relationships.rb +90 -0
- data/lib/datadog_api_client/v2/models/downtime_relationships_created_by.rb +88 -0
- data/lib/datadog_api_client/v2/models/downtime_relationships_created_by_data.rb +90 -0
- data/lib/datadog_api_client/v2/models/downtime_relationships_monitor.rb +88 -0
- data/lib/datadog_api_client/v2/models/downtime_relationships_monitor_data.rb +90 -0
- data/lib/datadog_api_client/v2/models/downtime_resource_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/downtime_response.rb +95 -0
- data/lib/datadog_api_client/v2/models/downtime_response_attributes.rb +208 -0
- data/lib/datadog_api_client/v2/models/downtime_response_data.rb +110 -0
- data/lib/datadog_api_client/v2/models/downtime_response_included_item.rb +63 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_create_request.rb +63 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_current_downtime_response.rb +100 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_one_time_create_update_request.rb +101 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_one_time_response.rb +98 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_recurrence_create_update_request.rb +143 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_recurrence_response.rb +106 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_recurrences_create_request.rb +110 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_recurrences_response.rb +131 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_recurrences_update_request.rb +92 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_response.rb +65 -0
- data/lib/datadog_api_client/v2/models/downtime_schedule_update_request.rb +63 -0
- data/lib/datadog_api_client/v2/models/downtime_status.rb +29 -0
- data/lib/datadog_api_client/v2/models/downtime_update_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/downtime_update_request_attributes.rb +165 -0
- data/lib/datadog_api_client/v2/models/downtime_update_request_data.rb +140 -0
- data/lib/datadog_api_client/v2/models/event_response_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/events_group_by_sort.rb +1 -1
- data/lib/datadog_api_client/v2/models/events_response_metadata.rb +11 -1
- data/lib/datadog_api_client/v2/models/list_downtimes_response.rb +104 -0
- data/lib/datadog_api_client/v2/models/metrics_aggregator.rb +1 -1
- data/lib/datadog_api_client/v2/models/metrics_scalar_query.rb +1 -1
- data/lib/datadog_api_client/v2/models/monitor_downtime_match_resource_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/monitor_downtime_match_response.rb +92 -0
- data/lib/datadog_api_client/v2/models/monitor_downtime_match_response_attributes.rb +120 -0
- data/lib/datadog_api_client/v2/models/monitor_downtime_match_response_data.rb +108 -0
- data/lib/datadog_api_client/v2/models/restriction_policy_binding.rb +2 -1
- data/lib/datadog_api_client/v2/models/rum_application_list.rb +11 -1
- data/lib/datadog_api_client/v2/models/service_definition_data.rb +11 -1
- data/lib/datadog_api_client/v2/models/service_definition_meta.rb +36 -4
- data/lib/datadog_api_client/v2/models/service_definition_meta_warnings.rb +100 -0
- data/lib/datadog_api_client/v2/models/span.rb +100 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_bucket.rb +100 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_bucket_attributes.rb +100 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_bucket_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_bucket_value.rb +64 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_bucket_value_timeseries_point.rb +90 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_data.rb +90 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_request.rb +80 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_request_attributes.rb +115 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_response.rb +92 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_response_metadata.rb +113 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_response_status.rb +27 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_sort.rb +110 -0
- data/lib/datadog_api_client/v2/models/spans_aggregate_sort_type.rb +27 -0
- data/lib/datadog_api_client/v2/models/spans_aggregation_function.rb +37 -0
- data/lib/datadog_api_client/v2/models/spans_attributes.rb +244 -0
- data/lib/datadog_api_client/v2/models/spans_compute.rb +129 -0
- data/lib/datadog_api_client/v2/models/spans_compute_type.rb +27 -0
- data/lib/datadog_api_client/v2/models/spans_group_by.rb +149 -0
- data/lib/datadog_api_client/v2/models/spans_group_by_histogram.rb +143 -0
- data/lib/datadog_api_client/v2/models/spans_group_by_missing.rb +63 -0
- data/lib/datadog_api_client/v2/models/spans_group_by_total.rb +64 -0
- data/lib/datadog_api_client/v2/models/spans_list_request.rb +80 -0
- data/lib/datadog_api_client/v2/models/spans_list_request_attributes.rb +111 -0
- data/lib/datadog_api_client/v2/models/spans_list_request_data.rb +90 -0
- data/lib/datadog_api_client/v2/models/spans_list_request_page.rb +108 -0
- data/lib/datadog_api_client/v2/models/spans_list_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/spans_list_response.rb +102 -0
- data/lib/datadog_api_client/v2/models/spans_list_response_links.rb +81 -0
- data/lib/datadog_api_client/v2/models/spans_list_response_metadata.rb +123 -0
- data/lib/datadog_api_client/v2/models/spans_query_filter.rb +100 -0
- data/lib/datadog_api_client/v2/models/spans_query_options.rb +91 -0
- data/lib/datadog_api_client/v2/models/spans_response_metadata_page.rb +81 -0
- data/lib/datadog_api_client/v2/models/spans_sort.rb +27 -0
- data/lib/datadog_api_client/v2/models/spans_sort_order.rb +27 -0
- data/lib/datadog_api_client/v2/models/spans_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/spans_warning.rb +100 -0
- data/lib/datadog_api_client/v2/models/user_invitation_response_data.rb +11 -1
- data/lib/datadog_api_client/version.rb +1 -1
- metadata +105 -2
@@ -216,9 +216,13 @@ def format_data_with_schema(
|
|
216
216
|
default_name=None,
|
217
217
|
):
|
218
218
|
name = get_name(schema)
|
219
|
+
nullable = schema.get("nullable", False)
|
219
220
|
|
220
|
-
if "enum" in schema
|
221
|
-
|
221
|
+
if "enum" in schema:
|
222
|
+
if nullable and data is None:
|
223
|
+
pass
|
224
|
+
elif data not in schema["enum"]:
|
225
|
+
raise ValueError(f"{data} is not valid enum value {schema['enum']}")
|
222
226
|
|
223
227
|
if replace_values and data in replace_values:
|
224
228
|
parameters = replace_values[data]
|
@@ -227,9 +231,11 @@ def format_data_with_schema(
|
|
227
231
|
elif schema.get("type") == "number":
|
228
232
|
parameters = f"{parameters}.to_f"
|
229
233
|
elif "enum" in schema:
|
234
|
+
if nullable and data is None:
|
235
|
+
return "nil"
|
230
236
|
parameters = schema["x-enum-varnames"][schema["enum"].index(data)]
|
231
237
|
else:
|
232
|
-
if
|
238
|
+
if nullable and data is None:
|
233
239
|
return "nil"
|
234
240
|
else:
|
235
241
|
if "oneOf" in schema:
|
@@ -461,8 +461,10 @@ def get_default(operation, attribute_path):
|
|
461
461
|
|
462
462
|
|
463
463
|
def get_container(operation, attribute_path, with_type=False):
|
464
|
-
def get_type(parameter):
|
464
|
+
def get_type(parameter, attribute=None):
|
465
465
|
if with_type:
|
466
|
+
if attribute:
|
467
|
+
return ", {}".format(type_to_ruby(parameter_schema(parameter)["properties"][attribute]))
|
466
468
|
return f", {get_type_for_parameter(parameter)}"
|
467
469
|
return ""
|
468
470
|
|
@@ -473,7 +475,7 @@ def get_container(operation, attribute_path, with_type=False):
|
|
473
475
|
return '{}, "{}"{}'.format(
|
474
476
|
name,
|
475
477
|
".".join(formatter.attribute_name(a) for a in attribute_path.split(".")[1:]),
|
476
|
-
get_type(parameter),
|
478
|
+
get_type(parameter, attribute_path.split(".")[1]),
|
477
479
|
)
|
478
480
|
return f'opts, "{formatter.attribute_path(attribute_path)}"{get_type(parameter)}'
|
479
481
|
|
data/.pre-commit-config.yaml
CHANGED
@@ -31,7 +31,7 @@ repos:
|
|
31
31
|
- id: generator
|
32
32
|
name: generator
|
33
33
|
language: python
|
34
|
-
entry: bash -c "
|
34
|
+
entry: bash -c "cd .generator && poetry install && poetry run python -m generator ./schemas/v1/openapi.yaml ./schemas/v2/openapi.yaml -o ../lib/"
|
35
35
|
files: "^.generator/(config|schemas/v1|src|poetry.lock|pyproject.toml)"
|
36
36
|
stages: [manual]
|
37
37
|
pass_filenames: false
|
@@ -40,7 +40,7 @@ repos:
|
|
40
40
|
- id: examples
|
41
41
|
name: examples
|
42
42
|
language: python
|
43
|
-
entry: bash -c "
|
43
|
+
entry: bash -c "cd .generator && poetry install && poetry run pytest"
|
44
44
|
files: "^.generator/"
|
45
45
|
stages: [manual]
|
46
46
|
pass_filenames: false
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,36 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 2.13.0 / 2023-07-20
|
4
|
+
|
5
|
+
### Fixed
|
6
|
+
* Set the right object creation in pagination by @therve in https://github.com/DataDog/datadog-api-client-ruby/pull/1437
|
7
|
+
* Spans API docs update by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1442
|
8
|
+
* Fix filter indexes parameter in logs search by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1447
|
9
|
+
* Fix Spans endpoint schemas by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1462
|
10
|
+
### Added
|
11
|
+
* Add support for geomap widget using response_type `event_list` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1427
|
12
|
+
* Add support for the spans API endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1431
|
13
|
+
* Add a new field additional_query_filters to formula and function slo query by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1443
|
14
|
+
* Add support for `enable_custom_metrics` in Confluent Account by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1440
|
15
|
+
* Add missing `id` attribute for Confluent Account Response by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1446
|
16
|
+
* Fix downtimes v2 schema and add missing field `canceled` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1451
|
17
|
+
* Add cloud_cost data source and query definition to dashboards by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1452
|
18
|
+
* Add missing cloud workload security fields by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1457
|
19
|
+
* Add `integration_id` field for dashboard list item by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1461
|
20
|
+
* Add events response fields `message` and `status` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1459
|
21
|
+
* Add missing `GetRUMApplications` response field `id` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1458
|
22
|
+
* Add missing service definition fields by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1460
|
23
|
+
* Add overlay type to Dashboards WidgetDisplayType by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1463
|
24
|
+
* Update IP ranges with remote configuration section by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1465
|
25
|
+
* Add missing `relationships` to UsersInvitations response by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1467
|
26
|
+
* Added optional field filters when creating a cloud configuration rule by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1471
|
27
|
+
### Changed
|
28
|
+
* Add downtime v2 API in private beta by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1388
|
29
|
+
* Mark `access_role` as nullable by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1449
|
30
|
+
|
31
|
+
|
32
|
+
**Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.12.0...v2.13.0
|
33
|
+
|
3
34
|
## 2.12.0 / 2023-06-27
|
4
35
|
|
5
36
|
### Fixed
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Create a new dashboard with a timeseries widget using formulas and functions cloud cost query
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V1::DashboardsAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V1::Dashboard.new({
|
7
|
+
title: "Example-Dashboard",
|
8
|
+
widgets: [
|
9
|
+
DatadogAPIClient::V1::Widget.new({
|
10
|
+
definition: DatadogAPIClient::V1::TimeseriesWidgetDefinition.new({
|
11
|
+
title: "Example Cloud Cost Query",
|
12
|
+
title_size: "16",
|
13
|
+
title_align: DatadogAPIClient::V1::WidgetTextAlign::LEFT,
|
14
|
+
type: DatadogAPIClient::V1::TimeseriesWidgetDefinitionType::TIMESERIES,
|
15
|
+
requests: [
|
16
|
+
DatadogAPIClient::V1::TimeseriesWidgetRequest.new({
|
17
|
+
formulas: [
|
18
|
+
DatadogAPIClient::V1::WidgetFormula.new({
|
19
|
+
formula: "query1",
|
20
|
+
}),
|
21
|
+
],
|
22
|
+
queries: [
|
23
|
+
DatadogAPIClient::V1::FormulaAndFunctionCloudCostQueryDefinition.new({
|
24
|
+
data_source: DatadogAPIClient::V1::FormulaAndFunctionCloudCostDataSource::CLOUD_COST,
|
25
|
+
name: "query1",
|
26
|
+
query: "sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)",
|
27
|
+
}),
|
28
|
+
],
|
29
|
+
response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES,
|
30
|
+
style: DatadogAPIClient::V1::WidgetRequestStyle.new({
|
31
|
+
palette: "dog_classic",
|
32
|
+
line_type: DatadogAPIClient::V1::WidgetLineType::SOLID,
|
33
|
+
line_width: DatadogAPIClient::V1::WidgetLineWidth::NORMAL,
|
34
|
+
}),
|
35
|
+
display_type: DatadogAPIClient::V1::WidgetDisplayType::BARS,
|
36
|
+
}),
|
37
|
+
],
|
38
|
+
}),
|
39
|
+
}),
|
40
|
+
],
|
41
|
+
layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
|
42
|
+
})
|
43
|
+
p api_instance.create_dashboard(body)
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Create a new dashboard with a timeseries widget and an overlay request
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V1::DashboardsAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V1::Dashboard.new({
|
7
|
+
layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
|
8
|
+
title: "Example-Dashboard",
|
9
|
+
widgets: [
|
10
|
+
DatadogAPIClient::V1::Widget.new({
|
11
|
+
definition: DatadogAPIClient::V1::TimeseriesWidgetDefinition.new({
|
12
|
+
type: DatadogAPIClient::V1::TimeseriesWidgetDefinitionType::TIMESERIES,
|
13
|
+
requests: [
|
14
|
+
DatadogAPIClient::V1::TimeseriesWidgetRequest.new({
|
15
|
+
on_right_yaxis: false,
|
16
|
+
queries: [
|
17
|
+
DatadogAPIClient::V1::FormulaAndFunctionMetricQueryDefinition.new({
|
18
|
+
data_source: DatadogAPIClient::V1::FormulaAndFunctionMetricDataSource::METRICS,
|
19
|
+
name: "mymetric",
|
20
|
+
query: "avg:system.cpu.user{*}",
|
21
|
+
}),
|
22
|
+
],
|
23
|
+
response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES,
|
24
|
+
display_type: DatadogAPIClient::V1::WidgetDisplayType::LINE,
|
25
|
+
}),
|
26
|
+
DatadogAPIClient::V1::TimeseriesWidgetRequest.new({
|
27
|
+
response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES,
|
28
|
+
queries: [
|
29
|
+
DatadogAPIClient::V1::FormulaAndFunctionMetricQueryDefinition.new({
|
30
|
+
data_source: DatadogAPIClient::V1::FormulaAndFunctionMetricDataSource::METRICS,
|
31
|
+
name: "mymetricoverlay",
|
32
|
+
query: "avg:system.cpu.user{*}",
|
33
|
+
}),
|
34
|
+
],
|
35
|
+
style: DatadogAPIClient::V1::WidgetRequestStyle.new({
|
36
|
+
palette: "purple",
|
37
|
+
line_type: DatadogAPIClient::V1::WidgetLineType::SOLID,
|
38
|
+
line_width: DatadogAPIClient::V1::WidgetLineWidth::NORMAL,
|
39
|
+
}),
|
40
|
+
display_type: DatadogAPIClient::V1::WidgetDisplayType::OVERLAY,
|
41
|
+
}),
|
42
|
+
],
|
43
|
+
}),
|
44
|
+
}),
|
45
|
+
],
|
46
|
+
})
|
47
|
+
p api_instance.create_dashboard(body)
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# Create a geomap widget using an event_list request
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V1::DashboardsAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V1::Dashboard.new({
|
7
|
+
title: "Example-Dashboard",
|
8
|
+
description: "Example-Dashboard",
|
9
|
+
widgets: [
|
10
|
+
DatadogAPIClient::V1::Widget.new({
|
11
|
+
definition: DatadogAPIClient::V1::GeomapWidgetDefinition.new({
|
12
|
+
title: "",
|
13
|
+
title_size: "16",
|
14
|
+
title_align: DatadogAPIClient::V1::WidgetTextAlign::LEFT,
|
15
|
+
type: DatadogAPIClient::V1::GeomapWidgetDefinitionType::GEOMAP,
|
16
|
+
requests: [
|
17
|
+
DatadogAPIClient::V1::GeomapWidgetRequest.new({
|
18
|
+
response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::EVENT_LIST,
|
19
|
+
query: DatadogAPIClient::V1::ListStreamQuery.new({
|
20
|
+
data_source: DatadogAPIClient::V1::ListStreamSource::LOGS_STREAM,
|
21
|
+
query_string: "",
|
22
|
+
indexes: [],
|
23
|
+
}),
|
24
|
+
columns: [
|
25
|
+
DatadogAPIClient::V1::ListStreamColumn.new({
|
26
|
+
field: "@network.client.geoip.location.latitude",
|
27
|
+
width: DatadogAPIClient::V1::ListStreamColumnWidth::AUTO,
|
28
|
+
}),
|
29
|
+
DatadogAPIClient::V1::ListStreamColumn.new({
|
30
|
+
field: "@network.client.geoip.location.longitude",
|
31
|
+
width: DatadogAPIClient::V1::ListStreamColumnWidth::AUTO,
|
32
|
+
}),
|
33
|
+
DatadogAPIClient::V1::ListStreamColumn.new({
|
34
|
+
field: "@network.client.geoip.country.iso_code",
|
35
|
+
width: DatadogAPIClient::V1::ListStreamColumnWidth::AUTO,
|
36
|
+
}),
|
37
|
+
DatadogAPIClient::V1::ListStreamColumn.new({
|
38
|
+
field: "@network.client.geoip.subdivision.name",
|
39
|
+
width: DatadogAPIClient::V1::ListStreamColumnWidth::AUTO,
|
40
|
+
}),
|
41
|
+
DatadogAPIClient::V1::ListStreamColumn.new({
|
42
|
+
field: "classic",
|
43
|
+
width: DatadogAPIClient::V1::ListStreamColumnWidth::AUTO,
|
44
|
+
}),
|
45
|
+
DatadogAPIClient::V1::ListStreamColumn.new({
|
46
|
+
field: "",
|
47
|
+
width: DatadogAPIClient::V1::ListStreamColumnWidth::AUTO,
|
48
|
+
}),
|
49
|
+
],
|
50
|
+
}),
|
51
|
+
],
|
52
|
+
style: DatadogAPIClient::V1::GeomapWidgetDefinitionStyle.new({
|
53
|
+
palette: "hostmap_blues",
|
54
|
+
palette_flip: false,
|
55
|
+
}),
|
56
|
+
view: DatadogAPIClient::V1::GeomapWidgetDefinitionView.new({
|
57
|
+
focus: "WORLD",
|
58
|
+
}),
|
59
|
+
}),
|
60
|
+
layout: DatadogAPIClient::V1::WidgetLayout.new({
|
61
|
+
x: 0,
|
62
|
+
y: 0,
|
63
|
+
width: 12,
|
64
|
+
height: 6,
|
65
|
+
}),
|
66
|
+
}),
|
67
|
+
],
|
68
|
+
template_variables: [],
|
69
|
+
layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
|
70
|
+
notify_list: [],
|
71
|
+
reflow_type: DatadogAPIClient::V1::DashboardReflowType::FIXED,
|
72
|
+
tags: [],
|
73
|
+
})
|
74
|
+
p api_instance.create_dashboard(body)
|
@@ -34,6 +34,7 @@ body = DatadogAPIClient::V1::Dashboard.new({
|
|
34
34
|
measure: DatadogAPIClient::V1::FormulaAndFunctionSLOMeasure::SLO_STATUS,
|
35
35
|
group_mode: DatadogAPIClient::V1::FormulaAndFunctionSLOGroupMode::OVERALL,
|
36
36
|
slo_query_type: DatadogAPIClient::V1::FormulaAndFunctionSLOQueryType::METRIC,
|
37
|
+
additional_query_filters: "*",
|
37
38
|
}),
|
38
39
|
],
|
39
40
|
response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::SCALAR,
|
@@ -15,7 +15,7 @@ body = DatadogAPIClient::V1::Organization.new({
|
|
15
15
|
saml: DatadogAPIClient::V1::OrganizationSettingsSaml.new({
|
16
16
|
enabled: false,
|
17
17
|
}),
|
18
|
-
saml_autocreate_access_role: DatadogAPIClient::V1::AccessRole::
|
18
|
+
saml_autocreate_access_role: DatadogAPIClient::V1::AccessRole::READ_ONLY,
|
19
19
|
saml_autocreate_users_domains: DatadogAPIClient::V1::OrganizationSettingsSamlAutocreateUsersDomains.new({
|
20
20
|
domains: [
|
21
21
|
"example.com",
|
@@ -4,7 +4,7 @@ require "datadog_api_client"
|
|
4
4
|
api_instance = DatadogAPIClient::V1::UsersAPI.new
|
5
5
|
|
6
6
|
body = DatadogAPIClient::V1::User.new({
|
7
|
-
access_role: DatadogAPIClient::V1::AccessRole::
|
7
|
+
access_role: DatadogAPIClient::V1::AccessRole::READ_ONLY,
|
8
8
|
disabled: false,
|
9
9
|
email: "test@datadoghq.com",
|
10
10
|
handle: "test@datadoghq.com",
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Create a user returns null access role
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V1::UsersAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V1::User.new({
|
7
|
+
access_role: nil,
|
8
|
+
disabled: false,
|
9
|
+
email: "test@datadoghq.com",
|
10
|
+
handle: "test@datadoghq.com",
|
11
|
+
name: "test user",
|
12
|
+
})
|
13
|
+
p api_instance.create_user(body)
|
@@ -4,7 +4,7 @@ require "datadog_api_client"
|
|
4
4
|
api_instance = DatadogAPIClient::V1::UsersAPI.new
|
5
5
|
|
6
6
|
body = DatadogAPIClient::V1::User.new({
|
7
|
-
access_role: DatadogAPIClient::V1::AccessRole::
|
7
|
+
access_role: DatadogAPIClient::V1::AccessRole::READ_ONLY,
|
8
8
|
disabled: false,
|
9
9
|
email: "test@datadoghq.com",
|
10
10
|
handle: "test@datadoghq.com",
|
@@ -10,6 +10,7 @@ body = DatadogAPIClient::V2::ConfluentAccountCreateRequest.new({
|
|
10
10
|
api_secret: "test-api-secret-123",
|
11
11
|
resources: [
|
12
12
|
DatadogAPIClient::V2::ConfluentAccountResourceAttributes.new({
|
13
|
+
enable_custom_metrics: false,
|
13
14
|
id: "resource-id-123",
|
14
15
|
resource_type: "kafka",
|
15
16
|
tags: [
|
@@ -6,6 +6,7 @@ api_instance = DatadogAPIClient::V2::ConfluentCloudAPI.new
|
|
6
6
|
body = DatadogAPIClient::V2::ConfluentResourceRequest.new({
|
7
7
|
data: DatadogAPIClient::V2::ConfluentResourceRequestData.new({
|
8
8
|
attributes: DatadogAPIClient::V2::ConfluentResourceRequestAttributes.new({
|
9
|
+
enable_custom_metrics: false,
|
9
10
|
resource_type: "kafka",
|
10
11
|
tags: [
|
11
12
|
"myTag",
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# Cancel a downtime returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
DatadogAPIClient.configure do |config|
|
5
|
+
config.unstable_operations["v2.cancel_downtime".to_sym] = true
|
6
|
+
end
|
7
|
+
api_instance = DatadogAPIClient::V2::DowntimesAPI.new
|
8
|
+
|
9
|
+
# there is a valid "downtime_v2" in the system
|
10
|
+
DOWNTIME_V2_DATA_ID = ENV["DOWNTIME_V2_DATA_ID"]
|
11
|
+
api_instance.cancel_downtime(DOWNTIME_V2_DATA_ID)
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Schedule a downtime returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
DatadogAPIClient.configure do |config|
|
5
|
+
config.unstable_operations["v2.create_downtime".to_sym] = true
|
6
|
+
end
|
7
|
+
api_instance = DatadogAPIClient::V2::DowntimesAPI.new
|
8
|
+
|
9
|
+
body = DatadogAPIClient::V2::DowntimeCreateRequest.new({
|
10
|
+
data: DatadogAPIClient::V2::DowntimeCreateRequestData.new({
|
11
|
+
attributes: DatadogAPIClient::V2::DowntimeCreateRequestAttributes.new({
|
12
|
+
message: "dark forest",
|
13
|
+
monitor_identifier: DatadogAPIClient::V2::DowntimeMonitorIdentifierTags.new({
|
14
|
+
monitor_tags: [
|
15
|
+
"cat:hat",
|
16
|
+
],
|
17
|
+
}),
|
18
|
+
scope: "test:exampledowntime",
|
19
|
+
schedule: DatadogAPIClient::V2::DowntimeScheduleOneTimeCreateUpdateRequest.new({
|
20
|
+
start: nil,
|
21
|
+
}),
|
22
|
+
}),
|
23
|
+
type: DatadogAPIClient::V2::DowntimeResourceType::DOWNTIME,
|
24
|
+
}),
|
25
|
+
})
|
26
|
+
p api_instance.create_downtime(body)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# Get a downtime returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
DatadogAPIClient.configure do |config|
|
5
|
+
config.unstable_operations["v2.get_downtime".to_sym] = true
|
6
|
+
end
|
7
|
+
api_instance = DatadogAPIClient::V2::DowntimesAPI.new
|
8
|
+
|
9
|
+
# there is a valid "downtime_v2" in the system
|
10
|
+
DOWNTIME_V2_DATA_ID = ENV["DOWNTIME_V2_DATA_ID"]
|
11
|
+
p api_instance.get_downtime(DOWNTIME_V2_DATA_ID)
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Get all downtimes returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
DatadogAPIClient.configure do |config|
|
5
|
+
config.unstable_operations["v2.list_downtimes".to_sym] = true
|
6
|
+
end
|
7
|
+
api_instance = DatadogAPIClient::V2::DowntimesAPI.new
|
8
|
+
p api_instance.list_downtimes()
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Get active downtimes for a monitor returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
DatadogAPIClient.configure do |config|
|
5
|
+
config.unstable_operations["v2.list_monitor_downtimes".to_sym] = true
|
6
|
+
end
|
7
|
+
api_instance = DatadogAPIClient::V2::DowntimesAPI.new
|
8
|
+
p api_instance.list_monitor_downtimes(9223372036854775807)
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Get all downtimes for a monitor returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
DatadogAPIClient.configure do |config|
|
5
|
+
config.unstable_operations["v2.list_monitor_downtimes".to_sym] = true
|
6
|
+
end
|
7
|
+
api_instance = DatadogAPIClient::V2::DowntimesAPI.new
|
8
|
+
p api_instance.list_monitor_downtimes(35534610)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Update a downtime returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
DatadogAPIClient.configure do |config|
|
5
|
+
config.unstable_operations["v2.update_downtime".to_sym] = true
|
6
|
+
end
|
7
|
+
api_instance = DatadogAPIClient::V2::DowntimesAPI.new
|
8
|
+
|
9
|
+
# there is a valid "downtime_v2" in the system
|
10
|
+
DOWNTIME_V2_DATA_ID = ENV["DOWNTIME_V2_DATA_ID"]
|
11
|
+
|
12
|
+
body = DatadogAPIClient::V2::DowntimeUpdateRequest.new({
|
13
|
+
data: DatadogAPIClient::V2::DowntimeUpdateRequestData.new({
|
14
|
+
attributes: DatadogAPIClient::V2::DowntimeUpdateRequestAttributes.new({
|
15
|
+
message: "light speed",
|
16
|
+
}),
|
17
|
+
id: DOWNTIME_V2_DATA_ID,
|
18
|
+
type: DatadogAPIClient::V2::DowntimeResourceType::DOWNTIME,
|
19
|
+
}),
|
20
|
+
})
|
21
|
+
p api_instance.update_downtime(DOWNTIME_V2_DATA_ID, body)
|
@@ -4,7 +4,9 @@ require "datadog_api_client"
|
|
4
4
|
api_instance = DatadogAPIClient::V2::LogsAPI.new
|
5
5
|
opts = {
|
6
6
|
filter_query: "datadog-agent",
|
7
|
-
|
7
|
+
filter_indexes: [
|
8
|
+
"main",
|
9
|
+
],
|
8
10
|
filter_from: "2020-09-17T11:48:36+01:00",
|
9
11
|
filter_to: "2020-09-17T12:48:36+01:00",
|
10
12
|
page_limit: 5,
|
@@ -37,5 +37,15 @@ body = DatadogAPIClient::V2::CloudConfigurationRuleCreatePayload.new({
|
|
37
37
|
"@account_id",
|
38
38
|
],
|
39
39
|
}),
|
40
|
+
filters: [
|
41
|
+
DatadogAPIClient::V2::SecurityMonitoringFilter.new({
|
42
|
+
action: DatadogAPIClient::V2::SecurityMonitoringFilterAction::REQUIRE,
|
43
|
+
query: "resource_id:helo*",
|
44
|
+
}),
|
45
|
+
DatadogAPIClient::V2::SecurityMonitoringFilter.new({
|
46
|
+
action: DatadogAPIClient::V2::SecurityMonitoringFilterAction::SUPPRESS,
|
47
|
+
query: "control:helo*",
|
48
|
+
}),
|
49
|
+
],
|
40
50
|
})
|
41
51
|
p api_instance.create_security_monitoring_rule(body)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Aggregate spans returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::SpansAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V2::SpansAggregateRequest.new({
|
7
|
+
data: DatadogAPIClient::V2::SpansAggregateData.new({
|
8
|
+
attributes: DatadogAPIClient::V2::SpansAggregateRequestAttributes.new({
|
9
|
+
compute: [
|
10
|
+
DatadogAPIClient::V2::SpansCompute.new({
|
11
|
+
aggregation: DatadogAPIClient::V2::SpansAggregationFunction::COUNT,
|
12
|
+
interval: "5m",
|
13
|
+
type: DatadogAPIClient::V2::SpansComputeType::TIMESERIES,
|
14
|
+
}),
|
15
|
+
],
|
16
|
+
filter: DatadogAPIClient::V2::SpansQueryFilter.new({
|
17
|
+
from: "now-15m",
|
18
|
+
query: "*",
|
19
|
+
to: "now",
|
20
|
+
}),
|
21
|
+
}),
|
22
|
+
type: DatadogAPIClient::V2::SpansAggregateRequestType::AGGREGATE_REQUEST,
|
23
|
+
}),
|
24
|
+
})
|
25
|
+
p api_instance.aggregate_spans(body)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Search spans returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::SpansAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V2::SpansListRequest.new({
|
7
|
+
data: DatadogAPIClient::V2::SpansListRequestData.new({
|
8
|
+
attributes: DatadogAPIClient::V2::SpansListRequestAttributes.new({
|
9
|
+
filter: DatadogAPIClient::V2::SpansQueryFilter.new({
|
10
|
+
from: "now-15m",
|
11
|
+
query: "*",
|
12
|
+
to: "now",
|
13
|
+
}),
|
14
|
+
options: DatadogAPIClient::V2::SpansQueryOptions.new({
|
15
|
+
timezone: "GMT",
|
16
|
+
}),
|
17
|
+
page: DatadogAPIClient::V2::SpansListRequestPage.new({
|
18
|
+
limit: 25,
|
19
|
+
}),
|
20
|
+
sort: DatadogAPIClient::V2::SpansSort::TIMESTAMP_ASCENDING,
|
21
|
+
}),
|
22
|
+
type: DatadogAPIClient::V2::SpansListRequestType::SEARCH_REQUEST,
|
23
|
+
}),
|
24
|
+
})
|
25
|
+
p api_instance.list_spans(body)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Search spans returns "OK" response with pagination
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::SpansAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V2::SpansListRequest.new({
|
7
|
+
data: DatadogAPIClient::V2::SpansListRequestData.new({
|
8
|
+
attributes: DatadogAPIClient::V2::SpansListRequestAttributes.new({
|
9
|
+
filter: DatadogAPIClient::V2::SpansQueryFilter.new({
|
10
|
+
from: "now-15m",
|
11
|
+
query: "service:python*",
|
12
|
+
to: "now",
|
13
|
+
}),
|
14
|
+
options: DatadogAPIClient::V2::SpansQueryOptions.new({
|
15
|
+
timezone: "GMT",
|
16
|
+
}),
|
17
|
+
page: DatadogAPIClient::V2::SpansListRequestPage.new({
|
18
|
+
limit: 2,
|
19
|
+
}),
|
20
|
+
sort: DatadogAPIClient::V2::SpansSort::TIMESTAMP_ASCENDING,
|
21
|
+
}),
|
22
|
+
type: DatadogAPIClient::V2::SpansListRequestType::SEARCH_REQUEST,
|
23
|
+
}),
|
24
|
+
})
|
25
|
+
api_instance.list_spans_with_pagination(body) { |item| puts item }
|
@@ -175,6 +175,12 @@ module DatadogAPIClient
|
|
175
175
|
@http_proxypass = nil
|
176
176
|
@logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
|
177
177
|
@unstable_operations = {
|
178
|
+
"v2.cancel_downtime": false,
|
179
|
+
"v2.create_downtime": false,
|
180
|
+
"v2.get_downtime": false,
|
181
|
+
"v2.list_downtimes": false,
|
182
|
+
"v2.list_monitor_downtimes": false,
|
183
|
+
"v2.update_downtime": false,
|
178
184
|
"v2.list_events": false,
|
179
185
|
"v2.search_events": false,
|
180
186
|
"v2.create_incident": false,
|