datadog_api_client 2.15.0 → 2.16.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 (165) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +6 -6
  3. data/.generator/schemas/v1/openapi.yaml +643 -123
  4. data/.generator/schemas/v2/openapi.yaml +1815 -195
  5. data/.generator/src/generator/templates/api_client.j2 +19 -1
  6. data/.generator/src/generator/templates/model_base.j2 +1 -0
  7. data/CHANGELOG.md +30 -0
  8. data/examples/v1/dashboards/CreateDashboard_1754992756.rb +44 -0
  9. data/examples/v1/dashboards/CreateDashboard_2278756614.rb +91 -0
  10. data/examples/v1/monitors/CreateMonitor_1539578087.rb +36 -0
  11. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  12. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +1 -1
  13. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_397420811.rb +1 -1
  14. data/examples/v1/usage-metering/GetUsageCIApp.rb +4 -1
  15. data/examples/v1/usage-metering/GetUsageCWS.rb +4 -1
  16. data/examples/v1/usage-metering/GetUsageCloudSecurityPostureManagement.rb +1 -1
  17. data/examples/v2/apm-retention-filters/CreateApmRetentionFilter.rb +20 -0
  18. data/examples/v2/apm-retention-filters/DeleteApmRetentionFilter.rb +8 -0
  19. data/examples/v2/apm-retention-filters/GetApmRetentionFilter.rb +8 -0
  20. data/examples/v2/apm-retention-filters/ListApmRetentionFilters.rb +5 -0
  21. data/examples/v2/apm-retention-filters/ReorderApmRetentionFilters.rb +18 -0
  22. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter.rb +24 -0
  23. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  24. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -8
  25. data/examples/v2/container-images/ListContainerImages.rb +8 -0
  26. data/examples/v2/container-images/ListContainerImages_3088586393.rb +11 -0
  27. data/examples/v2/container-images/ListContainerImages_3974828736.rb +11 -0
  28. data/examples/v2/gcp-integration/CreateGCPSTSAccount_109518525.rb +19 -0
  29. data/examples/v2/powerpack/CreatePowerpack.rb +47 -0
  30. data/examples/v2/powerpack/DeletePowerpack.rb +8 -0
  31. data/examples/v2/powerpack/GetPowerpack.rb +8 -0
  32. data/examples/v2/powerpack/ListPowerpacks.rb +8 -0
  33. data/examples/v2/powerpack/ListPowerpacks_1173755071.rb +8 -0
  34. data/examples/v2/powerpack/UpdatePowerpack.rb +50 -0
  35. data/examples/v2/rum/CreateRUMApplication.rb +1 -1
  36. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey.rb +5 -7
  37. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey.rb +7 -1
  38. data/examples/v2/service-accounts/GetServiceAccountApplicationKey.rb +7 -1
  39. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys.rb +4 -1
  40. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey.rb +11 -9
  41. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +23 -12
  42. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions_2621709423.rb +53 -0
  43. data/lib/datadog_api_client/api_client.rb +19 -1
  44. data/lib/datadog_api_client/configuration.rb +1 -1
  45. data/lib/datadog_api_client/inflector.rb +80 -0
  46. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -20
  47. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -6
  48. data/lib/datadog_api_client/v1/api/webhooks_integration_api.rb +1 -1
  49. data/lib/datadog_api_client/v1/model_base.rb +1 -0
  50. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +6 -4
  51. data/lib/datadog_api_client/v1/models/ip_prefixes_global.rb +94 -0
  52. data/lib/datadog_api_client/v1/models/ip_ranges.rb +11 -1
  53. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule.rb +82 -0
  54. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule_recurrence.rb +100 -0
  55. data/lib/datadog_api_client/v1/models/monitor_options_scheduling_options.rb +11 -1
  56. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +4 -0
  57. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +45 -5
  58. data/lib/datadog_api_client/v1/models/powerpack_template_variable_contents.rb +131 -0
  59. data/lib/datadog_api_client/v1/models/powerpack_template_variables.rb +94 -0
  60. data/lib/datadog_api_client/v1/models/powerpack_widget_definition.rb +169 -0
  61. data/lib/datadog_api_client/v1/models/powerpack_widget_definition_type.rb +26 -0
  62. data/lib/datadog_api_client/v1/models/split_config.rb +181 -0
  63. data/lib/datadog_api_client/v1/models/split_config_sort_compute.rb +119 -0
  64. data/lib/datadog_api_client/v1/models/split_dimension.rb +98 -0
  65. data/lib/datadog_api_client/v1/models/split_graph_source_widget_definition.rb +70 -0
  66. data/lib/datadog_api_client/v1/models/split_graph_viz_size.rb +29 -0
  67. data/lib/datadog_api_client/v1/models/split_graph_widget_definition.rb +191 -0
  68. data/lib/datadog_api_client/v1/models/split_graph_widget_definition_type.rb +26 -0
  69. data/lib/datadog_api_client/v1/models/split_sort.rb +108 -0
  70. data/lib/datadog_api_client/v1/models/split_vector_entry_item.rb +125 -0
  71. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +4 -4
  72. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_hour.rb +8 -8
  73. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_response.rb +2 -2
  74. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +148 -8
  75. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +148 -8
  76. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +148 -8
  77. data/lib/datadog_api_client/v1/models/widget_definition.rb +8 -6
  78. data/lib/datadog_api_client/v2/api/apm_retention_filters_api.rb +423 -0
  79. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +4 -10
  80. data/lib/datadog_api_client/v2/api/ci_visibility_tests_api.rb +3 -3
  81. data/lib/datadog_api_client/v2/api/container_images_api.rb +129 -0
  82. data/lib/datadog_api_client/v2/api/incidents_api.rb +1 -1
  83. data/lib/datadog_api_client/v2/api/powerpack_api.rb +383 -0
  84. data/lib/datadog_api_client/v2/api/service_definition_api.rb +2 -2
  85. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  86. data/lib/datadog_api_client/v2/model_base.rb +1 -0
  87. data/lib/datadog_api_client/v2/models/apm_retention_filter_type.rb +26 -0
  88. data/lib/datadog_api_client/v2/models/container_image.rb +100 -0
  89. data/lib/datadog_api_client/v2/models/container_image_attributes.rb +261 -0
  90. data/lib/datadog_api_client/v2/models/container_image_flavor.rb +120 -0
  91. data/lib/datadog_api_client/v2/models/container_image_group.rb +110 -0
  92. data/lib/datadog_api_client/v2/models/container_image_group_attributes.rb +100 -0
  93. data/lib/datadog_api_client/v2/models/container_image_group_images_relationships_link.rb +92 -0
  94. data/lib/datadog_api_client/v2/models/container_image_group_relationships.rb +80 -0
  95. data/lib/datadog_api_client/v2/models/container_image_group_relationships_links.rb +80 -0
  96. data/lib/datadog_api_client/v2/models/container_image_group_type.rb +26 -0
  97. data/lib/datadog_api_client/v2/models/container_image_item.rb +63 -0
  98. data/lib/datadog_api_client/v2/models/container_image_meta.rb +80 -0
  99. data/lib/datadog_api_client/v2/models/container_image_meta_page.rb +160 -0
  100. data/lib/datadog_api_client/v2/models/container_image_meta_page_type.rb +26 -0
  101. data/lib/datadog_api_client/v2/models/container_image_type.rb +26 -0
  102. data/lib/datadog_api_client/v2/models/container_image_vulnerabilities.rb +140 -0
  103. data/lib/datadog_api_client/v2/models/container_images_response.rb +102 -0
  104. data/lib/datadog_api_client/v2/models/container_images_response_links.rb +130 -0
  105. data/lib/datadog_api_client/v2/models/data_scalar_column.rb +2 -2
  106. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +13 -1
  107. data/lib/datadog_api_client/v2/models/group_scalar_column.rb +2 -2
  108. data/lib/datadog_api_client/v2/models/list_powerpacks_response.rb +114 -0
  109. data/lib/datadog_api_client/v2/models/powerpack.rb +80 -0
  110. data/lib/datadog_api_client/v2/models/powerpack_attributes.rb +164 -0
  111. data/lib/datadog_api_client/v2/models/powerpack_data.rb +110 -0
  112. data/lib/datadog_api_client/v2/models/powerpack_group_widget.rb +108 -0
  113. data/lib/datadog_api_client/v2/models/powerpack_group_widget_definition.rb +162 -0
  114. data/lib/datadog_api_client/v2/models/powerpack_group_widget_layout.rb +177 -0
  115. data/lib/datadog_api_client/v2/models/powerpack_inner_widget_layout.rb +177 -0
  116. data/lib/datadog_api_client/v2/models/powerpack_inner_widgets.rb +108 -0
  117. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +80 -0
  118. data/lib/datadog_api_client/v2/models/powerpack_response.rb +92 -0
  119. data/lib/datadog_api_client/v2/models/powerpack_response_links.rb +129 -0
  120. data/lib/datadog_api_client/v2/models/powerpack_template_variable.rb +110 -0
  121. data/lib/datadog_api_client/v2/models/powerpacks_response_meta.rb +80 -0
  122. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +150 -0
  123. data/lib/datadog_api_client/v2/models/reorder_retention_filters_request.rb +100 -0
  124. data/lib/datadog_api_client/v2/models/restriction_policy_binding.rb +1 -1
  125. data/lib/datadog_api_client/v2/models/retention_filter.rb +140 -0
  126. data/lib/datadog_api_client/v2/models/retention_filter_all.rb +140 -0
  127. data/lib/datadog_api_client/v2/models/retention_filter_all_attributes.rb +181 -0
  128. data/lib/datadog_api_client/v2/models/retention_filter_all_type.rb +28 -0
  129. data/lib/datadog_api_client/v2/models/retention_filter_attributes.rb +181 -0
  130. data/lib/datadog_api_client/v2/models/retention_filter_create_attributes.rb +183 -0
  131. data/lib/datadog_api_client/v2/models/retention_filter_create_data.rb +119 -0
  132. data/lib/datadog_api_client/v2/models/retention_filter_create_request.rb +98 -0
  133. data/lib/datadog_api_client/v2/models/retention_filter_response.rb +80 -0
  134. data/lib/datadog_api_client/v2/models/retention_filter_type.rb +26 -0
  135. data/lib/datadog_api_client/v2/models/retention_filter_update_data.rb +140 -0
  136. data/lib/datadog_api_client/v2/models/retention_filter_update_request.rb +98 -0
  137. data/lib/datadog_api_client/v2/models/retention_filter_without_attributes.rb +119 -0
  138. data/lib/datadog_api_client/v2/models/retention_filters_response.rb +100 -0
  139. data/lib/datadog_api_client/v2/models/scalar_column_type_group.rb +26 -0
  140. data/lib/datadog_api_client/v2/models/scalar_column_type_number.rb +26 -0
  141. data/lib/datadog_api_client/v2/models/scalar_meta.rb +8 -0
  142. data/lib/datadog_api_client/v2/models/service_definition_schema.rb +2 -1
  143. data/lib/datadog_api_client/v2/models/service_definition_schema_versions.rb +1 -0
  144. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +247 -0
  145. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_contact.rb +129 -0
  146. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_integrations.rb +90 -0
  147. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_link.rb +150 -0
  148. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie.rb +108 -0
  149. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie_region.rb +27 -0
  150. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_pagerduty.rb +80 -0
  151. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_type.rb +32 -0
  152. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_version.rb +26 -0
  153. data/lib/datadog_api_client/v2/models/service_definitions_create_request.rb +1 -0
  154. data/lib/datadog_api_client/v2/models/spans_filter.rb +80 -0
  155. data/lib/datadog_api_client/v2/models/spans_filter_create.rb +98 -0
  156. data/lib/datadog_api_client/version.rb +1 -1
  157. data/run-tests.sh +6 -5
  158. metadata +102 -9
  159. data/examples/v1/usage-metering/GetUsageCIApp_1064440884.rb +0 -8
  160. data/examples/v1/usage-metering/GetUsageCWS_736958514.rb +0 -8
  161. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey_1761876297.rb +0 -17
  162. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey_992091161.rb +0 -11
  163. data/examples/v2/service-accounts/GetServiceAccountApplicationKey_819075131.rb +0 -11
  164. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys_1268914341.rb +0 -8
  165. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey_768415790.rb +0 -22
@@ -0,0 +1,110 @@
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
+ # Powerpack data object.
21
+ class PowerpackData
22
+ include BaseGenericModel
23
+
24
+ # Powerpack attribute object.
25
+ attr_accessor :attributes
26
+
27
+ # ID of the powerpack.
28
+ attr_accessor :id
29
+
30
+ # Powerpack relationship object.
31
+ attr_accessor :relationships
32
+
33
+ # Type of widget, must be powerpack.
34
+ attr_accessor :type
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'attributes' => :'attributes',
41
+ :'id' => :'id',
42
+ :'relationships' => :'relationships',
43
+ :'type' => :'type'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'attributes' => :'PowerpackAttributes',
52
+ :'id' => :'String',
53
+ :'relationships' => :'PowerpackRelationships',
54
+ :'type' => :'String'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param attributes [Hash] Model attributes in the form of hash
60
+ # @!visibility private
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::PowerpackData` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::PowerpackData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'attributes')
75
+ self.attributes = attributes[:'attributes']
76
+ end
77
+
78
+ if attributes.key?(:'id')
79
+ self.id = attributes[:'id']
80
+ end
81
+
82
+ if attributes.key?(:'relationships')
83
+ self.relationships = attributes[:'relationships']
84
+ end
85
+
86
+ if attributes.key?(:'type')
87
+ self.type = attributes[:'type']
88
+ end
89
+ end
90
+
91
+ # Checks equality by comparing each attribute.
92
+ # @param o [Object] Object to be compared
93
+ # @!visibility private
94
+ def ==(o)
95
+ return true if self.equal?(o)
96
+ self.class == o.class &&
97
+ attributes == o.attributes &&
98
+ id == o.id &&
99
+ relationships == o.relationships &&
100
+ type == o.type
101
+ end
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Integer] Hash code
105
+ # @!visibility private
106
+ def hash
107
+ [attributes, id, relationships, type].hash
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,108 @@
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
+ # Powerpack group widget definition object.
21
+ class PowerpackGroupWidget
22
+ include BaseGenericModel
23
+
24
+ # Powerpack group widget object.
25
+ attr_reader :definition
26
+
27
+ # Powerpack group widget layout.
28
+ attr_accessor :layout
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'definition' => :'definition',
35
+ :'layout' => :'layout'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'definition' => :'PowerpackGroupWidgetDefinition',
44
+ :'layout' => :'PowerpackGroupWidgetLayout'
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::V2::PowerpackGroupWidget` 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::V2::PowerpackGroupWidget`. 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?(:'definition')
65
+ self.definition = attributes[:'definition']
66
+ end
67
+
68
+ if attributes.key?(:'layout')
69
+ self.layout = attributes[:'layout']
70
+ end
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ # @!visibility private
76
+ def valid?
77
+ return false if @definition.nil?
78
+ true
79
+ end
80
+
81
+ # Custom attribute writer method with validation
82
+ # @param definition [Object] Object to be assigned
83
+ # @!visibility private
84
+ def definition=(definition)
85
+ if definition.nil?
86
+ fail ArgumentError, 'invalid value for "definition", definition cannot be nil.'
87
+ end
88
+ @definition = definition
89
+ end
90
+
91
+ # Checks equality by comparing each attribute.
92
+ # @param o [Object] Object to be compared
93
+ # @!visibility private
94
+ def ==(o)
95
+ return true if self.equal?(o)
96
+ self.class == o.class &&
97
+ definition == o.definition &&
98
+ layout == o.layout
99
+ end
100
+
101
+ # Calculates hash code according to all attributes.
102
+ # @return [Integer] Hash code
103
+ # @!visibility private
104
+ def hash
105
+ [definition, layout].hash
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,162 @@
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
+ # Powerpack group widget object.
21
+ class PowerpackGroupWidgetDefinition
22
+ include BaseGenericModel
23
+
24
+ # Layout type of widgets.
25
+ attr_reader :layout_type
26
+
27
+ # Boolean indicating whether powerpack group title should be visible or not.
28
+ attr_accessor :show_title
29
+
30
+ # Name for the group widget.
31
+ attr_accessor :title
32
+
33
+ # Type of widget, must be group.
34
+ attr_reader :type
35
+
36
+ # Widgets inside the powerpack.
37
+ attr_reader :widgets
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ # @!visibility private
41
+ def self.attribute_map
42
+ {
43
+ :'layout_type' => :'layout_type',
44
+ :'show_title' => :'show_title',
45
+ :'title' => :'title',
46
+ :'type' => :'type',
47
+ :'widgets' => :'widgets'
48
+ }
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ # @!visibility private
53
+ def self.openapi_types
54
+ {
55
+ :'layout_type' => :'String',
56
+ :'show_title' => :'Boolean',
57
+ :'title' => :'String',
58
+ :'type' => :'String',
59
+ :'widgets' => :'Array<PowerpackInnerWidgets>'
60
+ }
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param attributes [Hash] Model attributes in the form of hash
65
+ # @!visibility private
66
+ def initialize(attributes = {})
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::PowerpackGroupWidgetDefinition` initialize method"
69
+ end
70
+
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ attributes = attributes.each_with_object({}) { |(k, v), h|
73
+ if (!self.class.attribute_map.key?(k.to_sym))
74
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::PowerpackGroupWidgetDefinition`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
+ end
76
+ h[k.to_sym] = v
77
+ }
78
+
79
+ if attributes.key?(:'layout_type')
80
+ self.layout_type = attributes[:'layout_type']
81
+ end
82
+
83
+ if attributes.key?(:'show_title')
84
+ self.show_title = attributes[:'show_title']
85
+ end
86
+
87
+ if attributes.key?(:'title')
88
+ self.title = attributes[:'title']
89
+ end
90
+
91
+ if attributes.key?(:'type')
92
+ self.type = attributes[:'type']
93
+ end
94
+
95
+ if attributes.key?(:'widgets')
96
+ if (value = attributes[:'widgets']).is_a?(Array)
97
+ self.widgets = value
98
+ end
99
+ end
100
+ end
101
+
102
+ # Check to see if the all the properties in the model are valid
103
+ # @return true if the model is valid
104
+ # @!visibility private
105
+ def valid?
106
+ return false if @layout_type.nil?
107
+ return false if @type.nil?
108
+ return false if @widgets.nil?
109
+ true
110
+ end
111
+
112
+ # Custom attribute writer method with validation
113
+ # @param layout_type [Object] Object to be assigned
114
+ # @!visibility private
115
+ def layout_type=(layout_type)
116
+ if layout_type.nil?
117
+ fail ArgumentError, 'invalid value for "layout_type", layout_type cannot be nil.'
118
+ end
119
+ @layout_type = layout_type
120
+ end
121
+
122
+ # Custom attribute writer method with validation
123
+ # @param type [Object] Object to be assigned
124
+ # @!visibility private
125
+ def type=(type)
126
+ if type.nil?
127
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
128
+ end
129
+ @type = type
130
+ end
131
+
132
+ # Custom attribute writer method with validation
133
+ # @param widgets [Object] Object to be assigned
134
+ # @!visibility private
135
+ def widgets=(widgets)
136
+ if widgets.nil?
137
+ fail ArgumentError, 'invalid value for "widgets", widgets cannot be nil.'
138
+ end
139
+ @widgets = widgets
140
+ end
141
+
142
+ # Checks equality by comparing each attribute.
143
+ # @param o [Object] Object to be compared
144
+ # @!visibility private
145
+ def ==(o)
146
+ return true if self.equal?(o)
147
+ self.class == o.class &&
148
+ layout_type == o.layout_type &&
149
+ show_title == o.show_title &&
150
+ title == o.title &&
151
+ type == o.type &&
152
+ widgets == o.widgets
153
+ end
154
+
155
+ # Calculates hash code according to all attributes.
156
+ # @return [Integer] Hash code
157
+ # @!visibility private
158
+ def hash
159
+ [layout_type, show_title, title, type, widgets].hash
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,177 @@
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
+ # Powerpack group widget layout.
21
+ class PowerpackGroupWidgetLayout
22
+ include BaseGenericModel
23
+
24
+ # The height of the widget. Should be a non-negative integer.
25
+ attr_reader :height
26
+
27
+ # The width of the widget. Should be a non-negative integer.
28
+ attr_reader :width
29
+
30
+ # The position of the widget on the x (horizontal) axis. Should be a non-negative integer.
31
+ attr_reader :x
32
+
33
+ # The position of the widget on the y (vertical) axis. Should be a non-negative integer.
34
+ attr_reader :y
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'height' => :'height',
41
+ :'width' => :'width',
42
+ :'x' => :'x',
43
+ :'y' => :'y'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'height' => :'Integer',
52
+ :'width' => :'Integer',
53
+ :'x' => :'Integer',
54
+ :'y' => :'Integer'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param attributes [Hash] Model attributes in the form of hash
60
+ # @!visibility private
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::PowerpackGroupWidgetLayout` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::PowerpackGroupWidgetLayout`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'height')
75
+ self.height = attributes[:'height']
76
+ end
77
+
78
+ if attributes.key?(:'width')
79
+ self.width = attributes[:'width']
80
+ end
81
+
82
+ if attributes.key?(:'x')
83
+ self.x = attributes[:'x']
84
+ end
85
+
86
+ if attributes.key?(:'y')
87
+ self.y = attributes[:'y']
88
+ end
89
+ end
90
+
91
+ # Check to see if the all the properties in the model are valid
92
+ # @return true if the model is valid
93
+ # @!visibility private
94
+ def valid?
95
+ return false if @height.nil?
96
+ return false if @height < 0
97
+ return false if @width.nil?
98
+ return false if @width < 0
99
+ return false if @x.nil?
100
+ return false if @x < 0
101
+ return false if @y.nil?
102
+ return false if @y < 0
103
+ true
104
+ end
105
+
106
+ # Custom attribute writer method with validation
107
+ # @param height [Object] Object to be assigned
108
+ # @!visibility private
109
+ def height=(height)
110
+ if height.nil?
111
+ fail ArgumentError, 'invalid value for "height", height cannot be nil.'
112
+ end
113
+ if height < 0
114
+ fail ArgumentError, 'invalid value for "height", must be greater than or equal to 0.'
115
+ end
116
+ @height = height
117
+ end
118
+
119
+ # Custom attribute writer method with validation
120
+ # @param width [Object] Object to be assigned
121
+ # @!visibility private
122
+ def width=(width)
123
+ if width.nil?
124
+ fail ArgumentError, 'invalid value for "width", width cannot be nil.'
125
+ end
126
+ if width < 0
127
+ fail ArgumentError, 'invalid value for "width", must be greater than or equal to 0.'
128
+ end
129
+ @width = width
130
+ end
131
+
132
+ # Custom attribute writer method with validation
133
+ # @param x [Object] Object to be assigned
134
+ # @!visibility private
135
+ def x=(x)
136
+ if x.nil?
137
+ fail ArgumentError, 'invalid value for "x", x cannot be nil.'
138
+ end
139
+ if x < 0
140
+ fail ArgumentError, 'invalid value for "x", must be greater than or equal to 0.'
141
+ end
142
+ @x = x
143
+ end
144
+
145
+ # Custom attribute writer method with validation
146
+ # @param y [Object] Object to be assigned
147
+ # @!visibility private
148
+ def y=(y)
149
+ if y.nil?
150
+ fail ArgumentError, 'invalid value for "y", y cannot be nil.'
151
+ end
152
+ if y < 0
153
+ fail ArgumentError, 'invalid value for "y", must be greater than or equal to 0.'
154
+ end
155
+ @y = y
156
+ end
157
+
158
+ # Checks equality by comparing each attribute.
159
+ # @param o [Object] Object to be compared
160
+ # @!visibility private
161
+ def ==(o)
162
+ return true if self.equal?(o)
163
+ self.class == o.class &&
164
+ height == o.height &&
165
+ width == o.width &&
166
+ x == o.x &&
167
+ y == o.y
168
+ end
169
+
170
+ # Calculates hash code according to all attributes.
171
+ # @return [Integer] Hash code
172
+ # @!visibility private
173
+ def hash
174
+ [height, width, x, y].hash
175
+ end
176
+ end
177
+ end