datadog_api_client 2.17.0 → 2.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +145 -5
  4. data/.generator/schemas/v2/openapi.yaml +1306 -45
  5. data/.generator/src/generator/cli.py +5 -0
  6. data/.generator/src/generator/templates/datadog_api_client.j2 +19 -0
  7. data/.pre-commit-config.yaml +1 -1
  8. data/CHANGELOG.md +25 -0
  9. data/examples/v1/aws-integration/CreateAWSAccount.rb +2 -2
  10. data/examples/v1/aws-integration/DeleteAWSAccount.rb +1 -1
  11. data/examples/v1/aws-integration/UpdateAWSAccount.rb +6 -6
  12. data/examples/v1/azure-integration/CreateAzureIntegration.rb +1 -0
  13. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +1 -0
  14. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +1 -0
  15. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +1 -0
  16. data/examples/v1/dashboards/CreateDashboard_1284514532.rb +3 -0
  17. data/examples/v1/synthetics/PatchTest.rb +22 -0
  18. data/examples/v2/container-images/ListContainerImages.rb +0 -3
  19. data/examples/v2/container-images/ListContainerImages_3088586393.rb +0 -3
  20. data/examples/v2/container-images/ListContainerImages_3974828736.rb +0 -3
  21. data/examples/v2/containers/ListContainers.rb +0 -3
  22. data/examples/v2/containers/ListContainers_2175733917.rb +0 -3
  23. data/examples/v2/containers/ListContainers_931009654.rb +0 -3
  24. data/examples/v2/dora-metrics/CreateDORADeployment.rb +23 -0
  25. data/examples/v2/dora-metrics/CreateDORAIncident.rb +25 -0
  26. data/examples/v2/events/ListEvents.rb +0 -3
  27. data/examples/v2/events/ListEvents_1527584014.rb +0 -3
  28. data/examples/v2/events/ListEvents_2663715109.rb +0 -3
  29. data/examples/v2/events/SearchEvents.rb +0 -3
  30. data/examples/v2/events/SearchEvents_3856995058.rb +0 -3
  31. data/examples/v2/okta-integration/CreateOktaAccount.rb +19 -0
  32. data/examples/v2/okta-integration/DeleteOktaAccount.rb +5 -0
  33. data/examples/v2/okta-integration/GetOktaAccount.rb +8 -0
  34. data/examples/v2/okta-integration/ListOktaAccounts.rb +5 -0
  35. data/examples/v2/okta-integration/UpdateOktaAccount.rb +20 -0
  36. data/examples/v2/usage-metering/GetActiveBillingDimensions.rb +8 -0
  37. data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +8 -0
  38. data/examples/v2/usage-metering/GetProjectedCost.rb +8 -0
  39. data/lib/datadog_api_client/configuration.rb +4 -4
  40. data/lib/datadog_api_client/inflector.rb +61 -0
  41. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -1
  42. data/lib/datadog_api_client/v1/api/synthetics_api.rb +73 -1
  43. data/lib/datadog_api_client/v1/models/azure_account.rb +13 -2
  44. data/lib/datadog_api_client/v1/models/synthetics_patch_test_body.rb +82 -0
  45. data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation.rb +100 -0
  46. data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation_name.rb +31 -0
  47. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +21 -1
  48. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +21 -1
  49. data/lib/datadog_api_client/v1/models/widget_live_span.rb +2 -0
  50. data/lib/datadog_api_client/v2/api/container_images_api.rb +0 -6
  51. data/lib/datadog_api_client/v2/api/containers_api.rb +0 -6
  52. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +181 -0
  53. data/lib/datadog_api_client/v2/api/events_api.rb +0 -12
  54. data/lib/datadog_api_client/v2/api/okta_integration_api.rb +355 -0
  55. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +241 -0
  56. data/lib/datadog_api_client/v2/models/active_billing_dimensions_attributes.rb +92 -0
  57. data/lib/datadog_api_client/v2/models/active_billing_dimensions_body.rb +100 -0
  58. data/lib/datadog_api_client/v2/models/active_billing_dimensions_response.rb +80 -0
  59. data/lib/datadog_api_client/v2/models/active_billing_dimensions_type.rb +26 -0
  60. data/lib/datadog_api_client/v2/models/api_keys_response.rb +14 -4
  61. data/lib/datadog_api_client/v2/models/api_keys_response_meta.rb +90 -0
  62. data/lib/datadog_api_client/v2/models/api_keys_response_meta_page.rb +80 -0
  63. data/lib/datadog_api_client/v2/models/application_key_response_meta.rb +90 -0
  64. data/lib/datadog_api_client/v2/models/application_key_response_meta_page.rb +80 -0
  65. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +13 -1
  66. data/lib/datadog_api_client/v2/models/cost_attribution_aggregates_body.rb +100 -0
  67. data/lib/datadog_api_client/v2/models/cost_attribution_type.rb +26 -0
  68. data/lib/datadog_api_client/v2/models/dora_deployment_request.rb +98 -0
  69. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +170 -0
  70. data/lib/datadog_api_client/v2/models/dora_deployment_request_data.rb +98 -0
  71. data/lib/datadog_api_client/v2/models/dora_deployment_response.rb +98 -0
  72. data/lib/datadog_api_client/v2/models/dora_deployment_response_data.rb +108 -0
  73. data/lib/datadog_api_client/v2/models/dora_deployment_type.rb +26 -0
  74. data/lib/datadog_api_client/v2/models/dora_git_info.rb +125 -0
  75. data/lib/datadog_api_client/v2/models/dora_incident_request.rb +98 -0
  76. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +179 -0
  77. data/lib/datadog_api_client/v2/models/dora_incident_request_data.rb +98 -0
  78. data/lib/datadog_api_client/v2/models/dora_incident_response.rb +98 -0
  79. data/lib/datadog_api_client/v2/models/dora_incident_response_data.rb +108 -0
  80. data/lib/datadog_api_client/v2/models/dora_incident_type.rb +26 -0
  81. data/lib/datadog_api_client/v2/models/full_api_key_attributes.rb +24 -4
  82. data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes.rb +14 -4
  83. data/lib/datadog_api_client/v2/models/incident_create_relationships.rb +9 -19
  84. data/lib/datadog_api_client/v2/models/incident_impacts_type.rb +26 -0
  85. data/lib/datadog_api_client/v2/models/incident_integration_metadata_attributes.rb +21 -1
  86. data/lib/datadog_api_client/v2/models/incident_integration_metadata_response_data.rb +11 -1
  87. data/lib/datadog_api_client/v2/models/incident_integration_relationships.rb +90 -0
  88. data/lib/datadog_api_client/v2/models/incident_non_datadog_creator.rb +90 -0
  89. data/lib/datadog_api_client/v2/models/incident_responders_type.rb +26 -0
  90. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +69 -4
  91. data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +42 -4
  92. data/lib/datadog_api_client/v2/models/incident_severity.rb +31 -0
  93. data/lib/datadog_api_client/v2/models/incident_todo_attributes.rb +24 -4
  94. data/lib/datadog_api_client/v2/models/incident_todo_relationships.rb +90 -0
  95. data/lib/datadog_api_client/v2/models/incident_todo_response_data.rb +11 -1
  96. data/lib/datadog_api_client/v2/models/incident_update_relationships.rb +8 -0
  97. data/lib/datadog_api_client/v2/models/incident_user_defined_field_type.rb +26 -0
  98. data/lib/datadog_api_client/v2/models/list_application_keys_response.rb +14 -4
  99. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_attributes.rb +151 -0
  100. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_body.rb +100 -0
  101. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_meta.rb +92 -0
  102. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_pagination.rb +88 -0
  103. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_response.rb +92 -0
  104. data/lib/datadog_api_client/v2/models/okta_account.rb +129 -0
  105. data/lib/datadog_api_client/v2/models/okta_account_attributes.rb +170 -0
  106. data/lib/datadog_api_client/v2/models/okta_account_request.rb +98 -0
  107. data/lib/datadog_api_client/v2/models/okta_account_response.rb +80 -0
  108. data/lib/datadog_api_client/v2/models/okta_account_response_data.rb +140 -0
  109. data/lib/datadog_api_client/v2/models/okta_account_type.rb +26 -0
  110. data/lib/datadog_api_client/v2/models/okta_account_update_request.rb +98 -0
  111. data/lib/datadog_api_client/v2/models/okta_account_update_request_attributes.rb +149 -0
  112. data/lib/datadog_api_client/v2/models/okta_account_update_request_data.rb +90 -0
  113. data/lib/datadog_api_client/v2/models/okta_accounts_response.rb +82 -0
  114. data/lib/datadog_api_client/v2/models/partial_api_key_attributes.rb +24 -4
  115. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +2 -2
  116. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +8 -0
  117. data/lib/datadog_api_client/v2/models/projected_cost.rb +100 -0
  118. data/lib/datadog_api_client/v2/models/projected_cost_attributes.rb +132 -0
  119. data/lib/datadog_api_client/v2/models/projected_cost_response.rb +82 -0
  120. data/lib/datadog_api_client/v2/models/projected_cost_type.rb +26 -0
  121. data/lib/datadog_api_client/v2/models/relationship_to_incident_impact_data.rb +119 -0
  122. data/lib/datadog_api_client/v2/models/relationship_to_incident_impacts.rb +100 -0
  123. data/lib/datadog_api_client/v2/models/relationship_to_incident_responder_data.rb +119 -0
  124. data/lib/datadog_api_client/v2/models/relationship_to_incident_responders.rb +100 -0
  125. data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_field_data.rb +119 -0
  126. data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_fields.rb +100 -0
  127. data/lib/datadog_api_client/v2/models/security_monitoring_rule_type_create.rb +1 -0
  128. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +13 -1
  129. data/lib/datadog_api_client/v2/models/sort_direction.rb +27 -0
  130. data/lib/datadog_api_client/version.rb +1 -1
  131. data/lib/datadog_api_client.rb +16 -1
  132. metadata +75 -2
@@ -55,6 +55,7 @@ def cli(specs, output):
55
55
  api_j2 = env.get_template("api.j2")
56
56
  model_j2 = env.get_template("model.j2")
57
57
  package_j2 = env.get_template("package.j2")
58
+ datadog_api_client_j2 = env.get_template("datadog_api_client.j2")
58
59
 
59
60
  extra_files = {
60
61
  "model_base.rb": env.get_template("model_base.j2"),
@@ -120,6 +121,10 @@ def cli(specs, output):
120
121
  with filename.open("w") as fp:
121
122
  fp.write(template.render(all_apis=all_apis, all_specs=all_specs, all_models=all_models))
122
123
 
124
+ datadog_api_client_output = output / "datadog_api_client.rb"
125
+ with datadog_api_client_output.open("w") as fp:
126
+ fp.write(datadog_api_client_j2.render(all_apis=all_apis))
127
+
123
128
  # Parameter mappings for bdd tests
124
129
  scenarios_test_output = pathlib.Path("../features/")
125
130
  for name, template in test_scenarios_files.items():
@@ -0,0 +1,19 @@
1
+ =begin
2
+ {% include "api_info.j2" %}
3
+ =end
4
+
5
+ require 'datadog_api_client/models'
6
+ require_relative 'datadog_api_client/inflector'
7
+
8
+ loader = Zeitwerk::Loader.new
9
+ loader.tag = File.basename(__FILE__, ".rb")
10
+ loader.collapse("#{__dir__}/datadog_api_client/*/models/")
11
+ loader.collapse("#{__dir__}/datadog_api_client/*/api/")
12
+
13
+ {%- for version, apis in all_apis.items() %}
14
+ loader.push_dir("#{__dir__}/datadog_api_client/{{ version }}", namespace: DatadogAPIClient::{{ version|upper }})
15
+ {%- endfor %}
16
+ # Ignore model_base.rb from being loaded in by zeitwerk as it is loaded in by default
17
+ loader.ignore("#{__dir__}/datadog_api_client/*/model_base.rb")
18
+ loader.inflector = {{ module_name }}::{{ module_name }}Inflector.new
19
+ loader.setup
@@ -5,7 +5,7 @@ repos:
5
5
  name: Generate
6
6
  language: system
7
7
  entry: bash -c "./generate.sh"
8
- files: '^(\.generator/.*|\.pre-commit-config\.yaml|Makefile|\features/.*)'
8
+ files: '^(\.generator/.*|\.pre-commit-config\.yaml|Makefile|\features/.*|lib/.*)'
9
9
  pass_filenames: false
10
10
  - id: format-examples
11
11
  name: Format generated examples
data/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.18.0 / 2023-12-12
4
+
5
+ ### Fixed
6
+ * Fix Powerpack schema by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1613
7
+ ### Added
8
+ * Add support for projected-cost endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1598
9
+ * Document missing incident fields by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1617
10
+ * Add active billing dimensions to usage metering by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1637
11
+ * Add Cost Attribution To Usage Metering Public Beta Documentation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1622
12
+ * Update spec to include new DORA API endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1636
13
+ * Add support to patch Synthetics test with partial data using JSON Patch by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1630
14
+ * Document new api/app key schemas by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1616
15
+ * Document new field `filters` for `CloudWorkloadSecurityAgentRule` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1638
16
+ * Live and historical custom timeseries docs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1628
17
+ * Add week_to_date and month_to_date to widget livespan by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1631
18
+ * Document `included_keywords` in `ListStandardPatterns` response by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1641
19
+ * Document fields `remote_config_read_enabled` and `category` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1639
20
+ * Update Azure Spec to include Resource Collection by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1646
21
+ * Allow creation of Application Security detection rules from the v2 API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1648
22
+ * Add Okta Integration APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1629
23
+ * Remove unstable flag for Events v2 api by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1653
24
+
25
+
26
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.17.0...v2.18.0
27
+
3
28
  ## 2.17.0 / 2023-11-15
4
29
 
5
30
  ### Fixed
@@ -4,9 +4,9 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AWSAccount.new({
7
- account_id: "123456789012",
7
+ account_id: "163662907100",
8
8
  account_specific_namespace_rules: {
9
- auto_scaling: false, opswork: false,
9
+ auto_scaling: false,
10
10
  },
11
11
  cspm_resource_collection_enabled: true,
12
12
  excluded_regions: [
@@ -4,7 +4,7 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AWSAccountDeleteRequest.new({
7
- account_id: "123456789012",
7
+ account_id: "163662907100",
8
8
  role_name: "DatadogAWSIntegrationRole",
9
9
  })
10
10
  p api_instance.delete_aws_account(body)
@@ -4,11 +4,11 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AWSAccount.new({
7
- account_id: "123456789012",
7
+ account_id: "163662907100",
8
8
  account_specific_namespace_rules: {
9
9
  auto_scaling: false,
10
10
  },
11
- cspm_resource_collection_enabled: true,
11
+ cspm_resource_collection_enabled: false,
12
12
  excluded_regions: [
13
13
  "us-east-1",
14
14
  "us-west-2",
@@ -19,12 +19,12 @@ body = DatadogAPIClient::V1::AWSAccount.new({
19
19
  host_tags: [
20
20
  "$KEY:$VALUE",
21
21
  ],
22
- metrics_collection_enabled: false,
22
+ metrics_collection_enabled: true,
23
23
  resource_collection_enabled: true,
24
- role_name: "datadog-role",
24
+ role_name: "DatadogAWSIntegrationRole",
25
25
  })
26
26
  opts = {
27
- account_id: "123456789012",
28
- role_name: "datadog-role",
27
+ account_id: "163662907100",
28
+ role_name: "DatadogAWSIntegrationRole",
29
29
  }
30
30
  p api_instance.update_aws_account(body, opts)
@@ -17,6 +17,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
17
17
  host_filters: "key:value,filter:example",
18
18
  new_client_id: "new1c7f6-1234-5678-9101-3fcbf464test",
19
19
  new_tenant_name: "new1c44-1234-5678-9101-cc00736ftest",
20
+ resource_collection_enabled: true,
20
21
  tenant_name: "testc44-1234-5678-9101-cc00736ftest",
21
22
  })
22
23
  p api_instance.create_azure_integration(body)
@@ -17,6 +17,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
17
17
  host_filters: "key:value,filter:example",
18
18
  new_client_id: "new1c7f6-1234-5678-9101-3fcbf464test",
19
19
  new_tenant_name: "new1c44-1234-5678-9101-cc00736ftest",
20
+ resource_collection_enabled: true,
20
21
  tenant_name: "testc44-1234-5678-9101-cc00736ftest",
21
22
  })
22
23
  p api_instance.delete_azure_integration(body)
@@ -17,6 +17,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
17
17
  host_filters: "key:value,filter:example",
18
18
  new_client_id: "new1c7f6-1234-5678-9101-3fcbf464test",
19
19
  new_tenant_name: "new1c44-1234-5678-9101-cc00736ftest",
20
+ resource_collection_enabled: true,
20
21
  tenant_name: "testc44-1234-5678-9101-cc00736ftest",
21
22
  })
22
23
  p api_instance.update_azure_host_filters(body)
@@ -17,6 +17,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
17
17
  host_filters: "key:value,filter:example",
18
18
  new_client_id: "new1c7f6-1234-5678-9101-3fcbf464test",
19
19
  new_tenant_name: "new1c44-1234-5678-9101-cc00736ftest",
20
+ resource_collection_enabled: true,
20
21
  tenant_name: "testc44-1234-5678-9101-cc00736ftest",
21
22
  })
22
23
  p api_instance.update_azure_integration(body)
@@ -35,6 +35,9 @@ body = DatadogAPIClient::V1::Dashboard.new({
35
35
  display_type: DatadogAPIClient::V1::WidgetDisplayType::BARS,
36
36
  }),
37
37
  ],
38
+ time: DatadogAPIClient::V1::WidgetTime.new({
39
+ live_span: DatadogAPIClient::V1::WidgetLiveSpan::WEEK_TO_DATE,
40
+ }),
38
41
  }),
39
42
  }),
40
43
  ],
@@ -0,0 +1,22 @@
1
+ # Patch a Synthetic test returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::SyntheticsAPI.new
5
+
6
+ # there is a valid "synthetics_api_test" in the system
7
+ SYNTHETICS_API_TEST_PUBLIC_ID = ENV["SYNTHETICS_API_TEST_PUBLIC_ID"]
8
+
9
+ body = DatadogAPIClient::V1::SyntheticsPatchTestBody.new({
10
+ data: [
11
+ DatadogAPIClient::V1::SyntheticsPatchTestOperation.new({
12
+ op: DatadogAPIClient::V1::SyntheticsPatchTestOperationName::REPLACE,
13
+ path: "/name",
14
+ value: "New test name",
15
+ }),
16
+ DatadogAPIClient::V1::SyntheticsPatchTestOperation.new({
17
+ op: DatadogAPIClient::V1::SyntheticsPatchTestOperationName::REMOVE,
18
+ path: "/config/assertions/0",
19
+ }),
20
+ ],
21
+ })
22
+ p api_instance.patch_test(SYNTHETICS_API_TEST_PUBLIC_ID, body)
@@ -1,8 +1,5 @@
1
1
  # Get all Container Images returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_container_images".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::ContainerImagesAPI.new
8
5
  p api_instance.list_container_images()
@@ -1,9 +1,6 @@
1
1
  # Get all Container Images returns "OK" response with pagination
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_container_images".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::ContainerImagesAPI.new
8
5
  opts = {
9
6
  page_size: 2,
@@ -1,9 +1,6 @@
1
1
  # Get all Container Image groups returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_container_images".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::ContainerImagesAPI.new
8
5
  opts = {
9
6
  group_by: "short_image",
@@ -1,8 +1,5 @@
1
1
  # Get All Containers returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_containers".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::ContainersAPI.new
8
5
  p api_instance.list_containers()
@@ -1,9 +1,6 @@
1
1
  # Get All Container groups returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_containers".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::ContainersAPI.new
8
5
  opts = {
9
6
  group_by: "short_image",
@@ -1,9 +1,6 @@
1
1
  # Get All Containers returns "OK" response with pagination
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_containers".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::ContainersAPI.new
8
5
  opts = {
9
6
  page_size: 2,
@@ -0,0 +1,23 @@
1
+ # Send a deployment event for DORA Metrics returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_dora_deployment".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::DORAMetricsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::DORADeploymentRequest.new({
10
+ data: DatadogAPIClient::V2::DORADeploymentRequestData.new({
11
+ attributes: DatadogAPIClient::V2::DORADeploymentRequestAttributes.new({
12
+ finished_at: 1693491984000000000,
13
+ git: DatadogAPIClient::V2::DORAGitInfo.new({
14
+ commit_sha: "66adc9350f2cc9b250b69abddab733dd55e1a588",
15
+ repository_url: "https://github.com/organization/example-repository",
16
+ }),
17
+ service: "shopist",
18
+ started_at: 1693491974000000000,
19
+ version: "v1.12.07",
20
+ }),
21
+ }),
22
+ })
23
+ p api_instance.create_dora_deployment(body)
@@ -0,0 +1,25 @@
1
+ # Send an incident event for DORA Metrics returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_dora_incident".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::DORAMetricsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::DORAIncidentRequest.new({
10
+ data: DatadogAPIClient::V2::DORAIncidentRequestData.new({
11
+ attributes: DatadogAPIClient::V2::DORAIncidentRequestAttributes.new({
12
+ finished_at: 1693491984000000000,
13
+ git: DatadogAPIClient::V2::DORAGitInfo.new({
14
+ commit_sha: "66adc9350f2cc9b250b69abddab733dd55e1a588",
15
+ repository_url: "https://github.com/organization/example-repository",
16
+ }),
17
+ name: "Webserver is down failing all requests",
18
+ service: "shopist",
19
+ severity: "High",
20
+ started_at: 1693491974000000000,
21
+ version: "v1.12.07",
22
+ }),
23
+ }),
24
+ })
25
+ p api_instance.create_dora_incident(body)
@@ -1,8 +1,5 @@
1
1
  # Get a list of events returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
  p api_instance.list_events()
@@ -1,9 +1,6 @@
1
1
  # Get a list of events returns "OK" response with pagination
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
  opts = {
9
6
  filter_from: "now-15m",
@@ -1,9 +1,6 @@
1
1
  # Get a quick list of events returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
  opts = {
9
6
  filter_query: "datadog-agent",
@@ -1,9 +1,6 @@
1
1
  # Search events returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.search_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::EventsListRequest.new({
@@ -1,9 +1,6 @@
1
1
  # Search events returns "OK" response with pagination
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.search_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::EventsListRequest.new({
@@ -0,0 +1,19 @@
1
+ # Add Okta account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+
6
+ body = DatadogAPIClient::V2::OktaAccountRequest.new({
7
+ data: DatadogAPIClient::V2::OktaAccount.new({
8
+ attributes: DatadogAPIClient::V2::OktaAccountAttributes.new({
9
+ auth_method: "oauth",
10
+ domain: "https://example.okta.com/",
11
+ name: "Okta_Prod",
12
+ client_id: "client_id",
13
+ client_secret: "client_secret",
14
+ }),
15
+ id: "f749daaf-682e-4208-a38d-c9b43162c609",
16
+ type: DatadogAPIClient::V2::OktaAccountType::OKTA_ACCOUNTS,
17
+ }),
18
+ })
19
+ p api_instance.create_okta_account(body)
@@ -0,0 +1,5 @@
1
+ # Delete Okta account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+ api_instance.delete_okta_account("account_id")
@@ -0,0 +1,8 @@
1
+ # Get Okta account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+
6
+ # there is a valid "okta_account" in the system
7
+ OKTA_ACCOUNT_DATA_ID = ENV["OKTA_ACCOUNT_DATA_ID"]
8
+ p api_instance.get_okta_account(OKTA_ACCOUNT_DATA_ID)
@@ -0,0 +1,5 @@
1
+ # List Okta accounts returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+ p api_instance.list_okta_accounts()
@@ -0,0 +1,20 @@
1
+ # Update Okta account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+
6
+ # there is a valid "okta_account" in the system
7
+ OKTA_ACCOUNT_DATA_ID = ENV["OKTA_ACCOUNT_DATA_ID"]
8
+
9
+ body = DatadogAPIClient::V2::OktaAccountUpdateRequest.new({
10
+ data: DatadogAPIClient::V2::OktaAccountUpdateRequestData.new({
11
+ attributes: DatadogAPIClient::V2::OktaAccountUpdateRequestAttributes.new({
12
+ auth_method: "oauth",
13
+ domain: "https://example.okta.com/",
14
+ client_id: "client_id",
15
+ client_secret: "client_secret",
16
+ }),
17
+ type: DatadogAPIClient::V2::OktaAccountType::OKTA_ACCOUNTS,
18
+ }),
19
+ })
20
+ p api_instance.update_okta_account(OKTA_ACCOUNT_DATA_ID, body)
@@ -0,0 +1,8 @@
1
+ # Get active billing dimensions for cost attribution returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.get_active_billing_dimensions".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
+ p api_instance.get_active_billing_dimensions()
@@ -0,0 +1,8 @@
1
+ # Get Monthly Cost Attribution returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.get_monthly_cost_attribution".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
+ p api_instance.get_monthly_cost_attribution((Time.now + -5 * 86400), (Time.now + -3 * 86400), "infra_host_total_cost")
@@ -0,0 +1,8 @@
1
+ # Get projected cost across your account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
+ opts = {
6
+ view: "sub-org",
7
+ }
8
+ p api_instance.get_projected_cost(opts)
@@ -190,10 +190,10 @@ module DatadogAPIClient
190
190
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
191
191
  @unstable_operations = {
192
192
  "v2.create_ci_app_pipeline_event": false,
193
- "v2.list_container_images": false,
194
- "v2.list_containers": false,
195
- "v2.list_events": false,
196
- "v2.search_events": false,
193
+ "v2.get_active_billing_dimensions": false,
194
+ "v2.get_monthly_cost_attribution": false,
195
+ "v2.create_dora_deployment": false,
196
+ "v2.create_dora_incident": false,
197
197
  "v2.create_incident": false,
198
198
  "v2.create_incident_integration": false,
199
199
  "v2.create_incident_todo": false,