Skip to content

Commit 1c8912c

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 42bc5b6 of spec repo
1 parent 378f2be commit 1c8912c

63 files changed

Lines changed: 8267 additions & 18 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.generator/schemas/v2/openapi.yaml

Lines changed: 1270 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
// Create targeting rules for a flag env returns "Created" response
2+
use chrono::{DateTime, Utc};
3+
use datadog_api_client::datadog;
4+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
5+
use datadog_api_client::datadogV2::model::AllocationDataRequest;
6+
use datadog_api_client::datadogV2::model::AllocationDataType;
7+
use datadog_api_client::datadogV2::model::AllocationType;
8+
use datadog_api_client::datadogV2::model::ConditionOperator;
9+
use datadog_api_client::datadogV2::model::ConditionRequest;
10+
use datadog_api_client::datadogV2::model::CreateAllocationsRequest;
11+
use datadog_api_client::datadogV2::model::ExposureRolloutStepRequest;
12+
use datadog_api_client::datadogV2::model::ExposureScheduleRequest;
13+
use datadog_api_client::datadogV2::model::GuardrailMetricRequest;
14+
use datadog_api_client::datadogV2::model::GuardrailTriggerAction;
15+
use datadog_api_client::datadogV2::model::RolloutOptionsRequest;
16+
use datadog_api_client::datadogV2::model::RolloutStrategy;
17+
use datadog_api_client::datadogV2::model::TargetingRuleRequest;
18+
use datadog_api_client::datadogV2::model::UpsertAllocationRequest;
19+
use datadog_api_client::datadogV2::model::VariantWeightRequest;
20+
use uuid::Uuid;
21+
22+
#[tokio::main]
23+
async fn main() {
24+
let body = CreateAllocationsRequest::new(AllocationDataRequest::new(
25+
UpsertAllocationRequest::new(
26+
"prod-rollout".to_string(),
27+
"Production Rollout".to_string(),
28+
AllocationType::FEATURE_GATE,
29+
)
30+
.experiment_id(Some(
31+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440030").expect("invalid UUID"),
32+
))
33+
.exposure_schedule(
34+
ExposureScheduleRequest::new(
35+
RolloutOptionsRequest::new(RolloutStrategy::UNIFORM_INTERVALS)
36+
.autostart(Some(false))
37+
.selection_interval_ms(3600000),
38+
vec![ExposureRolloutStepRequest::new(0.5, 1, false)
39+
.id(Uuid::parse_str("550e8400-e29b-41d4-a716-446655440040")
40+
.expect("invalid UUID"))
41+
.interval_ms(Some(3600000))],
42+
)
43+
.absolute_start_time(Some(
44+
DateTime::parse_from_rfc3339("2025-06-13T12:00:00+00:00")
45+
.expect("Failed to parse datetime")
46+
.with_timezone(&Utc),
47+
))
48+
.control_variant_id(Some(
49+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440012").expect("invalid UUID"),
50+
))
51+
.control_variant_key(Some("control".to_string()))
52+
.id(Uuid::parse_str("550e8400-e29b-41d4-a716-446655440010").expect("invalid UUID")),
53+
)
54+
.guardrail_metrics(vec![GuardrailMetricRequest::new(
55+
"metric-error-rate".to_string(),
56+
GuardrailTriggerAction::PAUSE,
57+
)])
58+
.id(Uuid::parse_str("550e8400-e29b-41d4-a716-446655440020").expect("invalid UUID"))
59+
.targeting_rules(vec![TargetingRuleRequest::new(vec![
60+
ConditionRequest::new(
61+
"user_tier".to_string(),
62+
ConditionOperator::ONE_OF,
63+
vec!["premium".to_string(), "enterprise".to_string()],
64+
),
65+
])])
66+
.variant_weights(vec![VariantWeightRequest::new(50.0)
67+
.variant_id(
68+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440001").expect("invalid UUID"),
69+
)
70+
.variant_key("control".to_string())]),
71+
AllocationDataType::ALLOCATIONS,
72+
));
73+
let configuration = datadog::Configuration::new();
74+
let api = FeatureFlagsAPI::with_config(configuration);
75+
let resp = api
76+
.create_allocations_for_feature_flag_in_environment(
77+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440000").expect("invalid UUID"),
78+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440001").expect("invalid UUID"),
79+
body,
80+
)
81+
.await;
82+
if let Ok(value) = resp {
83+
println!("{:#?}", value);
84+
} else {
85+
println!("{:#?}", resp.unwrap_err());
86+
}
87+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// Create allocation for a flag in an environment returns "Created" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
4+
use datadog_api_client::datadogV2::model::AllocationDataRequest;
5+
use datadog_api_client::datadogV2::model::AllocationDataType;
6+
use datadog_api_client::datadogV2::model::AllocationType;
7+
use datadog_api_client::datadogV2::model::CreateAllocationsRequest;
8+
use datadog_api_client::datadogV2::model::UpsertAllocationRequest;
9+
use datadog_api_client::datadogV2::model::VariantWeightRequest;
10+
11+
#[tokio::main]
12+
async fn main() {
13+
// there is a valid "feature_flag" in the system
14+
let feature_flag_data_attributes_variants_0_id = uuid::Uuid::parse_str(
15+
&std::env::var("FEATURE_FLAG_DATA_ATTRIBUTES_VARIANTS_0_ID").unwrap(),
16+
)
17+
.expect("Invalid UUID");
18+
let feature_flag_data_id =
19+
uuid::Uuid::parse_str(&std::env::var("FEATURE_FLAG_DATA_ID").unwrap())
20+
.expect("Invalid UUID");
21+
22+
// there is a valid "environment" in the system
23+
let environment_data_id = uuid::Uuid::parse_str(&std::env::var("ENVIRONMENT_DATA_ID").unwrap())
24+
.expect("Invalid UUID");
25+
let body = CreateAllocationsRequest::new(AllocationDataRequest::new(
26+
UpsertAllocationRequest::new(
27+
"new-targeting-rule-example-feature-flag".to_string(),
28+
"New targeting rule Example-Feature-Flag".to_string(),
29+
AllocationType::CANARY,
30+
)
31+
.guardrail_metrics(vec![])
32+
.targeting_rules(vec![])
33+
.variant_weights(vec![VariantWeightRequest::new(100.0)
34+
.variant_id(feature_flag_data_attributes_variants_0_id.clone())]),
35+
AllocationDataType::ALLOCATIONS,
36+
));
37+
let configuration = datadog::Configuration::new();
38+
let api = FeatureFlagsAPI::with_config(configuration);
39+
let resp = api
40+
.create_allocations_for_feature_flag_in_environment(
41+
feature_flag_data_id.clone(),
42+
environment_data_id.clone(),
43+
body,
44+
)
45+
.await;
46+
if let Ok(value) = resp {
47+
println!("{:#?}", value);
48+
} else {
49+
println!("{:#?}", resp.unwrap_err());
50+
}
51+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Pause a progressive rollout returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
4+
use uuid::Uuid;
5+
6+
#[tokio::main]
7+
async fn main() {
8+
let configuration = datadog::Configuration::new();
9+
let api = FeatureFlagsAPI::with_config(configuration);
10+
let resp = api
11+
.pause_exposure_schedule(
12+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440010").expect("invalid UUID"),
13+
)
14+
.await;
15+
if let Ok(value) = resp {
16+
println!("{:#?}", value);
17+
} else {
18+
println!("{:#?}", resp.unwrap_err());
19+
}
20+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Pause an exposure schedule returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
// there is a valid "exposure_schedule" in the system
8+
let exposure_schedule_id =
9+
uuid::Uuid::parse_str(&std::env::var("EXPOSURE_SCHEDULE_ID").unwrap())
10+
.expect("Invalid UUID");
11+
let configuration = datadog::Configuration::new();
12+
let api = FeatureFlagsAPI::with_config(configuration);
13+
let resp = api
14+
.pause_exposure_schedule(exposure_schedule_id.clone())
15+
.await;
16+
if let Ok(value) = resp {
17+
println!("{:#?}", value);
18+
} else {
19+
println!("{:#?}", resp.unwrap_err());
20+
}
21+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Resume a progressive rollout returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
4+
use uuid::Uuid;
5+
6+
#[tokio::main]
7+
async fn main() {
8+
let configuration = datadog::Configuration::new();
9+
let api = FeatureFlagsAPI::with_config(configuration);
10+
let resp = api
11+
.resume_exposure_schedule(
12+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440010").expect("invalid UUID"),
13+
)
14+
.await;
15+
if let Ok(value) = resp {
16+
println!("{:#?}", value);
17+
} else {
18+
println!("{:#?}", resp.unwrap_err());
19+
}
20+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Start a progressive rollout returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
4+
use uuid::Uuid;
5+
6+
#[tokio::main]
7+
async fn main() {
8+
let configuration = datadog::Configuration::new();
9+
let api = FeatureFlagsAPI::with_config(configuration);
10+
let resp = api
11+
.start_exposure_schedule(
12+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440010").expect("invalid UUID"),
13+
)
14+
.await;
15+
if let Ok(value) = resp {
16+
println!("{:#?}", value);
17+
} else {
18+
println!("{:#?}", resp.unwrap_err());
19+
}
20+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Start an exposure schedule returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
// there is a valid "exposure_schedule" in the system
8+
let exposure_schedule_id =
9+
uuid::Uuid::parse_str(&std::env::var("EXPOSURE_SCHEDULE_ID").unwrap())
10+
.expect("Invalid UUID");
11+
let configuration = datadog::Configuration::new();
12+
let api = FeatureFlagsAPI::with_config(configuration);
13+
let resp = api
14+
.start_exposure_schedule(exposure_schedule_id.clone())
15+
.await;
16+
if let Ok(value) = resp {
17+
println!("{:#?}", value);
18+
} else {
19+
println!("{:#?}", resp.unwrap_err());
20+
}
21+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Stop a progressive rollout returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
4+
use uuid::Uuid;
5+
6+
#[tokio::main]
7+
async fn main() {
8+
let configuration = datadog::Configuration::new();
9+
let api = FeatureFlagsAPI::with_config(configuration);
10+
let resp = api
11+
.stop_exposure_schedule(
12+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440010").expect("invalid UUID"),
13+
)
14+
.await;
15+
if let Ok(value) = resp {
16+
println!("{:#?}", value);
17+
} else {
18+
println!("{:#?}", resp.unwrap_err());
19+
}
20+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Stop an exposure schedule returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
// there is a valid "exposure_schedule" in the system
8+
let exposure_schedule_id =
9+
uuid::Uuid::parse_str(&std::env::var("EXPOSURE_SCHEDULE_ID").unwrap())
10+
.expect("Invalid UUID");
11+
let configuration = datadog::Configuration::new();
12+
let api = FeatureFlagsAPI::with_config(configuration);
13+
let resp = api
14+
.stop_exposure_schedule(exposure_schedule_id.clone())
15+
.await;
16+
if let Ok(value) = resp {
17+
println!("{:#?}", value);
18+
} else {
19+
println!("{:#?}", resp.unwrap_err());
20+
}
21+
}

0 commit comments

Comments
 (0)