From 48fccee09e04fdbc3ef4feda70b786bb1a73ca8c Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 19 Mar 2026 09:13:09 +0000 Subject: [PATCH] Regenerate client from commit 40f54a9 of spec repo --- .generator/schemas/v1/openapi.yaml | 122 +++++++++ .generator/schemas/v2/openapi.yaml | 7 + ...w-dashboard-with-apm-metrics-widget.frozen | 1 + ...-new-dashboard-with-apm-metrics-widget.yml | 42 +++ .../dashboards/CreateDashboard_2252738813.rb | 43 +++ features/scenarios_model_mapping.rb | 3 + features/v1/dashboards.feature | 14 + lib/datadog_api_client/inflector.rb | 4 + ...rmula_and_function_apm_metric_stat_name.rb | 41 +++ ...la_and_function_apm_metrics_data_source.rb | 26 ++ ...d_function_apm_metrics_query_definition.rb | 259 ++++++++++++++++++ ...mula_and_function_apm_metrics_span_kind.rb | 30 ++ .../formula_and_function_query_definition.rb | 1 + .../v2/api/security_monitoring_api.rb | 2 + 14 files changed, 595 insertions(+) create mode 100644 cassettes/features/v1/dashboards/Create-a-new-dashboard-with-apm-metrics-widget.frozen create mode 100644 cassettes/features/v1/dashboards/Create-a-new-dashboard-with-apm-metrics-widget.yml create mode 100644 examples/v1/dashboards/CreateDashboard_2252738813.rb create mode 100644 lib/datadog_api_client/v1/models/formula_and_function_apm_metric_stat_name.rb create mode 100644 lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_data_source.rb create mode 100644 lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_query_definition.rb create mode 100644 lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_span_kind.rb diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 715f38f30c74..7fa5596d4bea 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -2855,6 +2855,127 @@ components: - service - name type: object + FormulaAndFunctionApmMetricStatName: + description: APM metric stat name. + enum: + - errors + - error_rate + - errors_per_second + - latency_avg + - latency_max + - latency_p50 + - latency_p75 + - latency_p90 + - latency_p95 + - latency_p99 + - latency_p999 + - latency_distribution + - hits + - hits_per_second + - total_time + - apdex + example: hits + type: string + x-enum-varnames: + - ERRORS + - ERROR_RATE + - ERRORS_PER_SECOND + - LATENCY_AVG + - LATENCY_MAX + - LATENCY_P50 + - LATENCY_P75 + - LATENCY_P90 + - LATENCY_P95 + - LATENCY_P99 + - LATENCY_P999 + - LATENCY_DISTRIBUTION + - HITS + - HITS_PER_SECOND + - TOTAL_TIME + - APDEX + FormulaAndFunctionApmMetricsDataSource: + description: Data source for APM metrics queries. + enum: + - apm_metrics + example: apm_metrics + type: string + x-enum-varnames: + - APM_METRICS + FormulaAndFunctionApmMetricsQueryDefinition: + description: A formula and functions APM metrics query. + properties: + data_source: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricsDataSource' + group_by: + description: Optional fields to group the query results by. + items: + description: A field to group results by. + example: resource_name + type: string + type: array + name: + description: Name of this query to use in formulas. + example: query_errors + type: string + operation_mode: + description: Optional operation mode to aggregate across operation names. + example: primary + type: string + operation_name: + description: Name of operation on service. If not provided, the primary + operation name is used. + example: web.request + type: string + peer_tags: + description: Tags to query for a specific downstream entity (peer.service, + peer.db_instance, peer.s3, peer.s3.bucket, etc.). + items: + example: peer.service:my-service + type: string + type: array + query_filter: + description: Additional filters for the query using metrics query syntax + (e.g., env, primary_tag). + example: env:prod + type: string + resource_hash: + description: The hash of a specific resource to filter by. + example: abc123 + type: string + resource_name: + description: The full name of a specific resource to filter by. + example: GET /api/v1/users + type: string + service: + description: APM service name. + example: web-store + type: string + span_kind: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricsSpanKind' + stat: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricStatName' + required: + - data_source + - name + - stat + type: object + FormulaAndFunctionApmMetricsSpanKind: + description: Describes the relationship between the span, its parents, and its + children in a trace. + enum: + - consumer + - server + - client + - producer + - internal + example: server + type: string + x-enum-varnames: + - CONSUMER + - SERVER + - CLIENT + - PRODUCER + - INTERNAL FormulaAndFunctionApmResourceStatName: description: APM resource stat name. enum: @@ -3296,6 +3417,7 @@ components: - $ref: '#/components/schemas/FormulaAndFunctionProcessQueryDefinition' - $ref: '#/components/schemas/FormulaAndFunctionApmDependencyStatsQueryDefinition' - $ref: '#/components/schemas/FormulaAndFunctionApmResourceStatsQueryDefinition' + - $ref: '#/components/schemas/FormulaAndFunctionApmMetricsQueryDefinition' - $ref: '#/components/schemas/FormulaAndFunctionSLOQueryDefinition' - $ref: '#/components/schemas/FormulaAndFunctionCloudCostQueryDefinition' FormulaAndFunctionResponseFormat: diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 7c5de28af805..7ae721a4124b 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -102212,6 +102212,13 @@ paths: get: description: Get the list of all critical assets. operationId: ListSecurityMonitoringCriticalAssets + parameters: + - description: Query string. + in: query + name: query + required: false + schema: + type: string responses: '200': content: diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-apm-metrics-widget.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-apm-metrics-widget.frozen new file mode 100644 index 000000000000..75b84eafed74 --- /dev/null +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-apm-metrics-widget.frozen @@ -0,0 +1 @@ +2025-02-20T10:00:00.000Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-apm-metrics-widget.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-apm-metrics-widget.yml new file mode 100644 index 000000000000..6dd0e490b242 --- /dev/null +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-apm-metrics-widget.yml @@ -0,0 +1,42 @@ +http_interactions: +- recorded_at: Thu, 20 Feb 2025 10:00:00 GMT + request: + body: + encoding: UTF-8 + string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_apm_metrics_widget-1740045600","widgets":[{"definition":{"requests":[{"queries":[{"data_source":"apm_metrics","group_by":["resource_name"],"name":"query1","query_filter":"env:prod","service":"web-store","stat":"hits"}],"response_format":"scalar"}],"title":"","title_align":"left","title_size":"16","type":"query_table"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v1/dashboard + response: + body: + encoding: UTF-8 + string: '{"id":"apm-met-ric","title":"Test-Create_a_new_dashboard_with_apm_metrics_widget-1740045600","description":null,"author_handle":"test@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/apm-met-ric/testcreateanewdashboardwithapmmetricswidget1740045600","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"requests":[{"queries":[{"data_source":"apm_metrics","group_by":["resource_name"],"name":"query1","query_filter":"env:prod","service":"web-store","stat":"hits"}],"response_format":"scalar"}],"title":"","title_align":"left","title_size":"16","type":"query_table"},"layout":{"height":4,"width":4,"x":0,"y":0},"id":1234567890123456}],"notify_list":null,"created_at":"2025-02-20T10:00:01.000000+00:00","modified_at":"2025-02-20T10:00:01.000000+00:00","restricted_roles":[]}' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +- recorded_at: Thu, 20 Feb 2025 10:00:00 GMT + request: + body: null + headers: + Accept: + - application/json + method: DELETE + uri: https://api.datadoghq.com/api/v1/dashboard/apm-met-ric + response: + body: + encoding: UTF-8 + string: '{"deleted_dashboard_id":"apm-met-ric"}' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +recorded_with: VCR 6.0.0 diff --git a/examples/v1/dashboards/CreateDashboard_2252738813.rb b/examples/v1/dashboards/CreateDashboard_2252738813.rb new file mode 100644 index 000000000000..fb8dd6f7a855 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_2252738813.rb @@ -0,0 +1,43 @@ +# Create a new dashboard with apm metrics widget + +require "datadog_api_client" +api_instance = DatadogAPIClient::V1::DashboardsAPI.new + +body = DatadogAPIClient::V1::Dashboard.new({ + title: "Example-Dashboard", + widgets: [ + DatadogAPIClient::V1::Widget.new({ + definition: DatadogAPIClient::V1::TableWidgetDefinition.new({ + title: "", + title_size: "16", + title_align: DatadogAPIClient::V1::WidgetTextAlign::LEFT, + type: DatadogAPIClient::V1::TableWidgetDefinitionType::QUERY_TABLE, + requests: [ + DatadogAPIClient::V1::TableWidgetRequest.new({ + response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::SCALAR, + queries: [ + DatadogAPIClient::V1::FormulaAndFunctionApmMetricsQueryDefinition.new({ + stat: DatadogAPIClient::V1::FormulaAndFunctionApmMetricStatName::HITS, + name: "query1", + service: "web-store", + data_source: DatadogAPIClient::V1::FormulaAndFunctionApmMetricsDataSource::APM_METRICS, + query_filter: "env:prod", + group_by: [ + "resource_name", + ], + }), + ], + }), + ], + }), + layout: DatadogAPIClient::V1::WidgetLayout.new({ + x: 0, + y: 0, + width: 4, + height: 4, + }), + }), + ], + layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED, +}) +p api_instance.create_dashboard(body) diff --git a/features/scenarios_model_mapping.rb b/features/scenarios_model_mapping.rb index a3162c56f7a1..95f3727d7bec 100644 --- a/features/scenarios_model_mapping.rb +++ b/features/scenarios_model_mapping.rb @@ -1607,6 +1607,9 @@ "filter_operating_system_name" => "String", "filter_operating_system_version" => "String", }, + "v2.ListSecurityMonitoringCriticalAssets" => { + "query" => "String", + }, "v2.CreateSecurityMonitoringCriticalAsset" => { "body" => "SecurityMonitoringCriticalAssetCreateRequest", }, diff --git a/features/v1/dashboards.feature b/features/v1/dashboards.feature index e8c10d7cc5fe..e894b96bfa83 100644 --- a/features/v1/dashboards.feature +++ b/features/v1/dashboards.feature @@ -320,6 +320,20 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].primary_tag_name" is equal to "datacenter" And the response "widgets[0].definition.requests[0].queries[0].operation_name" is equal to "cassandra.query" + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with apm metrics widget + Given new "CreateDashboard" request + And body with value { "title": "{{ unique }}", "widgets": [{"definition": { "title": "", "title_size": "16", "title_align": "left", "type": "query_table", "requests": [ { "response_format": "scalar", "queries": [ { "stat": "hits", "name": "query1", "service": "web-store", "data_source": "apm_metrics", "query_filter": "env:prod", "group_by": ["resource_name"] } ] } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.requests[0].response_format" is equal to "scalar" + And the response "widgets[0].definition.requests[0].queries[0].stat" is equal to "hits" + And the response "widgets[0].definition.requests[0].queries[0].group_by[0]" is equal to "resource_name" + And the response "widgets[0].definition.requests[0].queries[0].name" is equal to "query1" + And the response "widgets[0].definition.requests[0].queries[0].service" is equal to "web-store" + And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "apm_metrics" + And the response "widgets[0].definition.requests[0].queries[0].query_filter" is equal to "env:prod" + @team:DataDog/dashboards-backend Scenario: Create a new dashboard with apm resource stats widget Given new "CreateDashboard" request diff --git a/lib/datadog_api_client/inflector.rb b/lib/datadog_api_client/inflector.rb index 53171cd9b40d..15a62b79c2f0 100644 --- a/lib/datadog_api_client/inflector.rb +++ b/lib/datadog_api_client/inflector.rb @@ -129,6 +129,10 @@ def overrides "v1.formula_and_function_apm_dependency_stat_name" => "FormulaAndFunctionApmDependencyStatName", "v1.formula_and_function_apm_dependency_stats_data_source" => "FormulaAndFunctionApmDependencyStatsDataSource", "v1.formula_and_function_apm_dependency_stats_query_definition" => "FormulaAndFunctionApmDependencyStatsQueryDefinition", + "v1.formula_and_function_apm_metrics_data_source" => "FormulaAndFunctionApmMetricsDataSource", + "v1.formula_and_function_apm_metrics_query_definition" => "FormulaAndFunctionApmMetricsQueryDefinition", + "v1.formula_and_function_apm_metrics_span_kind" => "FormulaAndFunctionApmMetricsSpanKind", + "v1.formula_and_function_apm_metric_stat_name" => "FormulaAndFunctionApmMetricStatName", "v1.formula_and_function_apm_resource_stat_name" => "FormulaAndFunctionApmResourceStatName", "v1.formula_and_function_apm_resource_stats_data_source" => "FormulaAndFunctionApmResourceStatsDataSource", "v1.formula_and_function_apm_resource_stats_query_definition" => "FormulaAndFunctionApmResourceStatsQueryDefinition", diff --git a/lib/datadog_api_client/v1/models/formula_and_function_apm_metric_stat_name.rb b/lib/datadog_api_client/v1/models/formula_and_function_apm_metric_stat_name.rb new file mode 100644 index 000000000000..05e8c0e827ed --- /dev/null +++ b/lib/datadog_api_client/v1/models/formula_and_function_apm_metric_stat_name.rb @@ -0,0 +1,41 @@ +=begin +#Datadog API V1 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V1 + # APM metric stat name. + class FormulaAndFunctionApmMetricStatName + include BaseEnumModel + + ERRORS = "errors".freeze + ERROR_RATE = "error_rate".freeze + ERRORS_PER_SECOND = "errors_per_second".freeze + LATENCY_AVG = "latency_avg".freeze + LATENCY_MAX = "latency_max".freeze + LATENCY_P50 = "latency_p50".freeze + LATENCY_P75 = "latency_p75".freeze + LATENCY_P90 = "latency_p90".freeze + LATENCY_P95 = "latency_p95".freeze + LATENCY_P99 = "latency_p99".freeze + LATENCY_P999 = "latency_p999".freeze + LATENCY_DISTRIBUTION = "latency_distribution".freeze + HITS = "hits".freeze + HITS_PER_SECOND = "hits_per_second".freeze + TOTAL_TIME = "total_time".freeze + APDEX = "apdex".freeze + end +end diff --git a/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_data_source.rb b/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_data_source.rb new file mode 100644 index 000000000000..3616cbb8029d --- /dev/null +++ b/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_data_source.rb @@ -0,0 +1,26 @@ +=begin +#Datadog API V1 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V1 + # Data source for APM metrics queries. + class FormulaAndFunctionApmMetricsDataSource + include BaseEnumModel + + APM_METRICS = "apm_metrics".freeze + end +end diff --git a/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_query_definition.rb b/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_query_definition.rb new file mode 100644 index 000000000000..7cdf28bd23f1 --- /dev/null +++ b/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_query_definition.rb @@ -0,0 +1,259 @@ +=begin +#Datadog API V1 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V1 + # A formula and functions APM metrics query. + class FormulaAndFunctionApmMetricsQueryDefinition + include BaseGenericModel + + # Data source for APM metrics queries. + attr_reader :data_source + + # Optional fields to group the query results by. + attr_accessor :group_by + + # Name of this query to use in formulas. + attr_reader :name + + # Optional operation mode to aggregate across operation names. + attr_accessor :operation_mode + + # Name of operation on service. If not provided, the primary operation name is used. + attr_accessor :operation_name + + # Tags to query for a specific downstream entity (peer.service, peer.db_instance, peer.s3, peer.s3.bucket, etc.). + attr_accessor :peer_tags + + # Additional filters for the query using metrics query syntax (e.g., env, primary_tag). + attr_accessor :query_filter + + # The hash of a specific resource to filter by. + attr_accessor :resource_hash + + # The full name of a specific resource to filter by. + attr_accessor :resource_name + + # APM service name. + attr_accessor :service + + # Describes the relationship between the span, its parents, and its children in a trace. + attr_accessor :span_kind + + # APM metric stat name. + attr_reader :stat + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'data_source' => :'data_source', + :'group_by' => :'group_by', + :'name' => :'name', + :'operation_mode' => :'operation_mode', + :'operation_name' => :'operation_name', + :'peer_tags' => :'peer_tags', + :'query_filter' => :'query_filter', + :'resource_hash' => :'resource_hash', + :'resource_name' => :'resource_name', + :'service' => :'service', + :'span_kind' => :'span_kind', + :'stat' => :'stat' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'data_source' => :'FormulaAndFunctionApmMetricsDataSource', + :'group_by' => :'Array', + :'name' => :'String', + :'operation_mode' => :'String', + :'operation_name' => :'String', + :'peer_tags' => :'Array', + :'query_filter' => :'String', + :'resource_hash' => :'String', + :'resource_name' => :'String', + :'service' => :'String', + :'span_kind' => :'FormulaAndFunctionApmMetricsSpanKind', + :'stat' => :'FormulaAndFunctionApmMetricStatName' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::FormulaAndFunctionApmMetricsQueryDefinition` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'data_source') + self.data_source = attributes[:'data_source'] + end + + if attributes.key?(:'group_by') + if (value = attributes[:'group_by']).is_a?(Array) + self.group_by = value + end + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'operation_mode') + self.operation_mode = attributes[:'operation_mode'] + end + + if attributes.key?(:'operation_name') + self.operation_name = attributes[:'operation_name'] + end + + if attributes.key?(:'peer_tags') + if (value = attributes[:'peer_tags']).is_a?(Array) + self.peer_tags = value + end + end + + if attributes.key?(:'query_filter') + self.query_filter = attributes[:'query_filter'] + end + + if attributes.key?(:'resource_hash') + self.resource_hash = attributes[:'resource_hash'] + end + + if attributes.key?(:'resource_name') + self.resource_name = attributes[:'resource_name'] + end + + if attributes.key?(:'service') + self.service = attributes[:'service'] + end + + if attributes.key?(:'span_kind') + self.span_kind = attributes[:'span_kind'] + end + + if attributes.key?(:'stat') + self.stat = attributes[:'stat'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @data_source.nil? + return false if @name.nil? + return false if @stat.nil? + true + end + + # Custom attribute writer method with validation + # @param data_source [Object] Object to be assigned + # @!visibility private + def data_source=(data_source) + if data_source.nil? + fail ArgumentError, 'invalid value for "data_source", data_source cannot be nil.' + end + @data_source = data_source + end + + # Custom attribute writer method with validation + # @param name [Object] Object to be assigned + # @!visibility private + def name=(name) + if name.nil? + fail ArgumentError, 'invalid value for "name", name cannot be nil.' + end + @name = name + end + + # Custom attribute writer method with validation + # @param stat [Object] Object to be assigned + # @!visibility private + def stat=(stat) + if stat.nil? + fail ArgumentError, 'invalid value for "stat", stat cannot be nil.' + end + @stat = stat + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data_source == o.data_source && + group_by == o.group_by && + name == o.name && + operation_mode == o.operation_mode && + operation_name == o.operation_name && + peer_tags == o.peer_tags && + query_filter == o.query_filter && + resource_hash == o.resource_hash && + resource_name == o.resource_name && + service == o.service && + span_kind == o.span_kind && + stat == o.stat && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [data_source, group_by, name, operation_mode, operation_name, peer_tags, query_filter, resource_hash, resource_name, service, span_kind, stat, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_span_kind.rb b/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_span_kind.rb new file mode 100644 index 000000000000..e72c6e3ee796 --- /dev/null +++ b/lib/datadog_api_client/v1/models/formula_and_function_apm_metrics_span_kind.rb @@ -0,0 +1,30 @@ +=begin +#Datadog API V1 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V1 + # Describes the relationship between the span, its parents, and its children in a trace. + class FormulaAndFunctionApmMetricsSpanKind + include BaseEnumModel + + CONSUMER = "consumer".freeze + SERVER = "server".freeze + CLIENT = "client".freeze + PRODUCER = "producer".freeze + INTERNAL = "internal".freeze + end +end diff --git a/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb b/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb index 49fa5577b4e9..7b050225df10 100644 --- a/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb +++ b/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb @@ -31,6 +31,7 @@ def openapi_one_of :'FormulaAndFunctionProcessQueryDefinition', :'FormulaAndFunctionApmDependencyStatsQueryDefinition', :'FormulaAndFunctionApmResourceStatsQueryDefinition', + :'FormulaAndFunctionApmMetricsQueryDefinition', :'FormulaAndFunctionSLOQueryDefinition', :'FormulaAndFunctionCloudCostQueryDefinition' ] diff --git a/lib/datadog_api_client/v2/api/security_monitoring_api.rb b/lib/datadog_api_client/v2/api/security_monitoring_api.rb index 3192e46a021f..c185ce633926 100644 --- a/lib/datadog_api_client/v2/api/security_monitoring_api.rb +++ b/lib/datadog_api_client/v2/api/security_monitoring_api.rb @@ -4326,6 +4326,7 @@ def list_security_monitoring_critical_assets(opts = {}) # Get the list of all critical assets. # # @param opts [Hash] the optional parameters + # @option opts [String] :query Query string. # @return [Array<(SecurityMonitoringCriticalAssetsResponse, Integer, Hash)>] SecurityMonitoringCriticalAssetsResponse data, response status code and response headers def list_security_monitoring_critical_assets_with_http_info(opts = {}) @@ -4337,6 +4338,7 @@ def list_security_monitoring_critical_assets_with_http_info(opts = {}) # query parameters query_params = opts[:query_params] || {} + query_params[:'query'] = opts[:'query'] if !opts[:'query'].nil? # header parameters header_params = opts[:header_params] || {}