datadog_api_client 2.24.0 → 2.25.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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +2 -0
  4. data/.generator/schemas/v1/openapi.yaml +265 -8
  5. data/.generator/schemas/v2/openapi.yaml +1471 -32
  6. data/.generator/src/generator/openapi.py +4 -0
  7. data/CHANGELOG.md +41 -0
  8. data/examples/v1/azure-integration/CreateAzureIntegration.rb +1 -1
  9. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +7 -1
  10. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +7 -1
  11. data/examples/v1/dashboards/CreateDashboard_985012506.rb +61 -0
  12. data/examples/v1/synthetics/CreateSyntheticsAPITest_1717840259.rb +163 -0
  13. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +2 -0
  14. data/examples/v2/cloud-cost-management/DeleteCustomCostsFile.rb +5 -0
  15. data/examples/v2/cloud-cost-management/DeleteCustomCostsFile_372970393.rb +5 -0
  16. data/examples/v2/cloud-cost-management/GetCustomCostsFile.rb +5 -0
  17. data/examples/v2/cloud-cost-management/GetCustomCostsFile_1307381576.rb +5 -0
  18. data/examples/v2/cloud-cost-management/ListCustomCostsFiles.rb +5 -0
  19. data/examples/v2/cloud-cost-management/ListCustomCostsFiles_1968771127.rb +5 -0
  20. data/examples/v2/cloud-cost-management/UploadCustomCostsFile.rb +15 -0
  21. data/examples/v2/cloud-cost-management/UploadCustomCostsFile_4125168396.rb +19 -0
  22. data/examples/v2/network-device-monitoring/GetDevice.rb +5 -0
  23. data/examples/v2/network-device-monitoring/GetInterfaces.rb +5 -0
  24. data/examples/v2/network-device-monitoring/ListDeviceUserTags.rb +5 -0
  25. data/examples/v2/network-device-monitoring/ListDevices.rb +10 -0
  26. data/examples/v2/network-device-monitoring/UpdateDeviceUserTags.rb +18 -0
  27. data/examples/v2/roles/CreateRole.rb +0 -3
  28. data/examples/v2/security-monitoring/ConvertExistingSecurityMonitoringRule.rb +8 -0
  29. data/examples/v2/security-monitoring/ConvertSecurityMonitoringRuleFromJSONToTerraform.rb +36 -0
  30. data/examples/v2/service-scorecards/UpdateScorecardRule.rb +24 -0
  31. data/examples/v2/workflow-automation/CancelWorkflowInstance.rb +5 -0
  32. data/examples/v2/workflow-automation/CreateWorkflowInstance.rb +13 -0
  33. data/examples/v2/workflow-automation/GetWorkflowInstance.rb +5 -0
  34. data/examples/v2/workflow-automation/ListWorkflowInstances.rb +5 -0
  35. data/lib/datadog_api_client/configuration.rb +1 -0
  36. data/lib/datadog_api_client/inflector.rb +53 -1
  37. data/lib/datadog_api_client/v1/api/aws_logs_integration_api.rb +1 -1
  38. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -1
  39. data/lib/datadog_api_client/v1/api/monitors_api.rb +12 -1
  40. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +7 -3
  41. data/lib/datadog_api_client/v1/models/azure_account.rb +14 -1
  42. data/lib/datadog_api_client/v1/models/azure_account_metrics_config.rb +85 -0
  43. data/lib/datadog_api_client/v1/models/formula_and_function_apm_dependency_stats_query_definition.rb +24 -1
  44. data/lib/datadog_api_client/v1/models/formula_and_function_apm_resource_stats_query_definition.rb +24 -1
  45. data/lib/datadog_api_client/v1/models/formula_and_function_cloud_cost_query_definition.rb +24 -1
  46. data/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb +24 -1
  47. data/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +1 -0
  48. data/lib/datadog_api_client/v1/models/formula_and_function_metric_query_definition.rb +24 -1
  49. data/lib/datadog_api_client/v1/models/formula_and_function_process_query_definition.rb +24 -1
  50. data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_definition.rb +24 -1
  51. data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_type.rb +1 -0
  52. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +2 -0
  53. data/lib/datadog_api_client/v1/models/list_stream_source.rb +1 -0
  54. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_events_data_source.rb +1 -0
  55. data/lib/datadog_api_client/v1/models/monitor_type.rb +1 -0
  56. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +4 -0
  57. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +41 -1
  58. data/lib/datadog_api_client/v1/models/synthetics_basic_auth_digest.rb +12 -1
  59. data/lib/datadog_api_client/v1/models/synthetics_basic_auth_oauth_client.rb +12 -1
  60. data/lib/datadog_api_client/v1/models/synthetics_basic_auth_oauth_rop.rb +12 -1
  61. data/lib/datadog_api_client/v1/models/synthetics_delete_tests_payload.rb +12 -1
  62. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +21 -1
  63. data/lib/datadog_api_client/v1/models/usage_billable_summary_hour.rb +21 -1
  64. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +61 -1
  65. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +81 -1
  66. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +61 -1
  67. data/lib/datadog_api_client/v2/api/api_management_api.rb +5 -5
  68. data/lib/datadog_api_client/v2/api/authn_mappings_api.rb +6 -0
  69. data/lib/datadog_api_client/v2/api/case_management_api.rb +13 -13
  70. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +260 -0
  71. data/lib/datadog_api_client/v2/api/network_device_monitoring_api.rb +362 -0
  72. data/lib/datadog_api_client/v2/api/organizations_api.rb +1 -1
  73. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +15 -7
  74. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +134 -0
  75. data/lib/datadog_api_client/v2/api/service_scorecards_api.rb +79 -1
  76. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +8 -0
  77. data/lib/datadog_api_client/v2/api/workflow_automation_api.rb +307 -0
  78. data/lib/datadog_api_client/v2/models/api_key_relationships.rb +9 -1
  79. data/lib/datadog_api_client/v2/models/authn_mapping_resource_type.rb +27 -0
  80. data/lib/datadog_api_client/v2/models/cost_by_org_attributes.rb +21 -1
  81. data/lib/datadog_api_client/v2/models/custom_cost_get_response_meta.rb +80 -0
  82. data/lib/datadog_api_client/v2/models/custom_cost_list_response_meta.rb +90 -0
  83. data/lib/datadog_api_client/v2/models/custom_cost_upload_response_meta.rb +80 -0
  84. data/lib/datadog_api_client/v2/models/custom_costs_file_get_response.rb +90 -0
  85. data/lib/datadog_api_client/v2/models/custom_costs_file_line_item.rb +173 -0
  86. data/lib/datadog_api_client/v2/models/custom_costs_file_list_response.rb +92 -0
  87. data/lib/datadog_api_client/v2/models/custom_costs_file_metadata.rb +152 -0
  88. data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_high_level.rb +100 -0
  89. data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_with_content.rb +164 -0
  90. data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_with_content_high_level.rb +100 -0
  91. data/lib/datadog_api_client/v2/models/custom_costs_file_upload_response.rb +90 -0
  92. data/lib/datadog_api_client/v2/models/custom_costs_file_usage_charge_period.rb +90 -0
  93. data/lib/datadog_api_client/v2/models/custom_costs_user.rb +100 -0
  94. data/lib/datadog_api_client/v2/models/device_attributes.rb +272 -0
  95. data/lib/datadog_api_client/v2/models/device_attributes_interface_statuses.rb +110 -0
  96. data/lib/datadog_api_client/v2/models/devices_list_data.rb +100 -0
  97. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +2 -2
  98. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +2 -2
  99. data/lib/datadog_api_client/v2/models/full_application_key_attributes.rb +1 -1
  100. data/lib/datadog_api_client/v2/models/get_device_attributes.rb +262 -0
  101. data/lib/datadog_api_client/v2/models/get_device_data.rb +100 -0
  102. data/lib/datadog_api_client/v2/models/get_device_response.rb +80 -0
  103. data/lib/datadog_api_client/v2/models/get_interfaces_data.rb +100 -0
  104. data/lib/datadog_api_client/v2/models/get_interfaces_response.rb +82 -0
  105. data/lib/datadog_api_client/v2/models/hourly_usage_attributes.rb +21 -1
  106. data/lib/datadog_api_client/v2/models/interface_attributes.rb +130 -0
  107. data/lib/datadog_api_client/v2/models/interface_attributes_status.rb +29 -0
  108. data/lib/datadog_api_client/v2/models/list_devices_response.rb +92 -0
  109. data/lib/datadog_api_client/v2/models/list_devices_response_metadata.rb +80 -0
  110. data/lib/datadog_api_client/v2/models/list_devices_response_metadata_page.rb +80 -0
  111. data/lib/datadog_api_client/v2/models/list_tags_response.rb +80 -0
  112. data/lib/datadog_api_client/v2/models/list_tags_response_data.rb +100 -0
  113. data/lib/datadog_api_client/v2/models/list_tags_response_data_attributes.rb +82 -0
  114. data/lib/datadog_api_client/v2/models/projected_cost_attributes.rb +21 -1
  115. data/lib/datadog_api_client/v2/models/role_relationships.rb +4 -14
  116. data/lib/datadog_api_client/v2/models/role_update_attributes.rb +32 -4
  117. data/lib/datadog_api_client/v2/models/rum_application_attributes.rb +1 -1
  118. data/lib/datadog_api_client/v2/models/rum_application_create_attributes.rb +1 -1
  119. data/lib/datadog_api_client/v2/models/rum_application_list_attributes.rb +1 -1
  120. data/lib/datadog_api_client/v2/models/rum_application_update_attributes.rb +1 -1
  121. data/lib/datadog_api_client/v2/models/security_monitoring_rule_convert_payload.rb +63 -0
  122. data/lib/datadog_api_client/v2/models/security_monitoring_rule_convert_response.rb +80 -0
  123. data/lib/datadog_api_client/v2/models/security_monitoring_rule_detection_method.rb +1 -0
  124. data/lib/datadog_api_client/v2/models/security_monitoring_rule_evaluation_window.rb +1 -1
  125. data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +1 -1
  126. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +2 -2
  127. data/lib/datadog_api_client/v2/models/update_rule_request.rb +80 -0
  128. data/lib/datadog_api_client/v2/models/update_rule_request_data.rb +90 -0
  129. data/lib/datadog_api_client/v2/models/update_rule_response.rb +80 -0
  130. data/lib/datadog_api_client/v2/models/update_rule_response_data.rb +110 -0
  131. data/lib/datadog_api_client/v2/models/user_attributes.rb +11 -1
  132. data/lib/datadog_api_client/v2/models/workflow_instance_create_meta.rb +80 -0
  133. data/lib/datadog_api_client/v2/models/workflow_instance_create_request.rb +80 -0
  134. data/lib/datadog_api_client/v2/models/workflow_instance_create_response.rb +80 -0
  135. data/lib/datadog_api_client/v2/models/workflow_instance_create_response_data.rb +80 -0
  136. data/lib/datadog_api_client/v2/models/workflow_instance_list_item.rb +80 -0
  137. data/lib/datadog_api_client/v2/models/workflow_list_instances_response.rb +92 -0
  138. data/lib/datadog_api_client/v2/models/workflow_list_instances_response_meta.rb +80 -0
  139. data/lib/datadog_api_client/v2/models/workflow_list_instances_response_meta_page.rb +80 -0
  140. data/lib/datadog_api_client/v2/models/worklflow_cancel_instance_response.rb +80 -0
  141. data/lib/datadog_api_client/v2/models/worklflow_cancel_instance_response_data.rb +80 -0
  142. data/lib/datadog_api_client/v2/models/worklflow_get_instance_response.rb +80 -0
  143. data/lib/datadog_api_client/v2/models/worklflow_get_instance_response_data.rb +80 -0
  144. data/lib/datadog_api_client/v2/models/worklflow_get_instance_response_data_attributes.rb +80 -0
  145. data/lib/datadog_api_client/version.rb +1 -1
  146. metadata +76 -2
@@ -189,6 +189,7 @@ module DatadogAPIClient::V2
189
189
  # @option opts [Time] :end_month Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.
190
190
  # @option opts [Time] :start_date Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for cost beginning this day. Either start_month or start_date should be specified, but not both. (start_date cannot go beyond two months in the past). Provide an `end_date` to view day-over-day cumulative cost.
191
191
  # @option opts [Time] :end_date Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for cost ending this day.
192
+ # @option opts [Boolean] :include_connected_accounts Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`.
192
193
  # @return [Array<(CostByOrgResponse, Integer, Hash)>] CostByOrgResponse data, response status code and response headers
193
194
  def get_estimated_cost_by_org_with_http_info(opts = {})
194
195
 
@@ -205,6 +206,7 @@ module DatadogAPIClient::V2
205
206
  query_params[:'end_month'] = opts[:'end_month'] if !opts[:'end_month'].nil?
206
207
  query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
207
208
  query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
209
+ query_params[:'include_connected_accounts'] = opts[:'include_connected_accounts'] if !opts[:'include_connected_accounts'].nil?
208
210
 
209
211
  # header parameters
210
212
  header_params = opts[:header_params] || {}
@@ -260,6 +262,7 @@ module DatadogAPIClient::V2
260
262
  # @param opts [Hash] the optional parameters
261
263
  # @option opts [String] :view String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`.
262
264
  # @option opts [Time] :end_month Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.
265
+ # @option opts [Boolean] :include_connected_accounts Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`.
263
266
  # @return [Array<(CostByOrgResponse, Integer, Hash)>] CostByOrgResponse data, response status code and response headers
264
267
  def get_historical_cost_by_org_with_http_info(start_month, opts = {})
265
268
 
@@ -278,6 +281,7 @@ module DatadogAPIClient::V2
278
281
  query_params[:'start_month'] = start_month
279
282
  query_params[:'view'] = opts[:'view'] if !opts[:'view'].nil?
280
283
  query_params[:'end_month'] = opts[:'end_month'] if !opts[:'end_month'].nil?
284
+ query_params[:'include_connected_accounts'] = opts[:'include_connected_accounts'] if !opts[:'include_connected_accounts'].nil?
281
285
 
282
286
  # header parameters
283
287
  header_params = opts[:header_params] || {}
@@ -331,6 +335,7 @@ module DatadogAPIClient::V2
331
335
  # @param opts [Hash] the optional parameters
332
336
  # @option opts [Time] :filter_timestamp_end Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
333
337
  # @option opts [Boolean] :filter_include_descendants Include child org usage in the response. Defaults to false.
338
+ # @option opts [Boolean] :filter_include_connected_accounts Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to false.
334
339
  # @option opts [Boolean] :filter_include_breakdown Include breakdown of usage by subcategories where applicable (for product family logs only). Defaults to false.
335
340
  # @option opts [String] :filter_versions Comma separated list of product family versions to use in the format `product_family:version`. For example, `infra_hosts:1.0.0`. If this parameter is not used, the API will use the latest version of each requested product family. Currently all families have one version `1.0.0`.
336
341
  # @option opts [Integer] :page_limit Maximum number of results to return (between 1 and 500) - defaults to 500 if limit not specified.
@@ -364,6 +369,7 @@ module DatadogAPIClient::V2
364
369
  query_params[:'filter[product_families]'] = filter_product_families
365
370
  query_params[:'filter[timestamp][end]'] = opts[:'filter_timestamp_end'] if !opts[:'filter_timestamp_end'].nil?
366
371
  query_params[:'filter[include_descendants]'] = opts[:'filter_include_descendants'] if !opts[:'filter_include_descendants'].nil?
372
+ query_params[:'filter[include_connected_accounts]'] = opts[:'filter_include_connected_accounts'] if !opts[:'filter_include_connected_accounts'].nil?
367
373
  query_params[:'filter[include_breakdown]'] = opts[:'filter_include_breakdown'] if !opts[:'filter_include_breakdown'].nil?
368
374
  query_params[:'filter[versions]'] = opts[:'filter_versions'] if !opts[:'filter_versions'].nil?
369
375
  query_params[:'page[limit]'] = opts[:'page_limit'] if !opts[:'page_limit'].nil?
@@ -534,6 +540,7 @@ module DatadogAPIClient::V2
534
540
  #
535
541
  # @param opts [Hash] the optional parameters
536
542
  # @option opts [String] :view String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`.
543
+ # @option opts [Boolean] :include_connected_accounts Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`.
537
544
  # @return [Array<(ProjectedCostResponse, Integer, Hash)>] ProjectedCostResponse data, response status code and response headers
538
545
  def get_projected_cost_with_http_info(opts = {})
539
546
 
@@ -546,6 +553,7 @@ module DatadogAPIClient::V2
546
553
  # query parameters
547
554
  query_params = opts[:query_params] || {}
548
555
  query_params[:'view'] = opts[:'view'] if !opts[:'view'].nil?
556
+ query_params[:'include_connected_accounts'] = opts[:'include_connected_accounts'] if !opts[:'include_connected_accounts'].nil?
549
557
 
550
558
  # header parameters
551
559
  header_params = opts[:header_params] || {}
@@ -0,0 +1,307 @@
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 'cgi'
17
+
18
+ module DatadogAPIClient::V2
19
+ class WorkflowAutomationAPI
20
+ attr_accessor :api_client
21
+
22
+ def initialize(api_client = DatadogAPIClient::APIClient.default)
23
+ @api_client = api_client
24
+ end
25
+
26
+ # Cancel a workflow instance.
27
+ #
28
+ # @see #cancel_workflow_instance_with_http_info
29
+ def cancel_workflow_instance(workflow_id, instance_id, opts = {})
30
+ data, _status_code, _headers = cancel_workflow_instance_with_http_info(workflow_id, instance_id, opts)
31
+ data
32
+ end
33
+
34
+ # Cancel a workflow instance.
35
+ #
36
+ # Cancels a specific execution of a given workflow. This API requires an application key scoped with the workflows_run permission.
37
+ #
38
+ # @param workflow_id [String] The ID of the workflow.
39
+ # @param instance_id [String] The ID of the workflow instance.
40
+ # @param opts [Hash] the optional parameters
41
+ # @return [Array<(WorklflowCancelInstanceResponse, Integer, Hash)>] WorklflowCancelInstanceResponse data, response status code and response headers
42
+ def cancel_workflow_instance_with_http_info(workflow_id, instance_id, opts = {})
43
+
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: WorkflowAutomationAPI.cancel_workflow_instance ...'
46
+ end
47
+ # verify the required parameter 'workflow_id' is set
48
+ if @api_client.config.client_side_validation && workflow_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'workflow_id' when calling WorkflowAutomationAPI.cancel_workflow_instance"
50
+ end
51
+ # verify the required parameter 'instance_id' is set
52
+ if @api_client.config.client_side_validation && instance_id.nil?
53
+ fail ArgumentError, "Missing the required parameter 'instance_id' when calling WorkflowAutomationAPI.cancel_workflow_instance"
54
+ end
55
+ # resource path
56
+ local_var_path = '/api/v2/workflows/{workflow_id}/instances/{instance_id}/cancel'.sub('{workflow_id}', CGI.escape(workflow_id.to_s).gsub('%2F', '/')).sub('{instance_id}', CGI.escape(instance_id.to_s).gsub('%2F', '/'))
57
+
58
+ # query parameters
59
+ query_params = opts[:query_params] || {}
60
+
61
+ # header parameters
62
+ header_params = opts[:header_params] || {}
63
+ # HTTP header 'Accept' (if needed)
64
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
65
+
66
+ # form parameters
67
+ form_params = opts[:form_params] || {}
68
+
69
+ # http body (model)
70
+ post_body = opts[:debug_body]
71
+
72
+ # return_type
73
+ return_type = opts[:debug_return_type] || 'WorklflowCancelInstanceResponse'
74
+
75
+ # auth_names
76
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
77
+
78
+ new_options = opts.merge(
79
+ :operation => :cancel_workflow_instance,
80
+ :header_params => header_params,
81
+ :query_params => query_params,
82
+ :form_params => form_params,
83
+ :body => post_body,
84
+ :auth_names => auth_names,
85
+ :return_type => return_type,
86
+ :api_version => "V2"
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Put, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: WorkflowAutomationAPI#cancel_workflow_instance\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Execute a workflow.
97
+ #
98
+ # @see #create_workflow_instance_with_http_info
99
+ def create_workflow_instance(workflow_id, body, opts = {})
100
+ data, _status_code, _headers = create_workflow_instance_with_http_info(workflow_id, body, opts)
101
+ data
102
+ end
103
+
104
+ # Execute a workflow.
105
+ #
106
+ # Execute the given workflow. This API requires an application key scoped with the workflows_run permission.
107
+ #
108
+ # @param workflow_id [String] The ID of the workflow.
109
+ # @param body [WorkflowInstanceCreateRequest]
110
+ # @param opts [Hash] the optional parameters
111
+ # @return [Array<(WorkflowInstanceCreateResponse, Integer, Hash)>] WorkflowInstanceCreateResponse data, response status code and response headers
112
+ def create_workflow_instance_with_http_info(workflow_id, body, opts = {})
113
+
114
+ if @api_client.config.debugging
115
+ @api_client.config.logger.debug 'Calling API: WorkflowAutomationAPI.create_workflow_instance ...'
116
+ end
117
+ # verify the required parameter 'workflow_id' is set
118
+ if @api_client.config.client_side_validation && workflow_id.nil?
119
+ fail ArgumentError, "Missing the required parameter 'workflow_id' when calling WorkflowAutomationAPI.create_workflow_instance"
120
+ end
121
+ # verify the required parameter 'body' is set
122
+ if @api_client.config.client_side_validation && body.nil?
123
+ fail ArgumentError, "Missing the required parameter 'body' when calling WorkflowAutomationAPI.create_workflow_instance"
124
+ end
125
+ # resource path
126
+ local_var_path = '/api/v2/workflows/{workflow_id}/instances'.sub('{workflow_id}', CGI.escape(workflow_id.to_s).gsub('%2F', '/'))
127
+
128
+ # query parameters
129
+ query_params = opts[:query_params] || {}
130
+
131
+ # header parameters
132
+ header_params = opts[:header_params] || {}
133
+ # HTTP header 'Accept' (if needed)
134
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
135
+ # HTTP header 'Content-Type'
136
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
137
+
138
+ # form parameters
139
+ form_params = opts[:form_params] || {}
140
+
141
+ # http body (model)
142
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
143
+
144
+ # return_type
145
+ return_type = opts[:debug_return_type] || 'WorkflowInstanceCreateResponse'
146
+
147
+ # auth_names
148
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
149
+
150
+ new_options = opts.merge(
151
+ :operation => :create_workflow_instance,
152
+ :header_params => header_params,
153
+ :query_params => query_params,
154
+ :form_params => form_params,
155
+ :body => post_body,
156
+ :auth_names => auth_names,
157
+ :return_type => return_type,
158
+ :api_version => "V2"
159
+ )
160
+
161
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
162
+ if @api_client.config.debugging
163
+ @api_client.config.logger.debug "API called: WorkflowAutomationAPI#create_workflow_instance\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
164
+ end
165
+ return data, status_code, headers
166
+ end
167
+
168
+ # Get a workflow instance.
169
+ #
170
+ # @see #get_workflow_instance_with_http_info
171
+ def get_workflow_instance(workflow_id, instance_id, opts = {})
172
+ data, _status_code, _headers = get_workflow_instance_with_http_info(workflow_id, instance_id, opts)
173
+ data
174
+ end
175
+
176
+ # Get a workflow instance.
177
+ #
178
+ # Get a specific execution of a given workflow. This API requires an application key scoped with the workflows_read permission.
179
+ #
180
+ # @param workflow_id [String] The ID of the workflow.
181
+ # @param instance_id [String] The ID of the workflow instance.
182
+ # @param opts [Hash] the optional parameters
183
+ # @return [Array<(WorklflowGetInstanceResponse, Integer, Hash)>] WorklflowGetInstanceResponse data, response status code and response headers
184
+ def get_workflow_instance_with_http_info(workflow_id, instance_id, opts = {})
185
+
186
+ if @api_client.config.debugging
187
+ @api_client.config.logger.debug 'Calling API: WorkflowAutomationAPI.get_workflow_instance ...'
188
+ end
189
+ # verify the required parameter 'workflow_id' is set
190
+ if @api_client.config.client_side_validation && workflow_id.nil?
191
+ fail ArgumentError, "Missing the required parameter 'workflow_id' when calling WorkflowAutomationAPI.get_workflow_instance"
192
+ end
193
+ # verify the required parameter 'instance_id' is set
194
+ if @api_client.config.client_side_validation && instance_id.nil?
195
+ fail ArgumentError, "Missing the required parameter 'instance_id' when calling WorkflowAutomationAPI.get_workflow_instance"
196
+ end
197
+ # resource path
198
+ local_var_path = '/api/v2/workflows/{workflow_id}/instances/{instance_id}'.sub('{workflow_id}', CGI.escape(workflow_id.to_s).gsub('%2F', '/')).sub('{instance_id}', CGI.escape(instance_id.to_s).gsub('%2F', '/'))
199
+
200
+ # query parameters
201
+ query_params = opts[:query_params] || {}
202
+
203
+ # header parameters
204
+ header_params = opts[:header_params] || {}
205
+ # HTTP header 'Accept' (if needed)
206
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
207
+
208
+ # form parameters
209
+ form_params = opts[:form_params] || {}
210
+
211
+ # http body (model)
212
+ post_body = opts[:debug_body]
213
+
214
+ # return_type
215
+ return_type = opts[:debug_return_type] || 'WorklflowGetInstanceResponse'
216
+
217
+ # auth_names
218
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
219
+
220
+ new_options = opts.merge(
221
+ :operation => :get_workflow_instance,
222
+ :header_params => header_params,
223
+ :query_params => query_params,
224
+ :form_params => form_params,
225
+ :body => post_body,
226
+ :auth_names => auth_names,
227
+ :return_type => return_type,
228
+ :api_version => "V2"
229
+ )
230
+
231
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
232
+ if @api_client.config.debugging
233
+ @api_client.config.logger.debug "API called: WorkflowAutomationAPI#get_workflow_instance\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
234
+ end
235
+ return data, status_code, headers
236
+ end
237
+
238
+ # List workflow instances.
239
+ #
240
+ # @see #list_workflow_instances_with_http_info
241
+ def list_workflow_instances(workflow_id, opts = {})
242
+ data, _status_code, _headers = list_workflow_instances_with_http_info(workflow_id, opts)
243
+ data
244
+ end
245
+
246
+ # List workflow instances.
247
+ #
248
+ # List all instances of a given workflow. This API requires an application key scoped with the workflows_read permission.
249
+ #
250
+ # @param workflow_id [String] The ID of the workflow.
251
+ # @param opts [Hash] the optional parameters
252
+ # @option opts [Integer] :page_size Size for a given page. The maximum allowed value is 100.
253
+ # @option opts [Integer] :page_number Specific page number to return.
254
+ # @return [Array<(WorkflowListInstancesResponse, Integer, Hash)>] WorkflowListInstancesResponse data, response status code and response headers
255
+ def list_workflow_instances_with_http_info(workflow_id, opts = {})
256
+
257
+ if @api_client.config.debugging
258
+ @api_client.config.logger.debug 'Calling API: WorkflowAutomationAPI.list_workflow_instances ...'
259
+ end
260
+ # verify the required parameter 'workflow_id' is set
261
+ if @api_client.config.client_side_validation && workflow_id.nil?
262
+ fail ArgumentError, "Missing the required parameter 'workflow_id' when calling WorkflowAutomationAPI.list_workflow_instances"
263
+ end
264
+ # resource path
265
+ local_var_path = '/api/v2/workflows/{workflow_id}/instances'.sub('{workflow_id}', CGI.escape(workflow_id.to_s).gsub('%2F', '/'))
266
+
267
+ # query parameters
268
+ query_params = opts[:query_params] || {}
269
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
270
+ query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil?
271
+
272
+ # header parameters
273
+ header_params = opts[:header_params] || {}
274
+ # HTTP header 'Accept' (if needed)
275
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
276
+
277
+ # form parameters
278
+ form_params = opts[:form_params] || {}
279
+
280
+ # http body (model)
281
+ post_body = opts[:debug_body]
282
+
283
+ # return_type
284
+ return_type = opts[:debug_return_type] || 'WorkflowListInstancesResponse'
285
+
286
+ # auth_names
287
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
288
+
289
+ new_options = opts.merge(
290
+ :operation => :list_workflow_instances,
291
+ :header_params => header_params,
292
+ :query_params => query_params,
293
+ :form_params => form_params,
294
+ :body => post_body,
295
+ :auth_names => auth_names,
296
+ :return_type => return_type,
297
+ :api_version => "V2"
298
+ )
299
+
300
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
301
+ if @api_client.config.debugging
302
+ @api_client.config.logger.debug "API called: WorkflowAutomationAPI#list_workflow_instances\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
303
+ end
304
+ return data, status_code, headers
305
+ end
306
+ end
307
+ end
@@ -41,10 +41,18 @@ module DatadogAPIClient::V2
41
41
  def self.openapi_types
42
42
  {
43
43
  :'created_by' => :'RelationshipToUser',
44
- :'modified_by' => :'RelationshipToUser'
44
+ :'modified_by' => :'NullableRelationshipToUser'
45
45
  }
46
46
  end
47
47
 
48
+ # List of attributes with nullable: true
49
+ # @!visibility private
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ :'modified_by',
53
+ ])
54
+ end
55
+
48
56
  # Initializes the object
49
57
  # @param attributes [Hash] Model attributes in the form of hash
50
58
  # @!visibility private
@@ -0,0 +1,27 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # The type of resource being mapped to.
21
+ class AuthNMappingResourceType
22
+ include BaseEnumModel
23
+
24
+ ROLE = "role".freeze
25
+ TEAM = "team".freeze
26
+ end
27
+ end
@@ -21,6 +21,12 @@ module DatadogAPIClient::V2
21
21
  class CostByOrgAttributes
22
22
  include BaseGenericModel
23
23
 
24
+ # The account name.
25
+ attr_accessor :account_name
26
+
27
+ # The account public ID.
28
+ attr_accessor :account_public_id
29
+
24
30
  # List of charges data reported for the requested month.
25
31
  attr_accessor :charges
26
32
 
@@ -43,6 +49,8 @@ module DatadogAPIClient::V2
43
49
  # @!visibility private
44
50
  def self.attribute_map
45
51
  {
52
+ :'account_name' => :'account_name',
53
+ :'account_public_id' => :'account_public_id',
46
54
  :'charges' => :'charges',
47
55
  :'date' => :'date',
48
56
  :'org_name' => :'org_name',
@@ -56,6 +64,8 @@ module DatadogAPIClient::V2
56
64
  # @!visibility private
57
65
  def self.openapi_types
58
66
  {
67
+ :'account_name' => :'String',
68
+ :'account_public_id' => :'String',
59
69
  :'charges' => :'Array<ChargebackBreakdown>',
60
70
  :'date' => :'Time',
61
71
  :'org_name' => :'String',
@@ -81,6 +91,14 @@ module DatadogAPIClient::V2
81
91
  h[k.to_sym] = v
82
92
  }
83
93
 
94
+ if attributes.key?(:'account_name')
95
+ self.account_name = attributes[:'account_name']
96
+ end
97
+
98
+ if attributes.key?(:'account_public_id')
99
+ self.account_public_id = attributes[:'account_public_id']
100
+ end
101
+
84
102
  if attributes.key?(:'charges')
85
103
  if (value = attributes[:'charges']).is_a?(Array)
86
104
  self.charges = value
@@ -114,6 +132,8 @@ module DatadogAPIClient::V2
114
132
  def ==(o)
115
133
  return true if self.equal?(o)
116
134
  self.class == o.class &&
135
+ account_name == o.account_name &&
136
+ account_public_id == o.account_public_id &&
117
137
  charges == o.charges &&
118
138
  date == o.date &&
119
139
  org_name == o.org_name &&
@@ -126,7 +146,7 @@ module DatadogAPIClient::V2
126
146
  # @return [Integer] Hash code
127
147
  # @!visibility private
128
148
  def hash
129
- [charges, date, org_name, public_id, region, total_cost].hash
149
+ [account_name, account_public_id, charges, date, org_name, public_id, region, total_cost].hash
130
150
  end
131
151
  end
132
152
  end
@@ -0,0 +1,80 @@
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
+ # Meta for the response from the Get Custom Costs endpoints.
21
+ class CustomCostGetResponseMeta
22
+ include BaseGenericModel
23
+
24
+ # Version of Custom Costs file
25
+ attr_accessor :version
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'version' => :'version'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'version' => :'String'
40
+ }
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param attributes [Hash] Model attributes in the form of hash
45
+ # @!visibility private
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CustomCostGetResponseMeta` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::CustomCostGetResponseMeta`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'version')
60
+ self.version = attributes[:'version']
61
+ end
62
+ end
63
+
64
+ # Checks equality by comparing each attribute.
65
+ # @param o [Object] Object to be compared
66
+ # @!visibility private
67
+ def ==(o)
68
+ return true if self.equal?(o)
69
+ self.class == o.class &&
70
+ version == o.version
71
+ end
72
+
73
+ # Calculates hash code according to all attributes.
74
+ # @return [Integer] Hash code
75
+ # @!visibility private
76
+ def hash
77
+ [version].hash
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,90 @@
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
+ # Meta for the response from the List Custom Costs endpoints.
21
+ class CustomCostListResponseMeta
22
+ include BaseGenericModel
23
+
24
+ # Number of Custom Costs files returned by the List Custom Costs endpoint
25
+ attr_accessor :total_filtered_count
26
+
27
+ # Version of Custom Costs file
28
+ attr_accessor :version
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'total_filtered_count' => :'total_filtered_count',
35
+ :'version' => :'version'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'total_filtered_count' => :'Integer',
44
+ :'version' => :'String'
45
+ }
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param attributes [Hash] Model attributes in the form of hash
50
+ # @!visibility private
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CustomCostListResponseMeta` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::CustomCostListResponseMeta`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'total_filtered_count')
65
+ self.total_filtered_count = attributes[:'total_filtered_count']
66
+ end
67
+
68
+ if attributes.key?(:'version')
69
+ self.version = attributes[:'version']
70
+ end
71
+ end
72
+
73
+ # Checks equality by comparing each attribute.
74
+ # @param o [Object] Object to be compared
75
+ # @!visibility private
76
+ def ==(o)
77
+ return true if self.equal?(o)
78
+ self.class == o.class &&
79
+ total_filtered_count == o.total_filtered_count &&
80
+ version == o.version
81
+ end
82
+
83
+ # Calculates hash code according to all attributes.
84
+ # @return [Integer] Hash code
85
+ # @!visibility private
86
+ def hash
87
+ [total_filtered_count, version].hash
88
+ end
89
+ end
90
+ end