datadog_api_client 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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