datadog_api_client 2.18.0 → 2.20.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/conftest.py +1 -1
- data/.generator/poetry.lock +69 -69
- data/.generator/schemas/v1/openapi.yaml +286 -55
- data/.generator/schemas/v2/openapi.yaml +2021 -226
- data/.generator/src/generator/templates/api.j2 +5 -5
- data/.generator/src/generator/templates/model_generic.j2 +2 -2
- data/CHANGELOG.md +38 -0
- data/examples/v1/azure-integration/CreateAzureIntegration.rb +4 -4
- data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -15
- data/examples/v1/azure-integration/UpdateAzureIntegration.rb +4 -4
- data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
- data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
- data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
- data/examples/v1/logs-indexes/CreateLogsIndex.rb +5 -0
- data/examples/v1/logs-indexes/UpdateLogsIndex.rb +5 -0
- data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
- data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +1 -1
- data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
- data/examples/v1/synthetics/TriggerCITests.rb +1 -1
- data/examples/v1/synthetics/UpdateBrowserTest.rb +1 -1
- data/examples/v1/usage-metering/GetUsageLambda.rb +5 -2
- data/examples/v2/api-management/CreateOpenAPI.rb +11 -0
- data/examples/v2/api-management/DeleteOpenAPI.rb +11 -0
- data/examples/v2/api-management/GetOpenAPI.rb +11 -0
- data/examples/v2/api-management/UpdateOpenAPI.rb +14 -0
- data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
- data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
- data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
- data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
- data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
- data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
- data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
- data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
- data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
- data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
- data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
- data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
- data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
- data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
- data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
- data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
- data/examples/v2/okta-integration/CreateOktaAccount.rb +1 -1
- data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
- data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +19 -0
- data/examples/v2/security-monitoring/DeleteSecurityMonitoringSuppression.rb +8 -0
- data/examples/v2/security-monitoring/GetSecurityMonitoringSuppression.rb +8 -0
- data/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions.rb +5 -0
- data/examples/v2/security-monitoring/UpdateSecurityMonitoringSuppression.rb +17 -0
- data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
- data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
- data/examples/v2/teams/CreateTeamMembership.rb +6 -0
- data/examples/v2/teams/GetTeamMemberships_3799131168.rb +8 -0
- data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +1 -1
- data/lib/datadog_api_client/configuration.rb +4 -1
- data/lib/datadog_api_client/inflector.rb +74 -0
- data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
- data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
- data/lib/datadog_api_client/v1/api/organizations_api.rb +1 -1
- data/lib/datadog_api_client/v1/api/usage_metering_api.rb +3 -3
- data/lib/datadog_api_client/v1/models/dashboard.rb +5 -1
- data/lib/datadog_api_client/v1/models/dashboard_summary_definition.rb +2 -0
- data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
- data/lib/datadog_api_client/v1/models/log.rb +1 -1
- data/lib/datadog_api_client/v1/models/logs_daily_limit_reset.rb +90 -0
- data/lib/datadog_api_client/v1/models/logs_index.rb +36 -1
- data/lib/datadog_api_client/v1/models/logs_index_update_request.rb +36 -1
- data/lib/datadog_api_client/v1/models/metrics_payload.rb +1 -1
- data/lib/datadog_api_client/v1/models/metrics_query_metadata.rb +1 -1
- data/lib/datadog_api_client/v1/models/organization.rb +1 -1
- data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
- data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
- data/lib/datadog_api_client/v1/models/slo_correction_create_request_attributes.rb +1 -1
- data/lib/datadog_api_client/v1/models/slo_correction_response_attributes.rb +1 -1
- data/lib/datadog_api_client/v1/models/slo_correction_update_request_attributes.rb +1 -1
- data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
- data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
- data/lib/datadog_api_client/v1/models/slo_history_metrics.rb +2 -2
- data/lib/datadog_api_client/v1/models/slo_history_metrics_series.rb +1 -1
- data/lib/datadog_api_client/v1/models/slo_history_monitor.rb +1 -1
- data/lib/datadog_api_client/v1/models/slo_history_sli_data.rb +1 -1
- data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
- data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
- data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
- data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
- data/lib/datadog_api_client/v1/models/split_config.rb +6 -6
- data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +11 -1
- data/lib/datadog_api_client/v1/models/usage_lambda_hour.rb +1 -1
- data/lib/datadog_api_client/v1/models/usage_lambda_response.rb +1 -1
- data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
- data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
- data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
- data/lib/datadog_api_client/v2/api/api_management_api.rb +319 -0
- data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
- data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
- data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
- data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
- data/lib/datadog_api_client/v2/api/organizations_api.rb +1 -1
- data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +329 -0
- data/lib/datadog_api_client/v2/api/teams_api.rb +22 -0
- data/lib/datadog_api_client/v2/api/usage_metering_api.rb +3 -3
- data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
- data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
- data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
- data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
- data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/create_open_api_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/create_open_api_response_attributes.rb +82 -0
- data/lib/datadog_api_client/v2/models/create_open_api_response_data.rb +90 -0
- data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/dora_git_info.rb +2 -2
- data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
- data/lib/datadog_api_client/v2/models/metric_payload.rb +1 -1
- data/lib/datadog_api_client/v2/models/open_api_endpoint.rb +90 -0
- data/lib/datadog_api_client/v2/models/open_api_file.rb +80 -0
- data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
- data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression.rb +100 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +198 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +181 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +166 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_suppressions_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_user.rb +98 -0
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +33 -1
- data/lib/datadog_api_client/v2/models/update_open_api_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/update_open_api_response_attributes.rb +82 -0
- data/lib/datadog_api_client/v2/models/update_open_api_response_data.rb +90 -0
- data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
- data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
- data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
- data/lib/datadog_api_client/version.rb +1 -1
- metadata +103 -3
- data/examples/v1/usage-metering/GetUsageLambda_3132428705.rb +0 -8
@@ -0,0 +1,98 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# A formula that specifies how to combine the results of multiple queries.
|
21
|
+
class SLOFormula
|
22
|
+
include BaseGenericModel
|
23
|
+
|
24
|
+
# The formula string, which is an expression involving named queries.
|
25
|
+
attr_reader :formula
|
26
|
+
|
27
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
28
|
+
# @!visibility private
|
29
|
+
def self.attribute_map
|
30
|
+
{
|
31
|
+
:'formula' => :'formula'
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Attribute type mapping.
|
36
|
+
# @!visibility private
|
37
|
+
def self.openapi_types
|
38
|
+
{
|
39
|
+
:'formula' => :'String'
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
# Initializes the object
|
44
|
+
# @param attributes [Hash] Model attributes in the form of hash
|
45
|
+
# @!visibility private
|
46
|
+
def initialize(attributes = {})
|
47
|
+
if (!attributes.is_a?(Hash))
|
48
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::SLOFormula` initialize method"
|
49
|
+
end
|
50
|
+
|
51
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
52
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
53
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
54
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V1::SLOFormula`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
55
|
+
end
|
56
|
+
h[k.to_sym] = v
|
57
|
+
}
|
58
|
+
|
59
|
+
if attributes.key?(:'formula')
|
60
|
+
self.formula = attributes[:'formula']
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# Check to see if the all the properties in the model are valid
|
65
|
+
# @return true if the model is valid
|
66
|
+
# @!visibility private
|
67
|
+
def valid?
|
68
|
+
return false if @formula.nil?
|
69
|
+
true
|
70
|
+
end
|
71
|
+
|
72
|
+
# Custom attribute writer method with validation
|
73
|
+
# @param formula [Object] Object to be assigned
|
74
|
+
# @!visibility private
|
75
|
+
def formula=(formula)
|
76
|
+
if formula.nil?
|
77
|
+
fail ArgumentError, 'invalid value for "formula", formula cannot be nil.'
|
78
|
+
end
|
79
|
+
@formula = formula
|
80
|
+
end
|
81
|
+
|
82
|
+
# Checks equality by comparing each attribute.
|
83
|
+
# @param o [Object] Object to be compared
|
84
|
+
# @!visibility private
|
85
|
+
def ==(o)
|
86
|
+
return true if self.equal?(o)
|
87
|
+
self.class == o.class &&
|
88
|
+
formula == o.formula
|
89
|
+
end
|
90
|
+
|
91
|
+
# Calculates hash code according to all attributes.
|
92
|
+
# @return [Integer] Hash code
|
93
|
+
# @!visibility private
|
94
|
+
def hash
|
95
|
+
[formula].hash
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -23,7 +23,7 @@ module DatadogAPIClient::V1
|
|
23
23
|
class SLOHistoryMetrics
|
24
24
|
include BaseGenericModel
|
25
25
|
|
26
|
-
# A representation of `metric` based SLO
|
26
|
+
# A representation of `metric` based SLO timeseries for the provided queries.
|
27
27
|
# This is the same response type from `batch_query` endpoint.
|
28
28
|
attr_reader :denominator
|
29
29
|
|
@@ -33,7 +33,7 @@ module DatadogAPIClient::V1
|
|
33
33
|
# Optional message if there are specific query issues/warnings.
|
34
34
|
attr_accessor :message
|
35
35
|
|
36
|
-
# A representation of `metric` based SLO
|
36
|
+
# A representation of `metric` based SLO timeseries for the provided queries.
|
37
37
|
# This is the same response type from `batch_query` endpoint.
|
38
38
|
attr_reader :numerator
|
39
39
|
|
@@ -17,7 +17,7 @@ require 'date'
|
|
17
17
|
require 'time'
|
18
18
|
|
19
19
|
module DatadogAPIClient::V1
|
20
|
-
# A representation of `metric` based SLO
|
20
|
+
# A representation of `metric` based SLO timeseries for the provided queries.
|
21
21
|
# This is the same response type from `batch_query` endpoint.
|
22
22
|
class SLOHistoryMetricsSeries
|
23
23
|
include BaseGenericModel
|
@@ -31,7 +31,7 @@ module DatadogAPIClient::V1
|
|
31
31
|
# For groups in a grouped SLO, this is the group name.
|
32
32
|
attr_accessor :group
|
33
33
|
|
34
|
-
# For `monitor` based SLOs, this includes the aggregated history as arrays that include
|
34
|
+
# For `monitor` based SLOs, this includes the aggregated history as arrays that include timeseries and uptime data where `0=monitor` is in `OK` state and `1=monitor` is in `alert` state.
|
35
35
|
attr_accessor :history
|
36
36
|
|
37
37
|
# For `monitor` based SLOs, this is the last modified timestamp in epoch seconds of the monitor.
|
@@ -31,7 +31,7 @@ module DatadogAPIClient::V1
|
|
31
31
|
# For groups in a grouped SLO, this is the group name.
|
32
32
|
attr_accessor :group
|
33
33
|
|
34
|
-
# For `monitor` based SLOs, this includes the aggregated history as arrays that include
|
34
|
+
# For `monitor` based SLOs, this includes the aggregated history as arrays that include timeseries and uptime data where `0=monitor` is in `OK` state and `1=monitor` is in `alert` state.
|
35
35
|
attr_accessor :history
|
36
36
|
|
37
37
|
# For `monitor` based SLOs, this is the last modified timestamp in epoch seconds of the monitor.
|
@@ -76,6 +76,9 @@ module DatadogAPIClient::V1
|
|
76
76
|
# min of all of those requests.
|
77
77
|
attr_accessor :query
|
78
78
|
|
79
|
+
# A generic SLI specification. This is currently used for time-slice SLOs only.
|
80
|
+
attr_accessor :sli_specification
|
81
|
+
|
79
82
|
# A list of tags associated with this service level objective.
|
80
83
|
# Always included in service level objective responses (but may be empty).
|
81
84
|
# Optional in create/update requests.
|
@@ -116,6 +119,7 @@ module DatadogAPIClient::V1
|
|
116
119
|
:'monitor_tags' => :'monitor_tags',
|
117
120
|
:'name' => :'name',
|
118
121
|
:'query' => :'query',
|
122
|
+
:'sli_specification' => :'sli_specification',
|
119
123
|
:'tags' => :'tags',
|
120
124
|
:'target_threshold' => :'target_threshold',
|
121
125
|
:'thresholds' => :'thresholds',
|
@@ -140,6 +144,7 @@ module DatadogAPIClient::V1
|
|
140
144
|
:'monitor_tags' => :'Array<String>',
|
141
145
|
:'name' => :'String',
|
142
146
|
:'query' => :'ServiceLevelObjectiveQuery',
|
147
|
+
:'sli_specification' => :'SLOSliSpec',
|
143
148
|
:'tags' => :'Array<String>',
|
144
149
|
:'target_threshold' => :'Float',
|
145
150
|
:'thresholds' => :'Array<SLOThreshold>',
|
@@ -225,6 +230,10 @@ module DatadogAPIClient::V1
|
|
225
230
|
self.query = attributes[:'query']
|
226
231
|
end
|
227
232
|
|
233
|
+
if attributes.key?(:'sli_specification')
|
234
|
+
self.sli_specification = attributes[:'sli_specification']
|
235
|
+
end
|
236
|
+
|
228
237
|
if attributes.key?(:'tags')
|
229
238
|
if (value = attributes[:'tags']).is_a?(Array)
|
230
239
|
self.tags = value
|
@@ -271,6 +280,7 @@ module DatadogAPIClient::V1
|
|
271
280
|
monitor_tags == o.monitor_tags &&
|
272
281
|
name == o.name &&
|
273
282
|
query == o.query &&
|
283
|
+
sli_specification == o.sli_specification &&
|
274
284
|
tags == o.tags &&
|
275
285
|
target_threshold == o.target_threshold &&
|
276
286
|
thresholds == o.thresholds &&
|
@@ -283,7 +293,7 @@ module DatadogAPIClient::V1
|
|
283
293
|
# @return [Integer] Hash code
|
284
294
|
# @!visibility private
|
285
295
|
def hash
|
286
|
-
[configured_alert_ids, created_at, creator, description, groups, id, modified_at, monitor_ids, monitor_tags, name, query, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
|
296
|
+
[configured_alert_ids, created_at, creator, description, groups, id, modified_at, monitor_ids, monitor_tags, name, query, sli_specification, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
|
287
297
|
end
|
288
298
|
end
|
289
299
|
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# A generic SLI specification. This is currently used for time-slice SLOs only.
|
21
|
+
module SLOSliSpec
|
22
|
+
class << self
|
23
|
+
include BaseOneOfModel
|
24
|
+
include BaseOneOfModelNoDiscriminator
|
25
|
+
|
26
|
+
# List of class defined in oneOf (OpenAPI v3)
|
27
|
+
def openapi_one_of
|
28
|
+
[
|
29
|
+
:'SLOTimeSliceSpec'
|
30
|
+
]
|
31
|
+
end
|
32
|
+
# Builds the object
|
33
|
+
# @param data [Mixed] Data to be matched against the list of oneOf items
|
34
|
+
# @return [Object] Returns the model or the data itself
|
35
|
+
def build(data)
|
36
|
+
# Go through the list of oneOf items and attempt to identify the appropriate one.
|
37
|
+
# Note:
|
38
|
+
# - We do not attempt to check whether exactly one item matches.
|
39
|
+
# - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
|
40
|
+
# due to the way the deserialization is made in the base_object template (it just casts without verifying).
|
41
|
+
# - TODO: scalar values are de facto behaving as if they were nullable.
|
42
|
+
# - TODO: logging when debugging is set.
|
43
|
+
openapi_one_of.each do |klass|
|
44
|
+
begin
|
45
|
+
next if klass == :AnyType # "nullable: true"
|
46
|
+
typed_data = find_and_cast_into_type(klass, data)
|
47
|
+
next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
|
48
|
+
return typed_data if typed_data
|
49
|
+
rescue # rescue all errors so we keep iterating even if the current item lookup raises
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
if openapi_one_of.include?(:AnyType)
|
54
|
+
data
|
55
|
+
else
|
56
|
+
self._unparsed = true
|
57
|
+
DatadogAPIClient::UnparsedObject.new(data)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# The comparator used to compare the SLI value to the threshold.
|
21
|
+
class SLOTimeSliceComparator
|
22
|
+
include BaseEnumModel
|
23
|
+
|
24
|
+
GREATER = ">".freeze
|
25
|
+
GREATER_EQUAL = ">=".freeze
|
26
|
+
LESS = "<".freeze
|
27
|
+
LESS_EQUAL = "<=".freeze
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# The time-slice condition, composed of 3 parts: 1. the metric timeseries query, 2. the comparator,
|
21
|
+
# and 3. the threshold.
|
22
|
+
class SLOTimeSliceCondition
|
23
|
+
include BaseGenericModel
|
24
|
+
|
25
|
+
# The comparator used to compare the SLI value to the threshold.
|
26
|
+
attr_reader :comparator
|
27
|
+
|
28
|
+
# The queries and formula used to calculate the SLI value.
|
29
|
+
attr_reader :query
|
30
|
+
|
31
|
+
# The threshold value to which each SLI value will be compared.
|
32
|
+
attr_reader :threshold
|
33
|
+
|
34
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
35
|
+
# @!visibility private
|
36
|
+
def self.attribute_map
|
37
|
+
{
|
38
|
+
:'comparator' => :'comparator',
|
39
|
+
:'query' => :'query',
|
40
|
+
:'threshold' => :'threshold'
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
# Attribute type mapping.
|
45
|
+
# @!visibility private
|
46
|
+
def self.openapi_types
|
47
|
+
{
|
48
|
+
:'comparator' => :'SLOTimeSliceComparator',
|
49
|
+
:'query' => :'SLOTimeSliceQuery',
|
50
|
+
:'threshold' => :'Float'
|
51
|
+
}
|
52
|
+
end
|
53
|
+
|
54
|
+
# Initializes the object
|
55
|
+
# @param attributes [Hash] Model attributes in the form of hash
|
56
|
+
# @!visibility private
|
57
|
+
def initialize(attributes = {})
|
58
|
+
if (!attributes.is_a?(Hash))
|
59
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::SLOTimeSliceCondition` initialize method"
|
60
|
+
end
|
61
|
+
|
62
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
63
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
64
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
65
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V1::SLOTimeSliceCondition`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
66
|
+
end
|
67
|
+
h[k.to_sym] = v
|
68
|
+
}
|
69
|
+
|
70
|
+
if attributes.key?(:'comparator')
|
71
|
+
self.comparator = attributes[:'comparator']
|
72
|
+
end
|
73
|
+
|
74
|
+
if attributes.key?(:'query')
|
75
|
+
self.query = attributes[:'query']
|
76
|
+
end
|
77
|
+
|
78
|
+
if attributes.key?(:'threshold')
|
79
|
+
self.threshold = attributes[:'threshold']
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
# Check to see if the all the properties in the model are valid
|
84
|
+
# @return true if the model is valid
|
85
|
+
# @!visibility private
|
86
|
+
def valid?
|
87
|
+
return false if @comparator.nil?
|
88
|
+
return false if @query.nil?
|
89
|
+
return false if @threshold.nil?
|
90
|
+
true
|
91
|
+
end
|
92
|
+
|
93
|
+
# Custom attribute writer method with validation
|
94
|
+
# @param comparator [Object] Object to be assigned
|
95
|
+
# @!visibility private
|
96
|
+
def comparator=(comparator)
|
97
|
+
if comparator.nil?
|
98
|
+
fail ArgumentError, 'invalid value for "comparator", comparator cannot be nil.'
|
99
|
+
end
|
100
|
+
@comparator = comparator
|
101
|
+
end
|
102
|
+
|
103
|
+
# Custom attribute writer method with validation
|
104
|
+
# @param query [Object] Object to be assigned
|
105
|
+
# @!visibility private
|
106
|
+
def query=(query)
|
107
|
+
if query.nil?
|
108
|
+
fail ArgumentError, 'invalid value for "query", query cannot be nil.'
|
109
|
+
end
|
110
|
+
@query = query
|
111
|
+
end
|
112
|
+
|
113
|
+
# Custom attribute writer method with validation
|
114
|
+
# @param threshold [Object] Object to be assigned
|
115
|
+
# @!visibility private
|
116
|
+
def threshold=(threshold)
|
117
|
+
if threshold.nil?
|
118
|
+
fail ArgumentError, 'invalid value for "threshold", threshold cannot be nil.'
|
119
|
+
end
|
120
|
+
@threshold = threshold
|
121
|
+
end
|
122
|
+
|
123
|
+
# Checks equality by comparing each attribute.
|
124
|
+
# @param o [Object] Object to be compared
|
125
|
+
# @!visibility private
|
126
|
+
def ==(o)
|
127
|
+
return true if self.equal?(o)
|
128
|
+
self.class == o.class &&
|
129
|
+
comparator == o.comparator &&
|
130
|
+
query == o.query &&
|
131
|
+
threshold == o.threshold
|
132
|
+
end
|
133
|
+
|
134
|
+
# Calculates hash code according to all attributes.
|
135
|
+
# @return [Integer] Hash code
|
136
|
+
# @!visibility private
|
137
|
+
def hash
|
138
|
+
[comparator, query, threshold].hash
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# The queries and formula used to calculate the SLI value.
|
21
|
+
class SLOTimeSliceQuery
|
22
|
+
include BaseGenericModel
|
23
|
+
|
24
|
+
# A list that contains exactly one formula, as only a single formula may be used in a time-slice SLO.
|
25
|
+
attr_reader :formulas
|
26
|
+
|
27
|
+
# A list of queries that are used to calculate the SLI value.
|
28
|
+
attr_reader :queries
|
29
|
+
|
30
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
31
|
+
# @!visibility private
|
32
|
+
def self.attribute_map
|
33
|
+
{
|
34
|
+
:'formulas' => :'formulas',
|
35
|
+
:'queries' => :'queries'
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
# Attribute type mapping.
|
40
|
+
# @!visibility private
|
41
|
+
def self.openapi_types
|
42
|
+
{
|
43
|
+
:'formulas' => :'Array<SLOFormula>',
|
44
|
+
:'queries' => :'Array<SLODataSourceQueryDefinition>'
|
45
|
+
}
|
46
|
+
end
|
47
|
+
|
48
|
+
# Initializes the object
|
49
|
+
# @param attributes [Hash] Model attributes in the form of hash
|
50
|
+
# @!visibility private
|
51
|
+
def initialize(attributes = {})
|
52
|
+
if (!attributes.is_a?(Hash))
|
53
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::SLOTimeSliceQuery` initialize method"
|
54
|
+
end
|
55
|
+
|
56
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
57
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
58
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
59
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V1::SLOTimeSliceQuery`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
60
|
+
end
|
61
|
+
h[k.to_sym] = v
|
62
|
+
}
|
63
|
+
|
64
|
+
if attributes.key?(:'formulas')
|
65
|
+
if (value = attributes[:'formulas']).is_a?(Array)
|
66
|
+
self.formulas = value
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
if attributes.key?(:'queries')
|
71
|
+
if (value = attributes[:'queries']).is_a?(Array)
|
72
|
+
self.queries = value
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# Check to see if the all the properties in the model are valid
|
78
|
+
# @return true if the model is valid
|
79
|
+
# @!visibility private
|
80
|
+
def valid?
|
81
|
+
return false if @formulas.nil?
|
82
|
+
return false if @formulas.length > 1
|
83
|
+
return false if @formulas.length < 1
|
84
|
+
return false if @queries.nil?
|
85
|
+
true
|
86
|
+
end
|
87
|
+
|
88
|
+
# Custom attribute writer method with validation
|
89
|
+
# @param formulas [Object] Object to be assigned
|
90
|
+
# @!visibility private
|
91
|
+
def formulas=(formulas)
|
92
|
+
if formulas.nil?
|
93
|
+
fail ArgumentError, 'invalid value for "formulas", formulas cannot be nil.'
|
94
|
+
end
|
95
|
+
if formulas.length > 1
|
96
|
+
fail ArgumentError, 'invalid value for "formulas", number of items must be less than or equal to 1.'
|
97
|
+
end
|
98
|
+
if formulas.length < 1
|
99
|
+
fail ArgumentError, 'invalid value for "formulas", number of items must be greater than or equal to 1.'
|
100
|
+
end
|
101
|
+
@formulas = formulas
|
102
|
+
end
|
103
|
+
|
104
|
+
# Custom attribute writer method with validation
|
105
|
+
# @param queries [Object] Object to be assigned
|
106
|
+
# @!visibility private
|
107
|
+
def queries=(queries)
|
108
|
+
if queries.nil?
|
109
|
+
fail ArgumentError, 'invalid value for "queries", queries cannot be nil.'
|
110
|
+
end
|
111
|
+
@queries = queries
|
112
|
+
end
|
113
|
+
|
114
|
+
# Checks equality by comparing each attribute.
|
115
|
+
# @param o [Object] Object to be compared
|
116
|
+
# @!visibility private
|
117
|
+
def ==(o)
|
118
|
+
return true if self.equal?(o)
|
119
|
+
self.class == o.class &&
|
120
|
+
formulas == o.formulas &&
|
121
|
+
queries == o.queries
|
122
|
+
end
|
123
|
+
|
124
|
+
# Calculates hash code according to all attributes.
|
125
|
+
# @return [Integer] Hash code
|
126
|
+
# @!visibility private
|
127
|
+
def hash
|
128
|
+
[formulas, queries].hash
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# A time-slice SLI specification.
|
21
|
+
class SLOTimeSliceSpec
|
22
|
+
include BaseGenericModel
|
23
|
+
|
24
|
+
# The time-slice condition, composed of 3 parts: 1. the metric timeseries query, 2. the comparator,
|
25
|
+
# and 3. the threshold.
|
26
|
+
attr_reader :time_slice
|
27
|
+
|
28
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
29
|
+
# @!visibility private
|
30
|
+
def self.attribute_map
|
31
|
+
{
|
32
|
+
:'time_slice' => :'time_slice'
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
# Attribute type mapping.
|
37
|
+
# @!visibility private
|
38
|
+
def self.openapi_types
|
39
|
+
{
|
40
|
+
:'time_slice' => :'SLOTimeSliceCondition'
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
# Initializes the object
|
45
|
+
# @param attributes [Hash] Model attributes in the form of hash
|
46
|
+
# @!visibility private
|
47
|
+
def initialize(attributes = {})
|
48
|
+
if (!attributes.is_a?(Hash))
|
49
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::SLOTimeSliceSpec` initialize method"
|
50
|
+
end
|
51
|
+
|
52
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
53
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
54
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
55
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V1::SLOTimeSliceSpec`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
56
|
+
end
|
57
|
+
h[k.to_sym] = v
|
58
|
+
}
|
59
|
+
|
60
|
+
if attributes.key?(:'time_slice')
|
61
|
+
self.time_slice = attributes[:'time_slice']
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
# Check to see if the all the properties in the model are valid
|
66
|
+
# @return true if the model is valid
|
67
|
+
# @!visibility private
|
68
|
+
def valid?
|
69
|
+
return false if @time_slice.nil?
|
70
|
+
true
|
71
|
+
end
|
72
|
+
|
73
|
+
# Custom attribute writer method with validation
|
74
|
+
# @param time_slice [Object] Object to be assigned
|
75
|
+
# @!visibility private
|
76
|
+
def time_slice=(time_slice)
|
77
|
+
if time_slice.nil?
|
78
|
+
fail ArgumentError, 'invalid value for "time_slice", time_slice cannot be nil.'
|
79
|
+
end
|
80
|
+
@time_slice = time_slice
|
81
|
+
end
|
82
|
+
|
83
|
+
# Checks equality by comparing each attribute.
|
84
|
+
# @param o [Object] Object to be compared
|
85
|
+
# @!visibility private
|
86
|
+
def ==(o)
|
87
|
+
return true if self.equal?(o)
|
88
|
+
self.class == o.class &&
|
89
|
+
time_slice == o.time_slice
|
90
|
+
end
|
91
|
+
|
92
|
+
# Calculates hash code according to all attributes.
|
93
|
+
# @return [Integer] Hash code
|
94
|
+
# @!visibility private
|
95
|
+
def hash
|
96
|
+
[time_slice].hash
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|