datadog_api_client 2.24.0 → 2.25.0

Sign up to get free protection for your applications and to get access to all the features.
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