Skip to content

Commit 6d998d7

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 06ae2bd of spec repo
1 parent 378f2be commit 6d998d7

63 files changed

Lines changed: 8213 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: 1224 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
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("550e8400-e29b-41d4-a716-446655440030".to_string()))
31+
.exposure_schedule(
32+
ExposureScheduleRequest::new(
33+
RolloutOptionsRequest::new(RolloutStrategy::UNIFORM_INTERVALS)
34+
.autostart(Some(false))
35+
.selection_interval_ms(3600000),
36+
vec![ExposureRolloutStepRequest::new(0.5, 1, false)
37+
.id(Uuid::parse_str("550e8400-e29b-41d4-a716-446655440040")
38+
.expect("invalid UUID"))
39+
.interval_ms(Some(3600000))],
40+
)
41+
.absolute_start_time(Some(
42+
DateTime::parse_from_rfc3339("2025-06-13T12:00:00+00:00")
43+
.expect("Failed to parse datetime")
44+
.with_timezone(&Utc),
45+
))
46+
.control_variant_id(Some("550e8400-e29b-41d4-a716-446655440012".to_string()))
47+
.control_variant_key(Some("control".to_string()))
48+
.id(Uuid::parse_str("550e8400-e29b-41d4-a716-446655440010").expect("invalid UUID")),
49+
)
50+
.guardrail_metrics(vec![GuardrailMetricRequest::new(
51+
"metric-error-rate".to_string(),
52+
GuardrailTriggerAction::PAUSE,
53+
)])
54+
.id(Uuid::parse_str("550e8400-e29b-41d4-a716-446655440020").expect("invalid UUID"))
55+
.targeting_rules(vec![TargetingRuleRequest::new(vec![
56+
ConditionRequest::new(
57+
"user_tier".to_string(),
58+
ConditionOperator::ONE_OF,
59+
vec!["premium".to_string(), "enterprise".to_string()],
60+
),
61+
])])
62+
.variant_weights(vec![VariantWeightRequest::new(50.0)
63+
.variant_id(
64+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440001").expect("invalid UUID"),
65+
)
66+
.variant_key("control".to_string())]),
67+
AllocationDataType::ALLOCATIONS,
68+
));
69+
let configuration = datadog::Configuration::new();
70+
let api = FeatureFlagsAPI::with_config(configuration);
71+
let resp = api
72+
.create_allocations_for_feature_flag_in_environment(
73+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440000").expect("invalid UUID"),
74+
Uuid::parse_str("550e8400-e29b-41d4-a716-446655440001").expect("invalid UUID"),
75+
body,
76+
)
77+
.await;
78+
if let Ok(value) = resp {
79+
println!("{:#?}", value);
80+
} else {
81+
println!("{:#?}", resp.unwrap_err());
82+
}
83+
}
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)