datadog_api_client 2.38.0 → 2.40.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 (389) hide show
  1. checksums.yaml +4 -4
  2. data/.generated-info +4 -0
  3. data/.generator/schemas/v1/openapi.yaml +700 -42
  4. data/.generator/schemas/v2/openapi.yaml +3845 -182
  5. data/.generator/src/generator/cli.py +1 -0
  6. data/.generator/src/generator/openapi.py +12 -0
  7. data/.generator/src/generator/templates/api.j2 +1 -1
  8. data/.github/workflows/approved_status.yml +1 -0
  9. data/.github/workflows/test.yml +1 -1
  10. data/CHANGELOG.md +42 -0
  11. data/Gemfile +1 -0
  12. data/examples/v1/dashboards/CreateDashboard_1751391372.rb +41 -0
  13. data/examples/v1/dashboards/CreatePublicDashboard_1668947073.rb +28 -0
  14. data/examples/v1/dashboards/UpdatePublicDashboard_1708268778.rb +27 -0
  15. data/examples/v1/logs-pipelines/CreateLogsPipeline_1248402480.rb +25 -0
  16. data/examples/v1/logs-pipelines/CreateLogsPipeline_1267211320.rb +27 -0
  17. data/examples/v1/logs-pipelines/CreateLogsPipeline_1271012410.rb +25 -0
  18. data/examples/v1/logs-pipelines/CreateLogsPipeline_3314493032.rb +26 -0
  19. data/examples/v1/logs-pipelines/CreateLogsPipeline_3336967838.rb +24 -0
  20. data/examples/v1/logs-pipelines/CreateLogsPipeline_3934594739.rb +26 -0
  21. data/examples/v1/synthetics/CreateSyntheticsAPITest_1072503741.rb +1 -0
  22. data/examples/v1/synthetics/CreateSyntheticsAPITest_1279271422.rb +1 -0
  23. data/examples/v1/synthetics/SearchTests.rb +5 -0
  24. data/examples/v1/synthetics/SearchTests_195957771.rb +14 -0
  25. data/examples/v2/aws-integration/CreateAWSAccount.rb +10 -0
  26. data/examples/v2/aws-integration/CreateAWSAccount_1716720881.rb +10 -0
  27. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissions.rb +5 -0
  28. data/examples/v2/aws-integration/UpdateAWSAccount.rb +10 -0
  29. data/examples/v2/case-management/UpdateAttributes.rb +26 -0
  30. data/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.rb +19 -0
  31. data/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb +5 -0
  32. data/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.rb +5 -0
  33. data/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb +14 -0
  34. data/examples/v2/cloud-network-monitoring/GetAggregatedConnections.rb +0 -3
  35. data/examples/v2/cloud-network-monitoring/GetAggregatedConnections_3059356111.rb +0 -3
  36. data/examples/v2/cloud-network-monitoring/GetAggregatedDns.rb +5 -0
  37. data/examples/v2/datasets/CreateDataset.rb +28 -0
  38. data/examples/v2/datasets/DeleteDataset.rb +11 -0
  39. data/examples/v2/datasets/GetAllDatasets.rb +8 -0
  40. data/examples/v2/datasets/GetDataset.rb +11 -0
  41. data/examples/v2/datasets/UpdateDataset.rb +31 -0
  42. data/examples/v2/events/GetEvent.rb +5 -0
  43. data/examples/v2/metrics/GetMetricTagCardinalityDetails.rb +5 -0
  44. data/examples/v2/monitors/CreateMonitorNotificationRule.rb +0 -3
  45. data/examples/v2/monitors/DeleteMonitorNotificationRule.rb +0 -3
  46. data/examples/v2/monitors/GetMonitorNotificationRule.rb +0 -3
  47. data/examples/v2/monitors/GetMonitorNotificationRules.rb +0 -3
  48. data/examples/v2/monitors/UpdateMonitorNotificationRule.rb +0 -3
  49. data/examples/v2/on-call/UpdateOnCallSchedule.rb +1 -1
  50. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_1965169892.rb +6 -0
  51. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_868881438.rb +41 -0
  52. data/examples/v2/security-monitoring/ListAssetsSBOMs.rb +12 -0
  53. data/lib/datadog_api_client/configuration.rb +10 -6
  54. data/lib/datadog_api_client/inflector.rb +264 -0
  55. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -0
  56. data/lib/datadog_api_client/v1/api/logs_api.rb +1 -1
  57. data/lib/datadog_api_client/v1/api/logs_indexes_api.rb +1 -1
  58. data/lib/datadog_api_client/v1/api/security_monitoring_api.rb +8 -2
  59. data/lib/datadog_api_client/v1/api/synthetics_api.rb +74 -0
  60. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -6
  61. data/lib/datadog_api_client/v1/models/dashboard_template_variable.rb +14 -3
  62. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_body.rb +1 -0
  63. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +9 -1
  64. data/lib/datadog_api_client/v1/models/logs_array_processor.rb +168 -0
  65. data/lib/datadog_api_client/v1/models/logs_array_processor_operation.rb +64 -0
  66. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_append.rb +175 -0
  67. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_append_type.rb +26 -0
  68. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_length.rb +165 -0
  69. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_length_type.rb +26 -0
  70. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_select.rb +207 -0
  71. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_select_type.rb +26 -0
  72. data/lib/datadog_api_client/v1/models/logs_array_processor_type.rb +26 -0
  73. data/lib/datadog_api_client/v1/models/logs_decoder_processor.rb +229 -0
  74. data/lib/datadog_api_client/v1/models/logs_decoder_processor_binary_to_text_encoding.rb +27 -0
  75. data/lib/datadog_api_client/v1/models/logs_decoder_processor_input_representation.rb +27 -0
  76. data/lib/datadog_api_client/v1/models/logs_decoder_processor_type.rb +26 -0
  77. data/lib/datadog_api_client/v1/models/logs_processor.rb +3 -1
  78. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_body.rb +1 -0
  79. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +14 -0
  80. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +142 -1
  81. data/lib/datadog_api_client/v1/models/selectable_template_variable_items.rb +12 -1
  82. data/lib/datadog_api_client/v1/models/synthetics_step_type.rb +1 -0
  83. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +13 -3
  84. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +11 -1
  85. data/lib/datadog_api_client/v1/models/usage_billable_summary_body.rb +21 -1
  86. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +121 -1
  87. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +121 -1
  88. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +121 -1
  89. data/lib/datadog_api_client/v2/api/aws_integration_api.rb +60 -0
  90. data/lib/datadog_api_client/v2/api/case_management_api.rb +72 -0
  91. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +264 -0
  92. data/lib/datadog_api_client/v2/api/cloud_network_monitoring_api.rb +80 -10
  93. data/lib/datadog_api_client/v2/api/datasets_api.rb +385 -0
  94. data/lib/datadog_api_client/v2/api/events_api.rb +67 -2
  95. data/lib/datadog_api_client/v2/api/metrics_api.rb +65 -0
  96. data/lib/datadog_api_client/v2/api/monitors_api.rb +8 -38
  97. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +13 -5
  98. data/lib/datadog_api_client/v2/api/rum_api.rb +3 -3
  99. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +127 -13
  100. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  101. data/lib/datadog_api_client/v2/models/action_connection_integration.rb +23 -1
  102. data/lib/datadog_api_client/v2/models/action_connection_integration_update.rb +23 -1
  103. data/lib/datadog_api_client/v2/models/alert_event_attributes.rb +187 -0
  104. data/lib/datadog_api_client/v2/models/alert_event_attributes_links_item.rb +125 -0
  105. data/lib/datadog_api_client/v2/models/alert_event_attributes_links_item_category.rb +28 -0
  106. data/lib/datadog_api_client/v2/models/alert_event_attributes_priority.rb +30 -0
  107. data/lib/datadog_api_client/v2/models/alert_event_attributes_status.rb +28 -0
  108. data/lib/datadog_api_client/v2/models/anthropic_api_key.rb +144 -0
  109. data/lib/datadog_api_client/v2/models/anthropic_api_key_type.rb +26 -0
  110. data/lib/datadog_api_client/v2/models/anthropic_api_key_update.rb +133 -0
  111. data/lib/datadog_api_client/v2/models/anthropic_credentials.rb +62 -0
  112. data/lib/datadog_api_client/v2/models/anthropic_credentials_update.rb +62 -0
  113. data/lib/datadog_api_client/v2/models/anthropic_integration.rb +144 -0
  114. data/lib/datadog_api_client/v2/models/anthropic_integration_type.rb +26 -0
  115. data/lib/datadog_api_client/v2/models/anthropic_integration_update.rb +133 -0
  116. data/lib/datadog_api_client/v2/models/asana_access_token.rb +144 -0
  117. data/lib/datadog_api_client/v2/models/asana_access_token_type.rb +26 -0
  118. data/lib/datadog_api_client/v2/models/asana_access_token_update.rb +133 -0
  119. data/lib/datadog_api_client/v2/models/asana_credentials.rb +62 -0
  120. data/lib/datadog_api_client/v2/models/asana_credentials_update.rb +62 -0
  121. data/lib/datadog_api_client/v2/models/asana_integration.rb +144 -0
  122. data/lib/datadog_api_client/v2/models/asana_integration_type.rb +26 -0
  123. data/lib/datadog_api_client/v2/models/asana_integration_update.rb +133 -0
  124. data/lib/datadog_api_client/v2/models/asset_attributes.rb +13 -1
  125. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response.rb +123 -0
  126. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_attributes.rb +125 -0
  127. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_data.rb +125 -0
  128. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_data_type.rb +26 -0
  129. data/lib/datadog_api_client/v2/models/aws_lambda_forwarder_config.rb +11 -1
  130. data/lib/datadog_api_client/v2/models/aws_lambda_forwarder_config_log_source_config.rb +107 -0
  131. data/lib/datadog_api_client/v2/models/aws_log_source_tag_filter.rb +128 -0
  132. data/lib/datadog_api_client/v2/models/azure_credentials.rb +62 -0
  133. data/lib/datadog_api_client/v2/models/azure_credentials_update.rb +62 -0
  134. data/lib/datadog_api_client/v2/models/azure_integration.rb +144 -0
  135. data/lib/datadog_api_client/v2/models/azure_integration_type.rb +26 -0
  136. data/lib/datadog_api_client/v2/models/azure_integration_update.rb +133 -0
  137. data/lib/datadog_api_client/v2/models/azure_tenant.rb +196 -0
  138. data/lib/datadog_api_client/v2/models/azure_tenant_type.rb +26 -0
  139. data/lib/datadog_api_client/v2/models/azure_tenant_update.rb +163 -0
  140. data/lib/datadog_api_client/v2/models/case.rb +1 -1
  141. data/lib/datadog_api_client/v2/models/case_attributes.rb +12 -2
  142. data/lib/datadog_api_client/v2/models/case_update_attributes.rb +144 -0
  143. data/lib/datadog_api_client/v2/models/case_update_attributes_attributes.rb +123 -0
  144. data/lib/datadog_api_client/v2/models/case_update_attributes_request.rb +123 -0
  145. data/lib/datadog_api_client/v2/models/change_event_attributes.rb +207 -0
  146. data/lib/datadog_api_client/v2/models/change_event_attributes_author.rb +115 -0
  147. data/lib/datadog_api_client/v2/models/change_event_attributes_author_type.rb +29 -0
  148. data/lib/datadog_api_client/v2/models/change_event_attributes_changed_resource.rb +115 -0
  149. data/lib/datadog_api_client/v2/models/change_event_attributes_changed_resource_type.rb +27 -0
  150. data/lib/datadog_api_client/v2/models/change_event_attributes_impacted_resources_item.rb +115 -0
  151. data/lib/datadog_api_client/v2/models/change_event_attributes_impacted_resources_item_type.rb +26 -0
  152. data/lib/datadog_api_client/v2/models/circle_ci_credentials.rb +62 -0
  153. data/lib/datadog_api_client/v2/models/circle_ci_credentials_update.rb +62 -0
  154. data/lib/datadog_api_client/v2/models/circle_ci_integration.rb +144 -0
  155. data/lib/datadog_api_client/v2/models/circle_ci_integration_type.rb +26 -0
  156. data/lib/datadog_api_client/v2/models/circle_ci_integration_update.rb +133 -0
  157. data/lib/datadog_api_client/v2/models/circle_ciapi_key.rb +144 -0
  158. data/lib/datadog_api_client/v2/models/circle_ciapi_key_type.rb +26 -0
  159. data/lib/datadog_api_client/v2/models/circle_ciapi_key_update.rb +133 -0
  160. data/lib/datadog_api_client/v2/models/clickup_api_key.rb +144 -0
  161. data/lib/datadog_api_client/v2/models/clickup_api_key_type.rb +26 -0
  162. data/lib/datadog_api_client/v2/models/clickup_api_key_update.rb +133 -0
  163. data/lib/datadog_api_client/v2/models/clickup_credentials.rb +62 -0
  164. data/lib/datadog_api_client/v2/models/clickup_credentials_update.rb +62 -0
  165. data/lib/datadog_api_client/v2/models/clickup_integration.rb +144 -0
  166. data/lib/datadog_api_client/v2/models/clickup_integration_type.rb +26 -0
  167. data/lib/datadog_api_client/v2/models/clickup_integration_update.rb +133 -0
  168. data/lib/datadog_api_client/v2/models/cloudflare_api_token.rb +144 -0
  169. data/lib/datadog_api_client/v2/models/cloudflare_api_token_type.rb +26 -0
  170. data/lib/datadog_api_client/v2/models/cloudflare_api_token_update.rb +133 -0
  171. data/lib/datadog_api_client/v2/models/cloudflare_credentials.rb +63 -0
  172. data/lib/datadog_api_client/v2/models/cloudflare_credentials_update.rb +63 -0
  173. data/lib/datadog_api_client/v2/models/cloudflare_global_api_token.rb +165 -0
  174. data/lib/datadog_api_client/v2/models/cloudflare_global_api_token_type.rb +26 -0
  175. data/lib/datadog_api_client/v2/models/cloudflare_global_api_token_update.rb +143 -0
  176. data/lib/datadog_api_client/v2/models/cloudflare_integration.rb +144 -0
  177. data/lib/datadog_api_client/v2/models/cloudflare_integration_type.rb +26 -0
  178. data/lib/datadog_api_client/v2/models/cloudflare_integration_update.rb +133 -0
  179. data/lib/datadog_api_client/v2/models/config_cat_credentials.rb +62 -0
  180. data/lib/datadog_api_client/v2/models/config_cat_credentials_update.rb +62 -0
  181. data/lib/datadog_api_client/v2/models/config_cat_integration.rb +144 -0
  182. data/lib/datadog_api_client/v2/models/config_cat_integration_type.rb +26 -0
  183. data/lib/datadog_api_client/v2/models/config_cat_integration_update.rb +133 -0
  184. data/lib/datadog_api_client/v2/models/config_cat_sdk_key.rb +186 -0
  185. data/lib/datadog_api_client/v2/models/config_cat_sdk_key_type.rb +26 -0
  186. data/lib/datadog_api_client/v2/models/config_cat_sdk_key_update.rb +153 -0
  187. data/lib/datadog_api_client/v2/models/datadog_api_key.rb +196 -0
  188. data/lib/datadog_api_client/v2/models/datadog_api_key_type.rb +26 -0
  189. data/lib/datadog_api_client/v2/models/datadog_api_key_update.rb +163 -0
  190. data/lib/datadog_api_client/v2/models/datadog_credentials.rb +62 -0
  191. data/lib/datadog_api_client/v2/models/datadog_credentials_update.rb +62 -0
  192. data/lib/datadog_api_client/v2/models/datadog_integration.rb +144 -0
  193. data/lib/datadog_api_client/v2/models/datadog_integration_type.rb +26 -0
  194. data/lib/datadog_api_client/v2/models/datadog_integration_update.rb +133 -0
  195. data/lib/datadog_api_client/v2/models/dataset_attributes_request.rb +169 -0
  196. data/lib/datadog_api_client/v2/models/dataset_attributes_response.rb +157 -0
  197. data/lib/datadog_api_client/v2/models/dataset_create_request.rb +133 -0
  198. data/lib/datadog_api_client/v2/models/dataset_request.rb +154 -0
  199. data/lib/datadog_api_client/v2/models/dataset_response.rb +135 -0
  200. data/lib/datadog_api_client/v2/models/dataset_response_multi.rb +107 -0
  201. data/lib/datadog_api_client/v2/models/dataset_response_single.rb +115 -0
  202. data/lib/datadog_api_client/v2/models/dataset_update_request.rb +133 -0
  203. data/lib/datadog_api_client/v2/models/dns_metric_key.rb +35 -0
  204. data/lib/datadog_api_client/v2/models/entity_v3_api.rb +1 -1
  205. data/lib/datadog_api_client/v2/models/entity_v3_api_version.rb +4 -1
  206. data/lib/datadog_api_client/v2/models/entity_v3_datastore.rb +1 -1
  207. data/lib/datadog_api_client/v2/models/entity_v3_queue.rb +1 -1
  208. data/lib/datadog_api_client/v2/models/entity_v3_service.rb +1 -1
  209. data/lib/datadog_api_client/v2/models/entity_v3_system.rb +1 -1
  210. data/lib/datadog_api_client/v2/models/event_system_attributes.rb +145 -0
  211. data/lib/datadog_api_client/v2/models/event_system_attributes_category.rb +27 -0
  212. data/lib/datadog_api_client/v2/models/event_system_attributes_integration_id.rb +26 -0
  213. data/lib/datadog_api_client/v2/models/events_data_source.rb +1 -0
  214. data/lib/datadog_api_client/v2/models/fastly_api_key.rb +144 -0
  215. data/lib/datadog_api_client/v2/models/fastly_api_key_type.rb +26 -0
  216. data/lib/datadog_api_client/v2/models/fastly_api_key_update.rb +133 -0
  217. data/lib/datadog_api_client/v2/models/fastly_credentials.rb +62 -0
  218. data/lib/datadog_api_client/v2/models/fastly_credentials_update.rb +62 -0
  219. data/lib/datadog_api_client/v2/models/fastly_integration.rb +144 -0
  220. data/lib/datadog_api_client/v2/models/fastly_integration_type.rb +26 -0
  221. data/lib/datadog_api_client/v2/models/fastly_integration_update.rb +133 -0
  222. data/lib/datadog_api_client/v2/models/filters_per_product.rb +150 -0
  223. data/lib/datadog_api_client/v2/models/freshservice_api_key.rb +165 -0
  224. data/lib/datadog_api_client/v2/models/freshservice_api_key_type.rb +26 -0
  225. data/lib/datadog_api_client/v2/models/freshservice_api_key_update.rb +143 -0
  226. data/lib/datadog_api_client/v2/models/freshservice_credentials.rb +62 -0
  227. data/lib/datadog_api_client/v2/models/freshservice_credentials_update.rb +62 -0
  228. data/lib/datadog_api_client/v2/models/freshservice_integration.rb +144 -0
  229. data/lib/datadog_api_client/v2/models/freshservice_integration_type.rb +26 -0
  230. data/lib/datadog_api_client/v2/models/freshservice_integration_update.rb +133 -0
  231. data/lib/datadog_api_client/v2/models/gcp_credentials.rb +62 -0
  232. data/lib/datadog_api_client/v2/models/gcp_credentials_update.rb +62 -0
  233. data/lib/datadog_api_client/v2/models/gcp_integration.rb +144 -0
  234. data/lib/datadog_api_client/v2/models/gcp_integration_type.rb +26 -0
  235. data/lib/datadog_api_client/v2/models/gcp_integration_update.rb +133 -0
  236. data/lib/datadog_api_client/v2/models/gcp_service_account.rb +165 -0
  237. data/lib/datadog_api_client/v2/models/gcp_service_account_credential_type.rb +26 -0
  238. data/lib/datadog_api_client/v2/models/gcp_service_account_update.rb +143 -0
  239. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config.rb +154 -0
  240. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_attributes.rb +369 -0
  241. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_data.rb +144 -0
  242. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request.rb +123 -0
  243. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_attributes.rb +123 -0
  244. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_type.rb +26 -0
  245. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_data.rb +144 -0
  246. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request.rb +123 -0
  247. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_attributes.rb +217 -0
  248. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_type.rb +26 -0
  249. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_response.rb +105 -0
  250. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_type.rb +26 -0
  251. data/lib/datadog_api_client/v2/models/gcp_usage_cost_configs_response.rb +107 -0
  252. data/lib/datadog_api_client/v2/models/gemini_api_key.rb +144 -0
  253. data/lib/datadog_api_client/v2/models/gemini_api_key_type.rb +26 -0
  254. data/lib/datadog_api_client/v2/models/gemini_api_key_update.rb +133 -0
  255. data/lib/datadog_api_client/v2/models/gemini_credentials.rb +62 -0
  256. data/lib/datadog_api_client/v2/models/gemini_credentials_update.rb +62 -0
  257. data/lib/datadog_api_client/v2/models/gemini_integration.rb +144 -0
  258. data/lib/datadog_api_client/v2/models/gemini_integration_type.rb +26 -0
  259. data/lib/datadog_api_client/v2/models/gemini_integration_update.rb +133 -0
  260. data/lib/datadog_api_client/v2/models/gitlab_api_key.rb +144 -0
  261. data/lib/datadog_api_client/v2/models/gitlab_api_key_type.rb +26 -0
  262. data/lib/datadog_api_client/v2/models/gitlab_api_key_update.rb +133 -0
  263. data/lib/datadog_api_client/v2/models/gitlab_credentials.rb +62 -0
  264. data/lib/datadog_api_client/v2/models/gitlab_credentials_update.rb +62 -0
  265. data/lib/datadog_api_client/v2/models/gitlab_integration.rb +144 -0
  266. data/lib/datadog_api_client/v2/models/gitlab_integration_type.rb +26 -0
  267. data/lib/datadog_api_client/v2/models/gitlab_integration_update.rb +133 -0
  268. data/lib/datadog_api_client/v2/models/grey_noise_api_key.rb +144 -0
  269. data/lib/datadog_api_client/v2/models/grey_noise_api_key_type.rb +26 -0
  270. data/lib/datadog_api_client/v2/models/grey_noise_api_key_update.rb +133 -0
  271. data/lib/datadog_api_client/v2/models/grey_noise_credentials.rb +62 -0
  272. data/lib/datadog_api_client/v2/models/grey_noise_credentials_update.rb +62 -0
  273. data/lib/datadog_api_client/v2/models/grey_noise_integration.rb +144 -0
  274. data/lib/datadog_api_client/v2/models/grey_noise_integration_type.rb +26 -0
  275. data/lib/datadog_api_client/v2/models/grey_noise_integration_update.rb +133 -0
  276. data/lib/datadog_api_client/v2/models/launch_darkly_api_key.rb +144 -0
  277. data/lib/datadog_api_client/v2/models/launch_darkly_api_key_type.rb +26 -0
  278. data/lib/datadog_api_client/v2/models/launch_darkly_api_key_update.rb +133 -0
  279. data/lib/datadog_api_client/v2/models/launch_darkly_credentials.rb +62 -0
  280. data/lib/datadog_api_client/v2/models/launch_darkly_credentials_update.rb +62 -0
  281. data/lib/datadog_api_client/v2/models/launch_darkly_integration.rb +144 -0
  282. data/lib/datadog_api_client/v2/models/launch_darkly_integration_type.rb +26 -0
  283. data/lib/datadog_api_client/v2/models/launch_darkly_integration_update.rb +133 -0
  284. data/lib/datadog_api_client/v2/models/layer_attributes.rb +1 -1
  285. data/lib/datadog_api_client/v2/models/layer_attributes_interval.rb +1 -1
  286. data/lib/datadog_api_client/v2/models/list_assets_sbo_ms_response.rb +145 -0
  287. data/lib/datadog_api_client/v2/models/metric_asset_attributes.rb +14 -2
  288. data/lib/datadog_api_client/v2/models/metric_dashboard_attributes.rb +13 -1
  289. data/lib/datadog_api_client/v2/models/metric_monitor_asset.rb +1 -1
  290. data/lib/datadog_api_client/v2/models/metric_notebook_asset.rb +1 -1
  291. data/lib/datadog_api_client/v2/models/metric_slo_asset.rb +1 -1
  292. data/lib/datadog_api_client/v2/models/metric_tag_cardinalities_meta.rb +107 -0
  293. data/lib/datadog_api_client/v2/models/metric_tag_cardinalities_response.rb +117 -0
  294. data/lib/datadog_api_client/v2/models/metric_tag_cardinality.rb +125 -0
  295. data/lib/datadog_api_client/v2/models/metric_tag_cardinality_attributes.rb +105 -0
  296. data/lib/datadog_api_client/v2/models/notion_api_key.rb +144 -0
  297. data/lib/datadog_api_client/v2/models/notion_api_key_type.rb +26 -0
  298. data/lib/datadog_api_client/v2/models/notion_api_key_update.rb +133 -0
  299. data/lib/datadog_api_client/v2/models/notion_credentials.rb +62 -0
  300. data/lib/datadog_api_client/v2/models/notion_credentials_update.rb +62 -0
  301. data/lib/datadog_api_client/v2/models/notion_integration.rb +144 -0
  302. data/lib/datadog_api_client/v2/models/notion_integration_type.rb +26 -0
  303. data/lib/datadog_api_client/v2/models/notion_integration_update.rb +133 -0
  304. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule.rb +1 -12
  305. data/lib/datadog_api_client/v2/models/okta_api_token.rb +165 -0
  306. data/lib/datadog_api_client/v2/models/okta_api_token_type.rb +26 -0
  307. data/lib/datadog_api_client/v2/models/okta_api_token_update.rb +143 -0
  308. data/lib/datadog_api_client/v2/models/okta_credentials.rb +62 -0
  309. data/lib/datadog_api_client/v2/models/okta_credentials_update.rb +62 -0
  310. data/lib/datadog_api_client/v2/models/okta_integration.rb +144 -0
  311. data/lib/datadog_api_client/v2/models/okta_integration_type.rb +26 -0
  312. data/lib/datadog_api_client/v2/models/okta_integration_update.rb +133 -0
  313. data/lib/datadog_api_client/v2/models/open_ai_credentials.rb +62 -0
  314. data/lib/datadog_api_client/v2/models/open_ai_credentials_update.rb +62 -0
  315. data/lib/datadog_api_client/v2/models/open_ai_integration.rb +144 -0
  316. data/lib/datadog_api_client/v2/models/open_ai_integration_type.rb +26 -0
  317. data/lib/datadog_api_client/v2/models/open_ai_integration_update.rb +133 -0
  318. data/lib/datadog_api_client/v2/models/open_aiapi_key.rb +144 -0
  319. data/lib/datadog_api_client/v2/models/open_aiapi_key_type.rb +26 -0
  320. data/lib/datadog_api_client/v2/models/open_aiapi_key_update.rb +133 -0
  321. data/lib/datadog_api_client/v2/models/rule_types_items.rb +3 -1
  322. data/lib/datadog_api_client/v2/models/sbom_attributes.rb +24 -1
  323. data/lib/datadog_api_client/v2/models/sbom_component.rb +46 -1
  324. data/lib/datadog_api_client/v2/models/sbom_component_dependency.rb +117 -0
  325. data/lib/datadog_api_client/v2/models/sbom_component_license.rb +123 -0
  326. data/lib/datadog_api_client/v2/models/sbom_component_license_license.rb +123 -0
  327. data/lib/datadog_api_client/v2/models/sbom_component_license_type.rb +33 -0
  328. data/lib/datadog_api_client/v2/models/sbom_component_property.rb +144 -0
  329. data/lib/datadog_api_client/v2/models/sbom_component_supplier.rb +123 -0
  330. data/lib/datadog_api_client/v2/models/sbom_metadata.rb +25 -3
  331. data/lib/datadog_api_client/v2/models/sbom_metadata_author.rb +105 -0
  332. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +1 -1
  333. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +1 -1
  334. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_options.rb +11 -1
  335. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_options_flagged_ip_type.rb +27 -0
  336. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_type.rb +1 -0
  337. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +31 -1
  338. data/lib/datadog_api_client/v2/models/security_monitoring_scheduling_options.rb +125 -0
  339. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +31 -1
  340. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_payload.rb +31 -1
  341. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +12 -1
  342. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +31 -1
  343. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_test_payload.rb +31 -1
  344. data/lib/datadog_api_client/v2/models/service_now_basic_auth.rb +186 -0
  345. data/lib/datadog_api_client/v2/models/service_now_basic_auth_type.rb +26 -0
  346. data/lib/datadog_api_client/v2/models/service_now_basic_auth_update.rb +153 -0
  347. data/lib/datadog_api_client/v2/models/service_now_credentials.rb +62 -0
  348. data/lib/datadog_api_client/v2/models/service_now_credentials_update.rb +62 -0
  349. data/lib/datadog_api_client/v2/models/service_now_integration.rb +144 -0
  350. data/lib/datadog_api_client/v2/models/service_now_integration_type.rb +26 -0
  351. data/lib/datadog_api_client/v2/models/service_now_integration_update.rb +133 -0
  352. data/lib/datadog_api_client/v2/models/single_aggregated_dns_response_array.rb +107 -0
  353. data/lib/datadog_api_client/v2/models/single_aggregated_dns_response_data.rb +125 -0
  354. data/lib/datadog_api_client/v2/models/single_aggregated_dns_response_data_attributes.rb +119 -0
  355. data/lib/datadog_api_client/v2/models/single_aggregated_dns_response_data_attributes_group_by_items.rb +115 -0
  356. data/lib/datadog_api_client/v2/models/single_aggregated_dns_response_data_attributes_metrics_items.rb +115 -0
  357. data/lib/datadog_api_client/v2/models/single_aggregated_dns_response_data_type.rb +26 -0
  358. data/lib/datadog_api_client/v2/models/split_api_key.rb +144 -0
  359. data/lib/datadog_api_client/v2/models/split_api_key_type.rb +26 -0
  360. data/lib/datadog_api_client/v2/models/split_api_key_update.rb +133 -0
  361. data/lib/datadog_api_client/v2/models/split_credentials.rb +62 -0
  362. data/lib/datadog_api_client/v2/models/split_credentials_update.rb +62 -0
  363. data/lib/datadog_api_client/v2/models/split_integration.rb +144 -0
  364. data/lib/datadog_api_client/v2/models/split_integration_type.rb +26 -0
  365. data/lib/datadog_api_client/v2/models/split_integration_update.rb +133 -0
  366. data/lib/datadog_api_client/v2/models/statsig_api_key.rb +144 -0
  367. data/lib/datadog_api_client/v2/models/statsig_api_key_type.rb +26 -0
  368. data/lib/datadog_api_client/v2/models/statsig_api_key_update.rb +133 -0
  369. data/lib/datadog_api_client/v2/models/statsig_credentials.rb +62 -0
  370. data/lib/datadog_api_client/v2/models/statsig_credentials_update.rb +62 -0
  371. data/lib/datadog_api_client/v2/models/statsig_integration.rb +144 -0
  372. data/lib/datadog_api_client/v2/models/statsig_integration_type.rb +26 -0
  373. data/lib/datadog_api_client/v2/models/statsig_integration_update.rb +133 -0
  374. data/lib/datadog_api_client/v2/models/v2_event.rb +125 -0
  375. data/lib/datadog_api_client/v2/models/v2_event_attributes.rb +137 -0
  376. data/lib/datadog_api_client/v2/models/v2_event_attributes_attributes.rb +63 -0
  377. data/lib/datadog_api_client/v2/models/v2_event_response.rb +105 -0
  378. data/lib/datadog_api_client/v2/models/virus_total_api_key.rb +144 -0
  379. data/lib/datadog_api_client/v2/models/virus_total_api_key_type.rb +26 -0
  380. data/lib/datadog_api_client/v2/models/virus_total_api_key_update.rb +133 -0
  381. data/lib/datadog_api_client/v2/models/virus_total_credentials.rb +62 -0
  382. data/lib/datadog_api_client/v2/models/virus_total_credentials_update.rb +62 -0
  383. data/lib/datadog_api_client/v2/models/virus_total_integration.rb +144 -0
  384. data/lib/datadog_api_client/v2/models/virus_total_integration_type.rb +26 -0
  385. data/lib/datadog_api_client/v2/models/virus_total_integration_update.rb +133 -0
  386. data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +24 -1
  387. data/lib/datadog_api_client/version.rb +1 -1
  388. metadata +293 -2
  389. data/.apigentools-info +0 -16
@@ -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
+ # GCP Usage Cost config.
21
+ class GCPUsageCostConfig
22
+ include BaseGenericModel
23
+
24
+ # Attributes for a GCP Usage Cost config.
25
+ attr_reader :attributes
26
+
27
+ # The ID of the GCP Usage Cost config.
28
+ attr_accessor :id
29
+
30
+ # Type of GCP Usage Cost config.
31
+ attr_reader :type
32
+
33
+ attr_accessor :additional_properties
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ # @!visibility private
37
+ def self.attribute_map
38
+ {
39
+ :'attributes' => :'attributes',
40
+ :'id' => :'id',
41
+ :'type' => :'type'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'attributes' => :'GCPUsageCostConfigAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'GCPUsageCostConfigType'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param attributes [Hash] Model attributes in the form of hash
57
+ # @!visibility private
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::GCPUsageCostConfig` initialize method"
61
+ end
62
+
63
+ self.additional_properties = {}
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ self.additional_properties[k.to_sym] = v
68
+ else
69
+ h[k.to_sym] = v
70
+ end
71
+ }
72
+
73
+ if attributes.key?(:'attributes')
74
+ self.attributes = attributes[:'attributes']
75
+ end
76
+
77
+ if attributes.key?(:'id')
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes.key?(:'type')
82
+ self.type = attributes[:'type']
83
+ end
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ # @!visibility private
89
+ def valid?
90
+ return false if @attributes.nil?
91
+ return false if @type.nil?
92
+ true
93
+ end
94
+
95
+ # Custom attribute writer method with validation
96
+ # @param attributes [Object] Object to be assigned
97
+ # @!visibility private
98
+ def attributes=(attributes)
99
+ if attributes.nil?
100
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
101
+ end
102
+ @attributes = attributes
103
+ end
104
+
105
+ # Custom attribute writer method with validation
106
+ # @param type [Object] Object to be assigned
107
+ # @!visibility private
108
+ def type=(type)
109
+ if type.nil?
110
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
111
+ end
112
+ @type = type
113
+ end
114
+
115
+ # Returns the object in the form of hash, with additionalProperties support.
116
+ # @return [Hash] Returns the object in the form of hash
117
+ # @!visibility private
118
+ def to_hash
119
+ hash = {}
120
+ self.class.attribute_map.each_pair do |attr, param|
121
+ value = self.send(attr)
122
+ if value.nil?
123
+ is_nullable = self.class.openapi_nullable.include?(attr)
124
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
125
+ end
126
+
127
+ hash[param] = _to_hash(value)
128
+ end
129
+ self.additional_properties.each_pair do |attr, value|
130
+ hash[attr] = value
131
+ end
132
+ hash
133
+ end
134
+
135
+ # Checks equality by comparing each attribute.
136
+ # @param o [Object] Object to be compared
137
+ # @!visibility private
138
+ def ==(o)
139
+ return true if self.equal?(o)
140
+ self.class == o.class &&
141
+ attributes == o.attributes &&
142
+ id == o.id &&
143
+ type == o.type &&
144
+ additional_properties == o.additional_properties
145
+ end
146
+
147
+ # Calculates hash code according to all attributes.
148
+ # @return [Integer] Hash code
149
+ # @!visibility private
150
+ def hash
151
+ [attributes, id, type, additional_properties].hash
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,369 @@
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
+ # Attributes for a GCP Usage Cost config.
21
+ class GCPUsageCostConfigAttributes
22
+ include BaseGenericModel
23
+
24
+ # The GCP account ID.
25
+ attr_reader :account_id
26
+
27
+ # The GCP bucket name used to store the Usage Cost export.
28
+ attr_reader :bucket_name
29
+
30
+ # The timestamp when the GCP Usage Cost config was created.
31
+ attr_reader :created_at
32
+
33
+ # The export dataset name used for the GCP Usage Cost Report.
34
+ attr_reader :dataset
35
+
36
+ # The error messages for the GCP Usage Cost config.
37
+ attr_accessor :error_messages
38
+
39
+ # The export prefix used for the GCP Usage Cost Report.
40
+ attr_reader :export_prefix
41
+
42
+ # The name of the GCP Usage Cost Report.
43
+ attr_reader :export_project_name
44
+
45
+ # The number of months the report has been backfilled.
46
+ attr_reader :months
47
+
48
+ # The `project_id` of the GCP Usage Cost report.
49
+ attr_accessor :project_id
50
+
51
+ # The unique GCP service account email.
52
+ attr_reader :service_account
53
+
54
+ # The status of the GCP Usage Cost config.
55
+ attr_reader :status
56
+
57
+ # The timestamp when the GCP Usage Cost config status was updated.
58
+ attr_reader :status_updated_at
59
+
60
+ # The timestamp when the GCP Usage Cost config status was updated.
61
+ attr_reader :updated_at
62
+
63
+ attr_accessor :additional_properties
64
+
65
+ # Attribute mapping from ruby-style variable name to JSON key.
66
+ # @!visibility private
67
+ def self.attribute_map
68
+ {
69
+ :'account_id' => :'account_id',
70
+ :'bucket_name' => :'bucket_name',
71
+ :'created_at' => :'created_at',
72
+ :'dataset' => :'dataset',
73
+ :'error_messages' => :'error_messages',
74
+ :'export_prefix' => :'export_prefix',
75
+ :'export_project_name' => :'export_project_name',
76
+ :'months' => :'months',
77
+ :'project_id' => :'project_id',
78
+ :'service_account' => :'service_account',
79
+ :'status' => :'status',
80
+ :'status_updated_at' => :'status_updated_at',
81
+ :'updated_at' => :'updated_at'
82
+ }
83
+ end
84
+
85
+ # Attribute type mapping.
86
+ # @!visibility private
87
+ def self.openapi_types
88
+ {
89
+ :'account_id' => :'String',
90
+ :'bucket_name' => :'String',
91
+ :'created_at' => :'String',
92
+ :'dataset' => :'String',
93
+ :'error_messages' => :'Array<String>',
94
+ :'export_prefix' => :'String',
95
+ :'export_project_name' => :'String',
96
+ :'months' => :'Integer',
97
+ :'project_id' => :'String',
98
+ :'service_account' => :'String',
99
+ :'status' => :'String',
100
+ :'status_updated_at' => :'String',
101
+ :'updated_at' => :'String'
102
+ }
103
+ end
104
+
105
+ # List of attributes with nullable: true
106
+ # @!visibility private
107
+ def self.openapi_nullable
108
+ Set.new([
109
+ :'error_messages',
110
+ ])
111
+ end
112
+
113
+ # Initializes the object
114
+ # @param attributes [Hash] Model attributes in the form of hash
115
+ # @!visibility private
116
+ def initialize(attributes = {})
117
+ if (!attributes.is_a?(Hash))
118
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::GCPUsageCostConfigAttributes` initialize method"
119
+ end
120
+
121
+ self.additional_properties = {}
122
+ # check to see if the attribute exists and convert string to symbol for hash key
123
+ attributes = attributes.each_with_object({}) { |(k, v), h|
124
+ if (!self.class.attribute_map.key?(k.to_sym))
125
+ self.additional_properties[k.to_sym] = v
126
+ else
127
+ h[k.to_sym] = v
128
+ end
129
+ }
130
+
131
+ if attributes.key?(:'account_id')
132
+ self.account_id = attributes[:'account_id']
133
+ end
134
+
135
+ if attributes.key?(:'bucket_name')
136
+ self.bucket_name = attributes[:'bucket_name']
137
+ end
138
+
139
+ if attributes.key?(:'created_at')
140
+ self.created_at = attributes[:'created_at']
141
+ end
142
+
143
+ if attributes.key?(:'dataset')
144
+ self.dataset = attributes[:'dataset']
145
+ end
146
+
147
+ if attributes.key?(:'error_messages')
148
+ if (value = attributes[:'error_messages']).is_a?(Array)
149
+ self.error_messages = value
150
+ end
151
+ end
152
+
153
+ if attributes.key?(:'export_prefix')
154
+ self.export_prefix = attributes[:'export_prefix']
155
+ end
156
+
157
+ if attributes.key?(:'export_project_name')
158
+ self.export_project_name = attributes[:'export_project_name']
159
+ end
160
+
161
+ if attributes.key?(:'months')
162
+ self.months = attributes[:'months']
163
+ end
164
+
165
+ if attributes.key?(:'project_id')
166
+ self.project_id = attributes[:'project_id']
167
+ end
168
+
169
+ if attributes.key?(:'service_account')
170
+ self.service_account = attributes[:'service_account']
171
+ end
172
+
173
+ if attributes.key?(:'status')
174
+ self.status = attributes[:'status']
175
+ end
176
+
177
+ if attributes.key?(:'status_updated_at')
178
+ self.status_updated_at = attributes[:'status_updated_at']
179
+ end
180
+
181
+ if attributes.key?(:'updated_at')
182
+ self.updated_at = attributes[:'updated_at']
183
+ end
184
+ end
185
+
186
+ # Check to see if the all the properties in the model are valid
187
+ # @return true if the model is valid
188
+ # @!visibility private
189
+ def valid?
190
+ return false if @account_id.nil?
191
+ return false if @bucket_name.nil?
192
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
193
+ return false if !@created_at.nil? && @created_at !~ pattern
194
+ return false if @dataset.nil?
195
+ return false if @export_prefix.nil?
196
+ return false if @export_project_name.nil?
197
+ return false if !@months.nil? && @months > 36
198
+ return false if @service_account.nil?
199
+ return false if @status.nil?
200
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
201
+ return false if !@status_updated_at.nil? && @status_updated_at !~ pattern
202
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
203
+ return false if !@updated_at.nil? && @updated_at !~ pattern
204
+ true
205
+ end
206
+
207
+ # Custom attribute writer method with validation
208
+ # @param account_id [Object] Object to be assigned
209
+ # @!visibility private
210
+ def account_id=(account_id)
211
+ if account_id.nil?
212
+ fail ArgumentError, 'invalid value for "account_id", account_id cannot be nil.'
213
+ end
214
+ @account_id = account_id
215
+ end
216
+
217
+ # Custom attribute writer method with validation
218
+ # @param bucket_name [Object] Object to be assigned
219
+ # @!visibility private
220
+ def bucket_name=(bucket_name)
221
+ if bucket_name.nil?
222
+ fail ArgumentError, 'invalid value for "bucket_name", bucket_name cannot be nil.'
223
+ end
224
+ @bucket_name = bucket_name
225
+ end
226
+
227
+ # Custom attribute writer method with validation
228
+ # @param created_at [Object] Object to be assigned
229
+ # @!visibility private
230
+ def created_at=(created_at)
231
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
232
+ if !created_at.nil? && created_at !~ pattern
233
+ fail ArgumentError, "invalid value for \"created_at\", must conform to the pattern #{pattern}."
234
+ end
235
+ @created_at = created_at
236
+ end
237
+
238
+ # Custom attribute writer method with validation
239
+ # @param dataset [Object] Object to be assigned
240
+ # @!visibility private
241
+ def dataset=(dataset)
242
+ if dataset.nil?
243
+ fail ArgumentError, 'invalid value for "dataset", dataset cannot be nil.'
244
+ end
245
+ @dataset = dataset
246
+ end
247
+
248
+ # Custom attribute writer method with validation
249
+ # @param export_prefix [Object] Object to be assigned
250
+ # @!visibility private
251
+ def export_prefix=(export_prefix)
252
+ if export_prefix.nil?
253
+ fail ArgumentError, 'invalid value for "export_prefix", export_prefix cannot be nil.'
254
+ end
255
+ @export_prefix = export_prefix
256
+ end
257
+
258
+ # Custom attribute writer method with validation
259
+ # @param export_project_name [Object] Object to be assigned
260
+ # @!visibility private
261
+ def export_project_name=(export_project_name)
262
+ if export_project_name.nil?
263
+ fail ArgumentError, 'invalid value for "export_project_name", export_project_name cannot be nil.'
264
+ end
265
+ @export_project_name = export_project_name
266
+ end
267
+
268
+ # Custom attribute writer method with validation
269
+ # @param months [Object] Object to be assigned
270
+ # @!visibility private
271
+ def months=(months)
272
+ if !months.nil? && months > 36
273
+ fail ArgumentError, 'invalid value for "months", must be smaller than or equal to 36.'
274
+ end
275
+ @months = months
276
+ end
277
+
278
+ # Custom attribute writer method with validation
279
+ # @param service_account [Object] Object to be assigned
280
+ # @!visibility private
281
+ def service_account=(service_account)
282
+ if service_account.nil?
283
+ fail ArgumentError, 'invalid value for "service_account", service_account cannot be nil.'
284
+ end
285
+ @service_account = service_account
286
+ end
287
+
288
+ # Custom attribute writer method with validation
289
+ # @param status [Object] Object to be assigned
290
+ # @!visibility private
291
+ def status=(status)
292
+ if status.nil?
293
+ fail ArgumentError, 'invalid value for "status", status cannot be nil.'
294
+ end
295
+ @status = status
296
+ end
297
+
298
+ # Custom attribute writer method with validation
299
+ # @param status_updated_at [Object] Object to be assigned
300
+ # @!visibility private
301
+ def status_updated_at=(status_updated_at)
302
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
303
+ if !status_updated_at.nil? && status_updated_at !~ pattern
304
+ fail ArgumentError, "invalid value for \"status_updated_at\", must conform to the pattern #{pattern}."
305
+ end
306
+ @status_updated_at = status_updated_at
307
+ end
308
+
309
+ # Custom attribute writer method with validation
310
+ # @param updated_at [Object] Object to be assigned
311
+ # @!visibility private
312
+ def updated_at=(updated_at)
313
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
314
+ if !updated_at.nil? && updated_at !~ pattern
315
+ fail ArgumentError, "invalid value for \"updated_at\", must conform to the pattern #{pattern}."
316
+ end
317
+ @updated_at = updated_at
318
+ end
319
+
320
+ # Returns the object in the form of hash, with additionalProperties support.
321
+ # @return [Hash] Returns the object in the form of hash
322
+ # @!visibility private
323
+ def to_hash
324
+ hash = {}
325
+ self.class.attribute_map.each_pair do |attr, param|
326
+ value = self.send(attr)
327
+ if value.nil?
328
+ is_nullable = self.class.openapi_nullable.include?(attr)
329
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
330
+ end
331
+
332
+ hash[param] = _to_hash(value)
333
+ end
334
+ self.additional_properties.each_pair do |attr, value|
335
+ hash[attr] = value
336
+ end
337
+ hash
338
+ end
339
+
340
+ # Checks equality by comparing each attribute.
341
+ # @param o [Object] Object to be compared
342
+ # @!visibility private
343
+ def ==(o)
344
+ return true if self.equal?(o)
345
+ self.class == o.class &&
346
+ account_id == o.account_id &&
347
+ bucket_name == o.bucket_name &&
348
+ created_at == o.created_at &&
349
+ dataset == o.dataset &&
350
+ error_messages == o.error_messages &&
351
+ export_prefix == o.export_prefix &&
352
+ export_project_name == o.export_project_name &&
353
+ months == o.months &&
354
+ project_id == o.project_id &&
355
+ service_account == o.service_account &&
356
+ status == o.status &&
357
+ status_updated_at == o.status_updated_at &&
358
+ updated_at == o.updated_at &&
359
+ additional_properties == o.additional_properties
360
+ end
361
+
362
+ # Calculates hash code according to all attributes.
363
+ # @return [Integer] Hash code
364
+ # @!visibility private
365
+ def hash
366
+ [account_id, bucket_name, created_at, dataset, error_messages, export_prefix, export_project_name, months, project_id, service_account, status, status_updated_at, updated_at, additional_properties].hash
367
+ end
368
+ end
369
+ end
@@ -0,0 +1,144 @@
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
+ # GCP Usage Cost config patch data.
21
+ class GCPUsageCostConfigPatchData
22
+ include BaseGenericModel
23
+
24
+ # Attributes for GCP Usage Cost config patch request.
25
+ attr_reader :attributes
26
+
27
+ # Type of GCP Usage Cost config patch request.
28
+ attr_reader :type
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'attributes' => :'attributes',
37
+ :'type' => :'type'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'attributes' => :'GCPUsageCostConfigPatchRequestAttributes',
46
+ :'type' => :'GCPUsageCostConfigPatchRequestType'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::GCPUsageCostConfigPatchData` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'attributes')
69
+ self.attributes = attributes[:'attributes']
70
+ end
71
+
72
+ if attributes.key?(:'type')
73
+ self.type = attributes[:'type']
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 @attributes.nil?
82
+ return false if @type.nil?
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param attributes [Object] Object to be assigned
88
+ # @!visibility private
89
+ def attributes=(attributes)
90
+ if attributes.nil?
91
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
92
+ end
93
+ @attributes = attributes
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param type [Object] Object to be assigned
98
+ # @!visibility private
99
+ def type=(type)
100
+ if type.nil?
101
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
102
+ end
103
+ @type = type
104
+ end
105
+
106
+ # Returns the object in the form of hash, with additionalProperties support.
107
+ # @return [Hash] Returns the object in the form of hash
108
+ # @!visibility private
109
+ def to_hash
110
+ hash = {}
111
+ self.class.attribute_map.each_pair do |attr, param|
112
+ value = self.send(attr)
113
+ if value.nil?
114
+ is_nullable = self.class.openapi_nullable.include?(attr)
115
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
116
+ end
117
+
118
+ hash[param] = _to_hash(value)
119
+ end
120
+ self.additional_properties.each_pair do |attr, value|
121
+ hash[attr] = value
122
+ end
123
+ hash
124
+ end
125
+
126
+ # Checks equality by comparing each attribute.
127
+ # @param o [Object] Object to be compared
128
+ # @!visibility private
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ attributes == o.attributes &&
133
+ type == o.type &&
134
+ additional_properties == o.additional_properties
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ # @!visibility private
140
+ def hash
141
+ [attributes, type, additional_properties].hash
142
+ end
143
+ end
144
+ end