datadog_api_client 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +229 -6
  4. data/.generator/schemas/v2/openapi.yaml +1295 -335
  5. data/.github/workflows/docs.yml +2 -0
  6. data/.github/workflows/test.yml +2 -0
  7. data/CHANGELOG.md +19 -0
  8. data/examples/v1/logs-indexes/UpdateLogsIndex.rb +3 -0
  9. data/examples/v1/monitors/CreateMonitor_2012680290.rb +23 -0
  10. data/examples/v1/service-level-objectives/GetSLOHistory.rb +0 -3
  11. data/examples/v1/synthetics/CreateSyntheticsAPITest_1487281163.rb +9 -0
  12. data/examples/v1/synthetics/UpdateBrowserTest.rb +1 -0
  13. data/examples/v2/ci-visibility-pipelines/AggregateCIAppPipelineEvents.rb +33 -0
  14. data/examples/v2/ci-visibility-pipelines/ListCIAppPipelineEvents.rb +11 -0
  15. data/examples/v2/ci-visibility-pipelines/ListCIAppPipelineEvents_1270618359.rb +10 -0
  16. data/examples/v2/ci-visibility-pipelines/SearchCIAppPipelineEvents.rb +23 -0
  17. data/examples/v2/ci-visibility-pipelines/SearchCIAppPipelineEvents_3246135003.rb +22 -0
  18. data/examples/v2/ci-visibility-tests/AggregateCIAppTestEvents.rb +36 -0
  19. data/examples/v2/ci-visibility-tests/ListCIAppTestEvents.rb +11 -0
  20. data/examples/v2/ci-visibility-tests/ListCIAppTestEvents_3852605281.rb +10 -0
  21. data/examples/v2/ci-visibility-tests/SearchCIAppTestEvents.rb +23 -0
  22. data/examples/v2/ci-visibility-tests/SearchCIAppTestEvents_1675695429.rb +20 -0
  23. data/examples/v2/security-monitoring/GetSecurityMonitoringRule.rb +4 -1
  24. data/examples/v2/security-monitoring/UpdateSecurityMonitoringRule.rb +23 -33
  25. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +1 -1
  26. data/examples/v2/service-definition/DeleteServiceDefinition.rb +1 -1
  27. data/examples/v2/service-definition/GetServiceDefinition.rb +1 -1
  28. data/examples/v2/usage-metering/GetEstimatedCostByOrg_3186693804.rb +1 -1
  29. data/lib/datadog_api_client/configuration.rb +0 -1
  30. data/lib/datadog_api_client/inflector.rb +49 -0
  31. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +0 -6
  32. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +5 -5
  33. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +1 -0
  34. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_events_data_source.rb +4 -0
  35. data/lib/datadog_api_client/v1/models/monitor_options.rb +11 -1
  36. data/lib/datadog_api_client/v1/models/monitor_options_scheduling_options.rb +98 -0
  37. data/lib/datadog_api_client/v1/models/monitor_options_scheduling_options_evaluation_window.rb +148 -0
  38. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +2 -0
  39. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +21 -1
  40. data/lib/datadog_api_client/v1/models/synthetics_assertion.rb +2 -1
  41. data/lib/datadog_api_client/v1/models/synthetics_assertion_x_path_operator.rb +26 -0
  42. data/lib/datadog_api_client/v1/models/synthetics_assertion_x_path_target.rb +150 -0
  43. data/lib/datadog_api_client/v1/models/synthetics_assertion_x_path_target_target.rb +118 -0
  44. data/lib/datadog_api_client/v1/models/synthetics_step.rb +11 -1
  45. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +2 -2
  46. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +11 -1
  47. data/lib/datadog_api_client/v1/models/synthetics_test_request_body_type.rb +31 -0
  48. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +2 -0
  49. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +2 -0
  50. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +21 -1
  51. data/lib/datadog_api_client/v1/models/usage_fargate_hour.rb +11 -1
  52. data/lib/datadog_api_client/v1/models/usage_sds_hour.rb +31 -1
  53. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +41 -1
  54. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +41 -1
  55. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +41 -1
  56. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +283 -0
  57. data/lib/datadog_api_client/v2/api/ci_visibility_tests_api.rb +283 -0
  58. data/lib/datadog_api_client/v2/api/cloud_workload_security_api.rb +1 -1
  59. data/lib/datadog_api_client/v2/api/logs_api.rb +6 -0
  60. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +3 -2
  61. data/lib/datadog_api_client/v2/models/ci_app_aggregate_bucket_value.rb +64 -0
  62. data/lib/datadog_api_client/v2/models/ci_app_aggregate_bucket_value_timeseries_point.rb +108 -0
  63. data/lib/datadog_api_client/v2/models/ci_app_aggregate_sort.rb +128 -0
  64. data/lib/datadog_api_client/v2/models/ci_app_aggregate_sort_type.rb +27 -0
  65. data/lib/datadog_api_client/v2/models/ci_app_aggregation_function.rb +37 -0
  66. data/lib/datadog_api_client/v2/models/ci_app_compute.rb +140 -0
  67. data/lib/datadog_api_client/v2/models/ci_app_compute_type.rb +27 -0
  68. data/lib/datadog_api_client/v2/models/ci_app_event_attributes.rb +132 -0
  69. data/lib/datadog_api_client/v2/models/ci_app_group_by_histogram.rb +154 -0
  70. data/lib/datadog_api_client/v2/models/ci_app_group_by_missing.rb +63 -0
  71. data/lib/datadog_api_client/v2/models/ci_app_group_by_total.rb +64 -0
  72. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event.rb +118 -0
  73. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_type_name.rb +26 -0
  74. data/lib/datadog_api_client/v2/models/ci_app_pipeline_events_request.rb +129 -0
  75. data/lib/datadog_api_client/v2/models/ci_app_pipeline_events_response.rb +120 -0
  76. data/lib/datadog_api_client/v2/models/ci_app_pipelines_aggregate_request.rb +143 -0
  77. data/lib/datadog_api_client/v2/models/ci_app_pipelines_aggregation_buckets_response.rb +100 -0
  78. data/lib/datadog_api_client/v2/models/ci_app_pipelines_analytics_aggregate_response.rb +118 -0
  79. data/lib/datadog_api_client/v2/models/ci_app_pipelines_bucket_response.rb +108 -0
  80. data/lib/datadog_api_client/v2/models/ci_app_pipelines_group_by.rb +160 -0
  81. data/lib/datadog_api_client/v2/models/ci_app_pipelines_query_filter.rb +118 -0
  82. data/lib/datadog_api_client/v2/models/ci_app_query_options.rb +109 -0
  83. data/lib/datadog_api_client/v2/models/ci_app_query_page_options.rb +119 -0
  84. data/lib/datadog_api_client/v2/models/ci_app_response_links.rb +99 -0
  85. data/lib/datadog_api_client/v2/models/ci_app_response_metadata.rb +141 -0
  86. data/lib/datadog_api_client/v2/models/ci_app_response_page.rb +98 -0
  87. data/lib/datadog_api_client/v2/models/ci_app_response_status.rb +27 -0
  88. data/lib/datadog_api_client/v2/models/ci_app_sort.rb +27 -0
  89. data/lib/datadog_api_client/v2/models/ci_app_sort_order.rb +27 -0
  90. data/lib/datadog_api_client/v2/models/ci_app_test_event.rb +118 -0
  91. data/lib/datadog_api_client/v2/models/ci_app_test_event_type_name.rb +26 -0
  92. data/lib/datadog_api_client/v2/models/ci_app_test_events_request.rb +129 -0
  93. data/lib/datadog_api_client/v2/models/ci_app_test_events_response.rb +120 -0
  94. data/lib/datadog_api_client/v2/models/ci_app_tests_aggregate_request.rb +143 -0
  95. data/lib/datadog_api_client/v2/models/ci_app_tests_aggregation_buckets_response.rb +100 -0
  96. data/lib/datadog_api_client/v2/models/ci_app_tests_analytics_aggregate_response.rb +118 -0
  97. data/lib/datadog_api_client/v2/models/ci_app_tests_bucket_response.rb +108 -0
  98. data/lib/datadog_api_client/v2/models/ci_app_tests_group_by.rb +160 -0
  99. data/lib/datadog_api_client/v2/models/ci_app_tests_query_filter.rb +118 -0
  100. data/lib/datadog_api_client/v2/models/ci_app_warning.rb +118 -0
  101. data/lib/datadog_api_client/v2/models/logs_query_filter.rb +11 -1
  102. data/lib/datadog_api_client/v2/models/logs_storage_tier.rb +27 -0
  103. data/lib/datadog_api_client/v2/models/rum_query_filter.rb +2 -2
  104. data/lib/datadog_api_client/v2/models/service_definition_v2_opsgenie.rb +14 -14
  105. data/lib/datadog_api_client/version.rb +1 -1
  106. metadata +62 -3
  107. data/examples/v2/usage-metering/GetEstimatedCostByOrg_2734954020.rb +0 -9
@@ -0,0 +1,37 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # An aggregation function.
21
+ class CIAppAggregationFunction
22
+ include BaseEnumModel
23
+
24
+ COUNT = "count".freeze
25
+ CARDINALITY = "cardinality".freeze
26
+ PERCENTILE_75 = "pc75".freeze
27
+ PERCENTILE_90 = "pc90".freeze
28
+ PERCENTILE_95 = "pc95".freeze
29
+ PERCENTILE_98 = "pc98".freeze
30
+ PERCENTILE_99 = "pc99".freeze
31
+ SUM = "sum".freeze
32
+ MIN = "min".freeze
33
+ MAX = "max".freeze
34
+ AVG = "avg".freeze
35
+ MEDIAN = "median".freeze
36
+ end
37
+ end
@@ -0,0 +1,140 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # A compute rule to compute metrics or timeseries.
21
+ class CIAppCompute
22
+ include BaseGenericModel
23
+
24
+ # Whether the object has unparsed attributes
25
+ # @!visibility private
26
+ attr_accessor :_unparsed
27
+
28
+ # An aggregation function.
29
+ attr_accessor :aggregation
30
+
31
+ # The time buckets' size (only used for type=timeseries)
32
+ # Defaults to a resolution of 150 points.
33
+ attr_accessor :interval
34
+
35
+ # The metric to use.
36
+ attr_accessor :metric
37
+
38
+ # The type of compute.
39
+ attr_accessor :type
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ # @!visibility private
43
+ def self.attribute_map
44
+ {
45
+ :'aggregation' => :'aggregation',
46
+ :'interval' => :'interval',
47
+ :'metric' => :'metric',
48
+ :'type' => :'type'
49
+ }
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ # @!visibility private
54
+ def self.openapi_types
55
+ {
56
+ :'aggregation' => :'CIAppAggregationFunction',
57
+ :'interval' => :'String',
58
+ :'metric' => :'String',
59
+ :'type' => :'CIAppComputeType'
60
+ }
61
+ end
62
+
63
+ # List of attributes with nullable: true
64
+ # @!visibility private
65
+ def self.openapi_nullable
66
+ Set.new([
67
+ ])
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param attributes [Hash] Model attributes in the form of hash
72
+ # @!visibility private
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CIAppCompute` initialize method"
76
+ end
77
+
78
+ # check to see if the attribute exists and convert string to symbol for hash key
79
+ attributes = attributes.each_with_object({}) { |(k, v), h|
80
+ if (!self.class.attribute_map.key?(k.to_sym))
81
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::CIAppCompute`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
+ end
83
+ h[k.to_sym] = v
84
+ }
85
+
86
+ if attributes.key?(:'aggregation')
87
+ self.aggregation = attributes[:'aggregation']
88
+ end
89
+
90
+ if attributes.key?(:'interval')
91
+ self.interval = attributes[:'interval']
92
+ end
93
+
94
+ if attributes.key?(:'metric')
95
+ self.metric = attributes[:'metric']
96
+ end
97
+
98
+ if attributes.key?(:'type')
99
+ self.type = attributes[:'type']
100
+ end
101
+ end
102
+
103
+ # Check to see if the all the properties in the model are valid
104
+ # @return true if the model is valid
105
+ # @!visibility private
106
+ def valid?
107
+ return false if @aggregation.nil?
108
+ true
109
+ end
110
+
111
+ # Custom attribute writer method with validation
112
+ # @param aggregation [Object] Object to be assigned
113
+ # @!visibility private
114
+ def aggregation=(aggregation)
115
+ if aggregation.nil?
116
+ fail ArgumentError, 'invalid value for "aggregation", aggregation cannot be nil.'
117
+ end
118
+ @aggregation = aggregation
119
+ end
120
+
121
+ # Checks equality by comparing each attribute.
122
+ # @param o [Object] Object to be compared
123
+ # @!visibility private
124
+ def ==(o)
125
+ return true if self.equal?(o)
126
+ self.class == o.class &&
127
+ aggregation == o.aggregation &&
128
+ interval == o.interval &&
129
+ metric == o.metric &&
130
+ type == o.type
131
+ end
132
+
133
+ # Calculates hash code according to all attributes.
134
+ # @return [Integer] Hash code
135
+ # @!visibility private
136
+ def hash
137
+ [aggregation, interval, metric, type].hash
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,27 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # The type of compute.
21
+ class CIAppComputeType
22
+ include BaseEnumModel
23
+
24
+ TIMESERIES = "timeseries".freeze
25
+ TOTAL = "total".freeze
26
+ end
27
+ end
@@ -0,0 +1,132 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # JSON object containing all event attributes and their associated values.
21
+ class CIAppEventAttributes
22
+ include BaseGenericModel
23
+
24
+ # Whether the object has unparsed attributes
25
+ # @!visibility private
26
+ attr_accessor :_unparsed
27
+
28
+ # JSON object of attributes from CI Visibility events.
29
+ attr_accessor :attributes
30
+
31
+ # The name of the application or service generating CI Visibility events.
32
+ # It is used to switch from CI Visibility to APM, so make sure you define the same
33
+ # value when you use both products.
34
+ attr_accessor :service
35
+
36
+ # Array of tags associated with your event.
37
+ attr_accessor :tags
38
+
39
+ # Timestamp of your event.
40
+ attr_accessor :timestamp
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ # @!visibility private
44
+ def self.attribute_map
45
+ {
46
+ :'attributes' => :'attributes',
47
+ :'service' => :'service',
48
+ :'tags' => :'tags',
49
+ :'timestamp' => :'timestamp'
50
+ }
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ # @!visibility private
55
+ def self.openapi_types
56
+ {
57
+ :'attributes' => :'Hash<String, Object>',
58
+ :'service' => :'String',
59
+ :'tags' => :'Array<String>',
60
+ :'timestamp' => :'Time'
61
+ }
62
+ end
63
+
64
+ # List of attributes with nullable: true
65
+ # @!visibility private
66
+ def self.openapi_nullable
67
+ Set.new([
68
+ ])
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param attributes [Hash] Model attributes in the form of hash
73
+ # @!visibility private
74
+ def initialize(attributes = {})
75
+ if (!attributes.is_a?(Hash))
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CIAppEventAttributes` initialize method"
77
+ end
78
+
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h|
81
+ if (!self.class.attribute_map.key?(k.to_sym))
82
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::CIAppEventAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
83
+ end
84
+ h[k.to_sym] = v
85
+ }
86
+
87
+ if attributes.key?(:'attributes')
88
+ self.attributes = attributes[:'attributes']
89
+ end
90
+
91
+ if attributes.key?(:'service')
92
+ self.service = attributes[:'service']
93
+ end
94
+
95
+ if attributes.key?(:'tags')
96
+ if (value = attributes[:'tags']).is_a?(Array)
97
+ self.tags = value
98
+ end
99
+ end
100
+
101
+ if attributes.key?(:'timestamp')
102
+ self.timestamp = attributes[:'timestamp']
103
+ end
104
+ end
105
+
106
+ # Check to see if the all the properties in the model are valid
107
+ # @return true if the model is valid
108
+ # @!visibility private
109
+ def valid?
110
+ true
111
+ end
112
+
113
+ # Checks equality by comparing each attribute.
114
+ # @param o [Object] Object to be compared
115
+ # @!visibility private
116
+ def ==(o)
117
+ return true if self.equal?(o)
118
+ self.class == o.class &&
119
+ attributes == o.attributes &&
120
+ service == o.service &&
121
+ tags == o.tags &&
122
+ timestamp == o.timestamp
123
+ end
124
+
125
+ # Calculates hash code according to all attributes.
126
+ # @return [Integer] Hash code
127
+ # @!visibility private
128
+ def hash
129
+ [attributes, service, tags, timestamp].hash
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,154 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # Used to perform a histogram computation (only for measure facets).
21
+ # At most, 100 buckets are allowed, the number of buckets is `(max - min)/interval`.
22
+ class CIAppGroupByHistogram
23
+ include BaseGenericModel
24
+
25
+ # Whether the object has unparsed attributes
26
+ # @!visibility private
27
+ attr_accessor :_unparsed
28
+
29
+ # The bin size of the histogram buckets.
30
+ attr_accessor :interval
31
+
32
+ # The maximum value for the measure used in the histogram
33
+ # (values greater than this one are filtered out).
34
+ attr_accessor :max
35
+
36
+ # The minimum value for the measure used in the histogram
37
+ # (values smaller than this one are filtered out).
38
+ attr_accessor :min
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ # @!visibility private
42
+ def self.attribute_map
43
+ {
44
+ :'interval' => :'interval',
45
+ :'max' => :'max',
46
+ :'min' => :'min'
47
+ }
48
+ end
49
+
50
+ # Attribute type mapping.
51
+ # @!visibility private
52
+ def self.openapi_types
53
+ {
54
+ :'interval' => :'Float',
55
+ :'max' => :'Float',
56
+ :'min' => :'Float'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ # @!visibility private
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ ])
65
+ end
66
+
67
+ # Initializes the object
68
+ # @param attributes [Hash] Model attributes in the form of hash
69
+ # @!visibility private
70
+ def initialize(attributes = {})
71
+ if (!attributes.is_a?(Hash))
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CIAppGroupByHistogram` initialize method"
73
+ end
74
+
75
+ # check to see if the attribute exists and convert string to symbol for hash key
76
+ attributes = attributes.each_with_object({}) { |(k, v), h|
77
+ if (!self.class.attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::CIAppGroupByHistogram`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
79
+ end
80
+ h[k.to_sym] = v
81
+ }
82
+
83
+ if attributes.key?(:'interval')
84
+ self.interval = attributes[:'interval']
85
+ end
86
+
87
+ if attributes.key?(:'max')
88
+ self.max = attributes[:'max']
89
+ end
90
+
91
+ if attributes.key?(:'min')
92
+ self.min = attributes[:'min']
93
+ end
94
+ end
95
+
96
+ # Check to see if the all the properties in the model are valid
97
+ # @return true if the model is valid
98
+ # @!visibility private
99
+ def valid?
100
+ return false if @interval.nil?
101
+ return false if @max.nil?
102
+ return false if @min.nil?
103
+ true
104
+ end
105
+
106
+ # Custom attribute writer method with validation
107
+ # @param interval [Object] Object to be assigned
108
+ # @!visibility private
109
+ def interval=(interval)
110
+ if interval.nil?
111
+ fail ArgumentError, 'invalid value for "interval", interval cannot be nil.'
112
+ end
113
+ @interval = interval
114
+ end
115
+
116
+ # Custom attribute writer method with validation
117
+ # @param max [Object] Object to be assigned
118
+ # @!visibility private
119
+ def max=(max)
120
+ if max.nil?
121
+ fail ArgumentError, 'invalid value for "max", max cannot be nil.'
122
+ end
123
+ @max = max
124
+ end
125
+
126
+ # Custom attribute writer method with validation
127
+ # @param min [Object] Object to be assigned
128
+ # @!visibility private
129
+ def min=(min)
130
+ if min.nil?
131
+ fail ArgumentError, 'invalid value for "min", min cannot be nil.'
132
+ end
133
+ @min = min
134
+ end
135
+
136
+ # Checks equality by comparing each attribute.
137
+ # @param o [Object] Object to be compared
138
+ # @!visibility private
139
+ def ==(o)
140
+ return true if self.equal?(o)
141
+ self.class == o.class &&
142
+ interval == o.interval &&
143
+ max == o.max &&
144
+ min == o.min
145
+ end
146
+
147
+ # Calculates hash code according to all attributes.
148
+ # @return [Integer] Hash code
149
+ # @!visibility private
150
+ def hash
151
+ [interval, max, min].hash
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,63 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # The value to use for logs that don't have the facet used to group-by.
21
+ module CIAppGroupByMissing
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
+ :'String',
30
+ :'Float'
31
+ ]
32
+ end
33
+ # Builds the object
34
+ # @param data [Mixed] Data to be matched against the list of oneOf items
35
+ # @return [Object] Returns the model or the data itself
36
+ def build(data)
37
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
38
+ # Note:
39
+ # - We do not attempt to check whether exactly one item matches.
40
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
41
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
42
+ # - TODO: scalar values are de facto behaving as if they were nullable.
43
+ # - TODO: logging when debugging is set.
44
+ openapi_one_of.each do |klass|
45
+ begin
46
+ next if klass == :AnyType # "nullable: true"
47
+ typed_data = find_and_cast_into_type(klass, data)
48
+ next if typed_data._unparsed
49
+ return typed_data if typed_data
50
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
51
+ end
52
+ end
53
+
54
+ if openapi_one_of.include?(:AnyType)
55
+ data
56
+ else
57
+ self._unparsed = true
58
+ DatadogAPIClient::UnparsedObject.new(data)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,64 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # A resulting object to put the given computes in over all the matching records.
21
+ module CIAppGroupByTotal
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
+ :'Boolean',
30
+ :'String',
31
+ :'Float'
32
+ ]
33
+ end
34
+ # Builds the object
35
+ # @param data [Mixed] Data to be matched against the list of oneOf items
36
+ # @return [Object] Returns the model or the data itself
37
+ def build(data)
38
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
39
+ # Note:
40
+ # - We do not attempt to check whether exactly one item matches.
41
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
42
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
43
+ # - TODO: scalar values are de facto behaving as if they were nullable.
44
+ # - TODO: logging when debugging is set.
45
+ openapi_one_of.each do |klass|
46
+ begin
47
+ next if klass == :AnyType # "nullable: true"
48
+ typed_data = find_and_cast_into_type(klass, data)
49
+ next if typed_data._unparsed
50
+ return typed_data if typed_data
51
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
52
+ end
53
+ end
54
+
55
+ if openapi_one_of.include?(:AnyType)
56
+ data
57
+ else
58
+ self._unparsed = true
59
+ DatadogAPIClient::UnparsedObject.new(data)
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end