datadog_api_client 2.47.0 → 2.48.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/.generator/schemas/v1/openapi.yaml +96 -5
  3. data/.generator/schemas/v2/openapi.yaml +2453 -707
  4. data/CHANGELOG.md +20 -0
  5. data/examples/v2/incidents/CreateIncidentAttachment.rb +22 -0
  6. data/examples/v2/incidents/DeleteIncidentAttachment.rb +8 -0
  7. data/examples/v2/incidents/ListIncidentAttachments.rb +1 -1
  8. data/examples/v2/incidents/UpdateIncidentAttachment.rb +20 -0
  9. data/examples/v2/on-call/CreateUserNotificationRule.rb +29 -0
  10. data/examples/v2/on-call/DeleteUserNotificationRule.rb +11 -0
  11. data/examples/v2/on-call/GetUserNotificationRule.rb +14 -0
  12. data/examples/v2/on-call/ListUserNotificationRules.rb +11 -0
  13. data/examples/v2/on-call/UpdateUserNotificationRule.rb +36 -0
  14. data/examples/v2/product-analytics/SubmitProductAnalyticsEvent.rb +24 -0
  15. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_2323193894.rb +48 -0
  16. data/examples/v2/synthetics/PatchGlobalVariable.rb +19 -0
  17. data/examples/v2/teams/CreateTeamNotificationRule.rb +23 -0
  18. data/examples/v2/teams/DeleteTeamConnections.rb +0 -3
  19. data/examples/v2/teams/DeleteTeamNotificationRule.rb +11 -0
  20. data/examples/v2/teams/GetTeamNotificationRule.rb +11 -0
  21. data/examples/v2/teams/GetTeamNotificationRules.rb +8 -0
  22. data/examples/v2/teams/GetTeamSync.rb +0 -3
  23. data/examples/v2/teams/ListTeamConnections.rb +0 -3
  24. data/examples/v2/teams/ListTeamConnections_2418873869.rb +0 -3
  25. data/examples/v2/teams/SyncTeams.rb +0 -3
  26. data/examples/v2/teams/SyncTeams_3215592344.rb +0 -3
  27. data/examples/v2/teams/UpdateTeamNotificationRule.rb +27 -0
  28. data/lib/datadog_api_client/configuration.rb +55 -6
  29. data/lib/datadog_api_client/inflector.rb +92 -20
  30. data/lib/datadog_api_client/v1/api/synthetics_api.rb +3 -3
  31. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -4
  32. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +3 -0
  33. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +6 -0
  34. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +61 -1
  35. data/lib/datadog_api_client/v1/models/synthetics_list_tests_response.rb +1 -1
  36. data/lib/datadog_api_client/v1/models/synthetics_test_details.rb +1 -1
  37. data/lib/datadog_api_client/v1/models/synthetics_test_details_without_steps.rb +221 -0
  38. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +8 -8
  39. data/lib/datadog_api_client/v2/api/incidents_api.rb +188 -36
  40. data/lib/datadog_api_client/v2/api/on_call_api.rb +360 -0
  41. data/lib/datadog_api_client/v2/api/product_analytics_api.rb +121 -0
  42. data/lib/datadog_api_client/v2/api/software_catalog_api.rb +4 -0
  43. data/lib/datadog_api_client/v2/api/synthetics_api.rb +79 -0
  44. data/lib/datadog_api_client/v2/api/teams_api.rb +339 -30
  45. data/lib/datadog_api_client/v2/models/attachment.rb +117 -0
  46. data/lib/datadog_api_client/v2/models/{incident_attachments_response.rb → attachment_array.rb} +7 -7
  47. data/lib/datadog_api_client/v2/models/{incident_attachment_data.rb → attachment_data.rb} +8 -8
  48. data/lib/datadog_api_client/v2/models/attachment_data_attributes.rb +125 -0
  49. data/lib/datadog_api_client/v2/models/attachment_data_attributes_attachment.rb +115 -0
  50. data/lib/datadog_api_client/v2/models/{incident_attachment_attachment_type.rb → attachment_data_attributes_attachment_type.rb} +3 -3
  51. data/lib/datadog_api_client/v2/models/{incident_attachment_relationships.rb → attachment_data_relationships.rb} +5 -5
  52. data/lib/datadog_api_client/v2/models/{incident_attachment_update_request.rb → attachment_data_relationships_last_modified_by_user.rb} +6 -11
  53. data/lib/datadog_api_client/v2/models/attachment_data_relationships_last_modified_by_user_data.rb +144 -0
  54. data/lib/datadog_api_client/v2/models/{incident_attachments_response_included_item.rb → attachment_included.rb} +3 -3
  55. data/lib/datadog_api_client/v2/models/case_create_attributes.rb +11 -1
  56. data/lib/datadog_api_client/v2/models/{dora_fetch_response.rb → create_attachment_request.rb} +5 -5
  57. data/lib/datadog_api_client/v2/models/{incident_attachment_update_data.rb → create_attachment_request_data.rb} +6 -6
  58. data/lib/datadog_api_client/v2/models/create_attachment_request_data_attributes.rb +115 -0
  59. data/lib/datadog_api_client/v2/models/create_attachment_request_data_attributes_attachment.rb +115 -0
  60. data/lib/datadog_api_client/v2/models/create_on_call_notification_rule_request.rb +123 -0
  61. data/lib/datadog_api_client/v2/models/create_on_call_notification_rule_request_data.rb +143 -0
  62. data/lib/datadog_api_client/v2/models/custom_attribute_type.rb +1 -0
  63. data/lib/datadog_api_client/v2/models/dora_deployment_fetch_response.rb +105 -0
  64. data/lib/datadog_api_client/v2/models/dora_deployment_object.rb +125 -0
  65. data/lib/datadog_api_client/v2/models/dora_deployment_object_attributes.rb +225 -0
  66. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +1 -1
  67. data/lib/datadog_api_client/v2/models/dora_deployments_list_response.rb +107 -0
  68. data/lib/datadog_api_client/v2/models/dora_failure_fetch_response.rb +105 -0
  69. data/lib/datadog_api_client/v2/models/dora_failure_request_attributes.rb +1 -1
  70. data/lib/datadog_api_client/v2/models/{dora_list_response.rb → dora_failures_list_response.rb} +5 -5
  71. data/lib/datadog_api_client/v2/models/{dora_event.rb → dora_incident_object.rb} +8 -8
  72. data/lib/datadog_api_client/v2/models/dora_incident_object_attributes.rb +225 -0
  73. data/lib/datadog_api_client/v2/models/global_variable_data.rb +125 -0
  74. data/lib/datadog_api_client/v2/models/global_variable_json_patch_request.rb +123 -0
  75. data/lib/datadog_api_client/v2/models/global_variable_json_patch_request_data.rb +115 -0
  76. data/lib/datadog_api_client/v2/models/global_variable_json_patch_request_data_attributes.rb +107 -0
  77. data/lib/datadog_api_client/v2/models/global_variable_json_patch_type.rb +26 -0
  78. data/lib/datadog_api_client/v2/models/global_variable_response.rb +105 -0
  79. data/lib/datadog_api_client/v2/models/{incident_attachment_link_attachment_type.rb → global_variable_type.rb} +3 -3
  80. data/lib/datadog_api_client/v2/models/incident_response_included_item.rb +1 -1
  81. data/lib/datadog_api_client/v2/models/{incident_attachments_postmortem_attributes_attachment_object.rb → json_patch_operation.rb} +40 -30
  82. data/lib/datadog_api_client/v2/models/json_patch_operation_op.rb +31 -0
  83. data/lib/datadog_api_client/v2/models/list_on_call_notification_rules_response.rb +119 -0
  84. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb +11 -1
  85. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb +11 -1
  86. data/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_group.rb +11 -1
  87. data/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor.rb +11 -1
  88. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_tags_processor.rb +11 -1
  89. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb +11 -1
  90. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb +11 -1
  91. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb +11 -1
  92. data/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb +11 -1
  93. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb +11 -1
  94. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb +11 -1
  95. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb +11 -1
  96. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +11 -1
  97. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb +11 -1
  98. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb +11 -1
  99. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb +11 -1
  100. data/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb +11 -1
  101. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb +11 -1
  102. data/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb +11 -1
  103. data/lib/datadog_api_client/v2/models/{incident_attachment_update_response.rb → on_call_notification_rule.rb} +8 -11
  104. data/lib/datadog_api_client/v2/models/on_call_notification_rule_attributes.rb +125 -0
  105. data/lib/datadog_api_client/v2/models/on_call_notification_rule_category.rb +27 -0
  106. data/lib/datadog_api_client/v2/models/on_call_notification_rule_channel_relationship.rb +123 -0
  107. data/lib/datadog_api_client/v2/models/on_call_notification_rule_channel_relationship_data.rb +115 -0
  108. data/lib/datadog_api_client/v2/models/{incident_attachment_update_attributes.rb → on_call_notification_rule_channel_settings.rb} +3 -4
  109. data/lib/datadog_api_client/v2/models/on_call_notification_rule_data.rb +153 -0
  110. data/lib/datadog_api_client/v2/models/on_call_notification_rule_relationships.rb +105 -0
  111. data/lib/datadog_api_client/v2/models/on_call_notification_rule_request_attributes.rb +125 -0
  112. data/lib/datadog_api_client/v2/models/on_call_notification_rule_type.rb +26 -0
  113. data/lib/datadog_api_client/v2/models/{incident_attachment_attributes.rb → on_call_notification_rules_included.rb} +3 -4
  114. data/lib/datadog_api_client/v2/models/on_call_phone_notification_rule_method.rb +27 -0
  115. data/lib/datadog_api_client/v2/models/{incident_attachment_link_attributes_attachment_object.rb → on_call_phone_notification_rule_settings.rb} +30 -30
  116. data/lib/datadog_api_client/v2/models/patch_attachment_request.rb +105 -0
  117. data/lib/datadog_api_client/v2/models/patch_attachment_request_data.rb +143 -0
  118. data/lib/datadog_api_client/v2/models/patch_attachment_request_data_attributes.rb +105 -0
  119. data/lib/datadog_api_client/v2/models/patch_attachment_request_data_attributes_attachment.rb +115 -0
  120. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_error.rb +125 -0
  121. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_errors.rb +107 -0
  122. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item.rb +195 -0
  123. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_account.rb +123 -0
  124. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_application.rb +124 -0
  125. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_event.rb +123 -0
  126. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_session.rb +123 -0
  127. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_type.rb +26 -0
  128. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_usr.rb +123 -0
  129. data/lib/datadog_api_client/v2/models/security_monitoring_rule_anomaly_detection_options.rb +155 -0
  130. data/lib/datadog_api_client/v2/models/security_monitoring_rule_anomaly_detection_options_bucket_duration.rb +32 -0
  131. data/lib/datadog_api_client/v2/models/security_monitoring_rule_anomaly_detection_options_detection_tolerance.rb +31 -0
  132. data/lib/datadog_api_client/v2/models/security_monitoring_rule_anomaly_detection_options_learning_duration.rb +32 -0
  133. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +11 -1
  134. data/lib/datadog_api_client/v2/models/synthetics_global_variable.rb +248 -0
  135. data/lib/datadog_api_client/v2/models/synthetics_global_variable_attributes.rb +107 -0
  136. data/lib/datadog_api_client/v2/models/synthetics_global_variable_options.rb +105 -0
  137. data/lib/datadog_api_client/v2/models/{incident_attachment_postmortem_attributes.rb → synthetics_global_variable_parse_test_options.rb} +44 -35
  138. data/lib/datadog_api_client/v2/models/synthetics_global_variable_parse_test_options_type.rb +29 -0
  139. data/lib/datadog_api_client/v2/models/synthetics_global_variable_parser_type.rb +29 -0
  140. data/lib/datadog_api_client/v2/models/{incident_attachment_link_attributes.rb → synthetics_global_variable_totp_parameters.rb} +38 -40
  141. data/lib/datadog_api_client/v2/models/synthetics_global_variable_value.rb +126 -0
  142. data/lib/datadog_api_client/v2/models/synthetics_variable_parser.rb +133 -0
  143. data/lib/datadog_api_client/v2/models/team_notification_rule.rb +154 -0
  144. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes.rb +135 -0
  145. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes_email.rb +105 -0
  146. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes_ms_teams.rb +105 -0
  147. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes_pagerduty.rb +105 -0
  148. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes_slack.rb +115 -0
  149. data/lib/datadog_api_client/v2/models/team_notification_rule_request.rb +123 -0
  150. data/lib/datadog_api_client/v2/models/team_notification_rule_response.rb +105 -0
  151. data/lib/datadog_api_client/v2/models/{incident_attachment_postmortem_attachment_type.rb → team_notification_rule_type.rb} +3 -3
  152. data/lib/datadog_api_client/v2/models/team_notification_rules_response.rb +117 -0
  153. data/lib/datadog_api_client/v2/models/team_notification_rules_response_meta.rb +105 -0
  154. data/lib/datadog_api_client/v2/models/team_notification_rules_response_meta_page.rb +184 -0
  155. data/lib/datadog_api_client/v2/models/threat_hunting_job_options.rb +11 -1
  156. data/lib/datadog_api_client/v2/models/update_on_call_notification_rule_request.rb +123 -0
  157. data/lib/datadog_api_client/v2/models/update_on_call_notification_rule_request_attributes.rb +125 -0
  158. data/lib/datadog_api_client/v2/models/update_on_call_notification_rule_request_data.rb +153 -0
  159. data/lib/datadog_api_client/v2/models/user140420082644000.rb +143 -0
  160. data/lib/datadog_api_client/v2/models/{incident_attachment_related_object.rb → user_type.rb} +2 -2
  161. data/lib/datadog_api_client/version.rb +1 -1
  162. metadata +109 -24
  163. data/examples/v2/incidents/ListIncidentAttachments_2457735435.rb +0 -11
  164. data/examples/v2/incidents/UpdateIncidentAttachments.rb +0 -38
  165. data/examples/v2/incidents/UpdateIncidentAttachments_3881702075.rb +0 -26
@@ -258,12 +258,6 @@ module DatadogAPIClient::V2
258
258
  # @param opts [Hash] the optional parameters
259
259
  # @return [Array<(TeamConnectionsResponse, Integer, Hash)>] TeamConnectionsResponse data, response status code and response headers
260
260
  def create_team_connections_with_http_info(body, opts = {})
261
- unstable_enabled = @api_client.config.unstable_operations["v2.create_team_connections".to_sym]
262
- if unstable_enabled
263
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.create_team_connections")
264
- else
265
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.create_team_connections"))
266
- end
267
261
 
268
262
  if @api_client.config.debugging
269
263
  @api_client.config.logger.debug 'Calling API: TeamsAPI.create_team_connections ...'
@@ -461,6 +455,75 @@ module DatadogAPIClient::V2
461
455
  return data, status_code, headers
462
456
  end
463
457
 
458
+ # Create team notification rule.
459
+ #
460
+ # @see #create_team_notification_rule_with_http_info
461
+ def create_team_notification_rule(team_id, body, opts = {})
462
+ data, _status_code, _headers = create_team_notification_rule_with_http_info(team_id, body, opts)
463
+ data
464
+ end
465
+
466
+ # Create team notification rule.
467
+ # @param team_id [String] None
468
+ # @param body [TeamNotificationRuleRequest]
469
+ # @param opts [Hash] the optional parameters
470
+ # @return [Array<(TeamNotificationRuleResponse, Integer, Hash)>] TeamNotificationRuleResponse data, response status code and response headers
471
+ def create_team_notification_rule_with_http_info(team_id, body, opts = {})
472
+
473
+ if @api_client.config.debugging
474
+ @api_client.config.logger.debug 'Calling API: TeamsAPI.create_team_notification_rule ...'
475
+ end
476
+ # verify the required parameter 'team_id' is set
477
+ if @api_client.config.client_side_validation && team_id.nil?
478
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling TeamsAPI.create_team_notification_rule"
479
+ end
480
+ # verify the required parameter 'body' is set
481
+ if @api_client.config.client_side_validation && body.nil?
482
+ fail ArgumentError, "Missing the required parameter 'body' when calling TeamsAPI.create_team_notification_rule"
483
+ end
484
+ # resource path
485
+ local_var_path = '/api/v2/team/{team_id}/notification-rules'.sub('{team_id}', CGI.escape(team_id.to_s).gsub('%2F', '/'))
486
+
487
+ # query parameters
488
+ query_params = opts[:query_params] || {}
489
+
490
+ # header parameters
491
+ header_params = opts[:header_params] || {}
492
+ # HTTP header 'Accept' (if needed)
493
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
494
+ # HTTP header 'Content-Type'
495
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
496
+
497
+ # form parameters
498
+ form_params = opts[:form_params] || {}
499
+
500
+ # http body (model)
501
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
502
+
503
+ # return_type
504
+ return_type = opts[:debug_return_type] || 'TeamNotificationRuleResponse'
505
+
506
+ # auth_names
507
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
508
+
509
+ new_options = opts.merge(
510
+ :operation => :create_team_notification_rule,
511
+ :header_params => header_params,
512
+ :query_params => query_params,
513
+ :form_params => form_params,
514
+ :body => post_body,
515
+ :auth_names => auth_names,
516
+ :return_type => return_type,
517
+ :api_version => "V2"
518
+ )
519
+
520
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
521
+ if @api_client.config.debugging
522
+ @api_client.config.logger.debug "API called: TeamsAPI#create_team_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
523
+ end
524
+ return data, status_code, headers
525
+ end
526
+
464
527
  # Remove a team.
465
528
  #
466
529
  # @see #delete_team_with_http_info
@@ -542,12 +605,6 @@ module DatadogAPIClient::V2
542
605
  # @param opts [Hash] the optional parameters
543
606
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
544
607
  def delete_team_connections_with_http_info(body, opts = {})
545
- unstable_enabled = @api_client.config.unstable_operations["v2.delete_team_connections".to_sym]
546
- if unstable_enabled
547
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.delete_team_connections")
548
- else
549
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.delete_team_connections"))
550
- end
551
608
 
552
609
  if @api_client.config.debugging
553
610
  @api_client.config.logger.debug 'Calling API: TeamsAPI.delete_team_connections ...'
@@ -741,6 +798,73 @@ module DatadogAPIClient::V2
741
798
  return data, status_code, headers
742
799
  end
743
800
 
801
+ # Delete team notification rule.
802
+ #
803
+ # @see #delete_team_notification_rule_with_http_info
804
+ def delete_team_notification_rule(team_id, rule_id, opts = {})
805
+ delete_team_notification_rule_with_http_info(team_id, rule_id, opts)
806
+ nil
807
+ end
808
+
809
+ # Delete team notification rule.
810
+ # @param team_id [String] None
811
+ # @param rule_id [String] None
812
+ # @param opts [Hash] the optional parameters
813
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
814
+ def delete_team_notification_rule_with_http_info(team_id, rule_id, opts = {})
815
+
816
+ if @api_client.config.debugging
817
+ @api_client.config.logger.debug 'Calling API: TeamsAPI.delete_team_notification_rule ...'
818
+ end
819
+ # verify the required parameter 'team_id' is set
820
+ if @api_client.config.client_side_validation && team_id.nil?
821
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling TeamsAPI.delete_team_notification_rule"
822
+ end
823
+ # verify the required parameter 'rule_id' is set
824
+ if @api_client.config.client_side_validation && rule_id.nil?
825
+ fail ArgumentError, "Missing the required parameter 'rule_id' when calling TeamsAPI.delete_team_notification_rule"
826
+ end
827
+ # resource path
828
+ local_var_path = '/api/v2/team/{team_id}/notification-rules/{rule_id}'.sub('{team_id}', CGI.escape(team_id.to_s).gsub('%2F', '/')).sub('{rule_id}', CGI.escape(rule_id.to_s).gsub('%2F', '/'))
829
+
830
+ # query parameters
831
+ query_params = opts[:query_params] || {}
832
+
833
+ # header parameters
834
+ header_params = opts[:header_params] || {}
835
+ # HTTP header 'Accept' (if needed)
836
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
837
+
838
+ # form parameters
839
+ form_params = opts[:form_params] || {}
840
+
841
+ # http body (model)
842
+ post_body = opts[:debug_body]
843
+
844
+ # return_type
845
+ return_type = opts[:debug_return_type]
846
+
847
+ # auth_names
848
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
849
+
850
+ new_options = opts.merge(
851
+ :operation => :delete_team_notification_rule,
852
+ :header_params => header_params,
853
+ :query_params => query_params,
854
+ :form_params => form_params,
855
+ :body => post_body,
856
+ :auth_names => auth_names,
857
+ :return_type => return_type,
858
+ :api_version => "V2"
859
+ )
860
+
861
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Delete, local_var_path, new_options)
862
+ if @api_client.config.debugging
863
+ @api_client.config.logger.debug "API called: TeamsAPI#delete_team_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
864
+ end
865
+ return data, status_code, headers
866
+ end
867
+
744
868
  # Get a team.
745
869
  #
746
870
  # @see #get_team_with_http_info
@@ -1105,6 +1229,135 @@ module DatadogAPIClient::V2
1105
1229
  end
1106
1230
  end
1107
1231
 
1232
+ # Get team notification rule.
1233
+ #
1234
+ # @see #get_team_notification_rule_with_http_info
1235
+ def get_team_notification_rule(team_id, rule_id, opts = {})
1236
+ data, _status_code, _headers = get_team_notification_rule_with_http_info(team_id, rule_id, opts)
1237
+ data
1238
+ end
1239
+
1240
+ # Get team notification rule.
1241
+ # @param team_id [String] None
1242
+ # @param rule_id [String] None
1243
+ # @param opts [Hash] the optional parameters
1244
+ # @return [Array<(TeamNotificationRuleResponse, Integer, Hash)>] TeamNotificationRuleResponse data, response status code and response headers
1245
+ def get_team_notification_rule_with_http_info(team_id, rule_id, opts = {})
1246
+
1247
+ if @api_client.config.debugging
1248
+ @api_client.config.logger.debug 'Calling API: TeamsAPI.get_team_notification_rule ...'
1249
+ end
1250
+ # verify the required parameter 'team_id' is set
1251
+ if @api_client.config.client_side_validation && team_id.nil?
1252
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling TeamsAPI.get_team_notification_rule"
1253
+ end
1254
+ # verify the required parameter 'rule_id' is set
1255
+ if @api_client.config.client_side_validation && rule_id.nil?
1256
+ fail ArgumentError, "Missing the required parameter 'rule_id' when calling TeamsAPI.get_team_notification_rule"
1257
+ end
1258
+ # resource path
1259
+ local_var_path = '/api/v2/team/{team_id}/notification-rules/{rule_id}'.sub('{team_id}', CGI.escape(team_id.to_s).gsub('%2F', '/')).sub('{rule_id}', CGI.escape(rule_id.to_s).gsub('%2F', '/'))
1260
+
1261
+ # query parameters
1262
+ query_params = opts[:query_params] || {}
1263
+
1264
+ # header parameters
1265
+ header_params = opts[:header_params] || {}
1266
+ # HTTP header 'Accept' (if needed)
1267
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1268
+
1269
+ # form parameters
1270
+ form_params = opts[:form_params] || {}
1271
+
1272
+ # http body (model)
1273
+ post_body = opts[:debug_body]
1274
+
1275
+ # return_type
1276
+ return_type = opts[:debug_return_type] || 'TeamNotificationRuleResponse'
1277
+
1278
+ # auth_names
1279
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1280
+
1281
+ new_options = opts.merge(
1282
+ :operation => :get_team_notification_rule,
1283
+ :header_params => header_params,
1284
+ :query_params => query_params,
1285
+ :form_params => form_params,
1286
+ :body => post_body,
1287
+ :auth_names => auth_names,
1288
+ :return_type => return_type,
1289
+ :api_version => "V2"
1290
+ )
1291
+
1292
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1293
+ if @api_client.config.debugging
1294
+ @api_client.config.logger.debug "API called: TeamsAPI#get_team_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1295
+ end
1296
+ return data, status_code, headers
1297
+ end
1298
+
1299
+ # Get team notification rules.
1300
+ #
1301
+ # @see #get_team_notification_rules_with_http_info
1302
+ def get_team_notification_rules(team_id, opts = {})
1303
+ data, _status_code, _headers = get_team_notification_rules_with_http_info(team_id, opts)
1304
+ data
1305
+ end
1306
+
1307
+ # Get team notification rules.
1308
+ # @param team_id [String] None
1309
+ # @param opts [Hash] the optional parameters
1310
+ # @return [Array<(TeamNotificationRulesResponse, Integer, Hash)>] TeamNotificationRulesResponse data, response status code and response headers
1311
+ def get_team_notification_rules_with_http_info(team_id, opts = {})
1312
+
1313
+ if @api_client.config.debugging
1314
+ @api_client.config.logger.debug 'Calling API: TeamsAPI.get_team_notification_rules ...'
1315
+ end
1316
+ # verify the required parameter 'team_id' is set
1317
+ if @api_client.config.client_side_validation && team_id.nil?
1318
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling TeamsAPI.get_team_notification_rules"
1319
+ end
1320
+ # resource path
1321
+ local_var_path = '/api/v2/team/{team_id}/notification-rules'.sub('{team_id}', CGI.escape(team_id.to_s).gsub('%2F', '/'))
1322
+
1323
+ # query parameters
1324
+ query_params = opts[:query_params] || {}
1325
+
1326
+ # header parameters
1327
+ header_params = opts[:header_params] || {}
1328
+ # HTTP header 'Accept' (if needed)
1329
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1330
+
1331
+ # form parameters
1332
+ form_params = opts[:form_params] || {}
1333
+
1334
+ # http body (model)
1335
+ post_body = opts[:debug_body]
1336
+
1337
+ # return_type
1338
+ return_type = opts[:debug_return_type] || 'TeamNotificationRulesResponse'
1339
+
1340
+ # auth_names
1341
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1342
+
1343
+ new_options = opts.merge(
1344
+ :operation => :get_team_notification_rules,
1345
+ :header_params => header_params,
1346
+ :query_params => query_params,
1347
+ :form_params => form_params,
1348
+ :body => post_body,
1349
+ :auth_names => auth_names,
1350
+ :return_type => return_type,
1351
+ :api_version => "V2"
1352
+ )
1353
+
1354
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1355
+ if @api_client.config.debugging
1356
+ @api_client.config.logger.debug "API called: TeamsAPI#get_team_notification_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1357
+ end
1358
+ return data, status_code, headers
1359
+ end
1360
+
1108
1361
  # Get permission settings for a team.
1109
1362
  #
1110
1363
  # @see #get_team_permission_settings_with_http_info
@@ -1187,12 +1440,6 @@ module DatadogAPIClient::V2
1187
1440
  # @param opts [Hash] the optional parameters
1188
1441
  # @return [Array<(TeamSyncResponse, Integer, Hash)>] TeamSyncResponse data, response status code and response headers
1189
1442
  def get_team_sync_with_http_info(filter_source, opts = {})
1190
- unstable_enabled = @api_client.config.unstable_operations["v2.get_team_sync".to_sym]
1191
- if unstable_enabled
1192
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_team_sync")
1193
- else
1194
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_team_sync"))
1195
- end
1196
1443
 
1197
1444
  if @api_client.config.debugging
1198
1445
  @api_client.config.logger.debug 'Calling API: TeamsAPI.get_team_sync ...'
@@ -1439,12 +1686,6 @@ module DatadogAPIClient::V2
1439
1686
  # @option opts [Array<String>] :filter_connection_ids Filter team connections by connection IDs.
1440
1687
  # @return [Array<(TeamConnectionsResponse, Integer, Hash)>] TeamConnectionsResponse data, response status code and response headers
1441
1688
  def list_team_connections_with_http_info(opts = {})
1442
- unstable_enabled = @api_client.config.unstable_operations["v2.list_team_connections".to_sym]
1443
- if unstable_enabled
1444
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.list_team_connections")
1445
- else
1446
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.list_team_connections"))
1447
- end
1448
1689
 
1449
1690
  if @api_client.config.debugging
1450
1691
  @api_client.config.logger.debug 'Calling API: TeamsAPI.list_team_connections ...'
@@ -1882,12 +2123,6 @@ module DatadogAPIClient::V2
1882
2123
  # @param opts [Hash] the optional parameters
1883
2124
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1884
2125
  def sync_teams_with_http_info(body, opts = {})
1885
- unstable_enabled = @api_client.config.unstable_operations["v2.sync_teams".to_sym]
1886
- if unstable_enabled
1887
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.sync_teams")
1888
- else
1889
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.sync_teams"))
1890
- end
1891
2126
 
1892
2127
  if @api_client.config.debugging
1893
2128
  @api_client.config.logger.debug 'Calling API: TeamsAPI.sync_teams ...'
@@ -2168,6 +2403,80 @@ module DatadogAPIClient::V2
2168
2403
  return data, status_code, headers
2169
2404
  end
2170
2405
 
2406
+ # Update team notification rule.
2407
+ #
2408
+ # @see #update_team_notification_rule_with_http_info
2409
+ def update_team_notification_rule(team_id, rule_id, body, opts = {})
2410
+ data, _status_code, _headers = update_team_notification_rule_with_http_info(team_id, rule_id, body, opts)
2411
+ data
2412
+ end
2413
+
2414
+ # Update team notification rule.
2415
+ # @param team_id [String] None
2416
+ # @param rule_id [String] None
2417
+ # @param body [TeamNotificationRuleRequest]
2418
+ # @param opts [Hash] the optional parameters
2419
+ # @return [Array<(TeamNotificationRuleResponse, Integer, Hash)>] TeamNotificationRuleResponse data, response status code and response headers
2420
+ def update_team_notification_rule_with_http_info(team_id, rule_id, body, opts = {})
2421
+
2422
+ if @api_client.config.debugging
2423
+ @api_client.config.logger.debug 'Calling API: TeamsAPI.update_team_notification_rule ...'
2424
+ end
2425
+ # verify the required parameter 'team_id' is set
2426
+ if @api_client.config.client_side_validation && team_id.nil?
2427
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling TeamsAPI.update_team_notification_rule"
2428
+ end
2429
+ # verify the required parameter 'rule_id' is set
2430
+ if @api_client.config.client_side_validation && rule_id.nil?
2431
+ fail ArgumentError, "Missing the required parameter 'rule_id' when calling TeamsAPI.update_team_notification_rule"
2432
+ end
2433
+ # verify the required parameter 'body' is set
2434
+ if @api_client.config.client_side_validation && body.nil?
2435
+ fail ArgumentError, "Missing the required parameter 'body' when calling TeamsAPI.update_team_notification_rule"
2436
+ end
2437
+ # resource path
2438
+ local_var_path = '/api/v2/team/{team_id}/notification-rules/{rule_id}'.sub('{team_id}', CGI.escape(team_id.to_s).gsub('%2F', '/')).sub('{rule_id}', CGI.escape(rule_id.to_s).gsub('%2F', '/'))
2439
+
2440
+ # query parameters
2441
+ query_params = opts[:query_params] || {}
2442
+
2443
+ # header parameters
2444
+ header_params = opts[:header_params] || {}
2445
+ # HTTP header 'Accept' (if needed)
2446
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2447
+ # HTTP header 'Content-Type'
2448
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2449
+
2450
+ # form parameters
2451
+ form_params = opts[:form_params] || {}
2452
+
2453
+ # http body (model)
2454
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
2455
+
2456
+ # return_type
2457
+ return_type = opts[:debug_return_type] || 'TeamNotificationRuleResponse'
2458
+
2459
+ # auth_names
2460
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
2461
+
2462
+ new_options = opts.merge(
2463
+ :operation => :update_team_notification_rule,
2464
+ :header_params => header_params,
2465
+ :query_params => query_params,
2466
+ :form_params => form_params,
2467
+ :body => post_body,
2468
+ :auth_names => auth_names,
2469
+ :return_type => return_type,
2470
+ :api_version => "V2"
2471
+ )
2472
+
2473
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Put, local_var_path, new_options)
2474
+ if @api_client.config.debugging
2475
+ @api_client.config.logger.debug "API called: TeamsAPI#update_team_notification_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2476
+ end
2477
+ return data, status_code, headers
2478
+ end
2479
+
2171
2480
  # Update permission setting for team.
2172
2481
  #
2173
2482
  # @see #update_team_permission_setting_with_http_info
@@ -0,0 +1,117 @@
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
+ #
21
+ class Attachment
22
+ include BaseGenericModel
23
+
24
+ #
25
+ attr_accessor :data
26
+
27
+ #
28
+ attr_accessor :included
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
+ :'data' => :'data',
37
+ :'included' => :'included'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'data' => :'AttachmentData',
46
+ :'included' => :'Array<AttachmentIncluded>'
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::Attachment` 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?(:'data')
69
+ self.data = attributes[:'data']
70
+ end
71
+
72
+ if attributes.key?(:'included')
73
+ if (value = attributes[:'included']).is_a?(Array)
74
+ self.included = value
75
+ end
76
+ end
77
+ end
78
+
79
+ # Returns the object in the form of hash, with additionalProperties support.
80
+ # @return [Hash] Returns the object in the form of hash
81
+ # @!visibility private
82
+ def to_hash
83
+ hash = {}
84
+ self.class.attribute_map.each_pair do |attr, param|
85
+ value = self.send(attr)
86
+ if value.nil?
87
+ is_nullable = self.class.openapi_nullable.include?(attr)
88
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
89
+ end
90
+
91
+ hash[param] = _to_hash(value)
92
+ end
93
+ self.additional_properties.each_pair do |attr, value|
94
+ hash[attr] = value
95
+ end
96
+ hash
97
+ end
98
+
99
+ # Checks equality by comparing each attribute.
100
+ # @param o [Object] Object to be compared
101
+ # @!visibility private
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ data == o.data &&
106
+ included == o.included &&
107
+ additional_properties == o.additional_properties
108
+ end
109
+
110
+ # Calculates hash code according to all attributes.
111
+ # @return [Integer] Hash code
112
+ # @!visibility private
113
+ def hash
114
+ [data, included, additional_properties].hash
115
+ end
116
+ end
117
+ end
@@ -17,14 +17,14 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The response object containing an incident's attachments.
21
- class IncidentAttachmentsResponse
20
+ #
21
+ class AttachmentArray
22
22
  include BaseGenericModel
23
23
 
24
- # An array of incident attachments.
24
+ #
25
25
  attr_reader :data
26
26
 
27
- # Included related resources that the user requested.
27
+ #
28
28
  attr_accessor :included
29
29
 
30
30
  attr_accessor :additional_properties
@@ -42,8 +42,8 @@ module DatadogAPIClient::V2
42
42
  # @!visibility private
43
43
  def self.openapi_types
44
44
  {
45
- :'data' => :'Array<IncidentAttachmentData>',
46
- :'included' => :'Array<IncidentAttachmentsResponseIncludedItem>'
45
+ :'data' => :'Array<AttachmentData>',
46
+ :'included' => :'Array<AttachmentIncluded>'
47
47
  }
48
48
  end
49
49
 
@@ -52,7 +52,7 @@ module DatadogAPIClient::V2
52
52
  # @!visibility private
53
53
  def initialize(attributes = {})
54
54
  if (!attributes.is_a?(Hash))
55
- fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::IncidentAttachmentsResponse` initialize method"
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AttachmentArray` initialize method"
56
56
  end
57
57
 
58
58
  self.additional_properties = {}
@@ -17,17 +17,17 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # A single incident attachment.
21
- class IncidentAttachmentData
20
+ #
21
+ class AttachmentData
22
22
  include BaseGenericModel
23
23
 
24
- # The attributes object for an attachment.
24
+ #
25
25
  attr_reader :attributes
26
26
 
27
- # A unique identifier that represents the incident attachment.
27
+ #
28
28
  attr_reader :id
29
29
 
30
- # The incident attachment's relationships.
30
+ #
31
31
  attr_reader :relationships
32
32
 
33
33
  # The incident attachment resource type.
@@ -50,9 +50,9 @@ module DatadogAPIClient::V2
50
50
  # @!visibility private
51
51
  def self.openapi_types
52
52
  {
53
- :'attributes' => :'IncidentAttachmentAttributes',
53
+ :'attributes' => :'AttachmentDataAttributes',
54
54
  :'id' => :'String',
55
- :'relationships' => :'IncidentAttachmentRelationships',
55
+ :'relationships' => :'AttachmentDataRelationships',
56
56
  :'type' => :'IncidentAttachmentType'
57
57
  }
58
58
  end
@@ -62,7 +62,7 @@ module DatadogAPIClient::V2
62
62
  # @!visibility private
63
63
  def initialize(attributes = {})
64
64
  if (!attributes.is_a?(Hash))
65
- fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::IncidentAttachmentData` initialize method"
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AttachmentData` initialize method"
66
66
  end
67
67
 
68
68
  self.additional_properties = {}