Skip to content

Commit b8c79ce

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add routes for managing On-Call user notification channels (#1078)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent e9d1e30 commit b8c79ce

File tree

38 files changed

+3672
-0
lines changed

38 files changed

+3672
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 428 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Create an On-Call notification channel for a user returns "Created" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_on_call::OnCallAPI;
4+
use datadog_api_client::datadogV2::model::CreateEmailNotificationChannelConfig;
5+
use datadog_api_client::datadogV2::model::CreateNotificationChannelAttributes;
6+
use datadog_api_client::datadogV2::model::CreateNotificationChannelConfig;
7+
use datadog_api_client::datadogV2::model::CreateNotificationChannelData;
8+
use datadog_api_client::datadogV2::model::CreateUserNotificationChannelRequest;
9+
use datadog_api_client::datadogV2::model::NotificationChannelEmailConfigType;
10+
use datadog_api_client::datadogV2::model::NotificationChannelEmailFormatType;
11+
use datadog_api_client::datadogV2::model::NotificationChannelType;
12+
13+
#[tokio::main]
14+
async fn main() {
15+
// there is a valid "user" in the system
16+
let user_data_id = std::env::var("USER_DATA_ID").unwrap();
17+
let body = CreateUserNotificationChannelRequest::new(
18+
CreateNotificationChannelData::new(NotificationChannelType::NOTIFICATION_CHANNELS)
19+
.attributes(CreateNotificationChannelAttributes::new().config(
20+
CreateNotificationChannelConfig::CreateEmailNotificationChannelConfig(Box::new(
21+
CreateEmailNotificationChannelConfig::new(
22+
"[email protected]".to_string(),
23+
vec![NotificationChannelEmailFormatType::HTML],
24+
NotificationChannelEmailConfigType::EMAIL,
25+
),
26+
)),
27+
)),
28+
);
29+
let configuration = datadog::Configuration::new();
30+
let api = OnCallAPI::with_config(configuration);
31+
let resp = api
32+
.create_user_notification_channel(user_data_id.clone(), body)
33+
.await;
34+
if let Ok(value) = resp {
35+
println!("{:#?}", value);
36+
} else {
37+
println!("{:#?}", resp.unwrap_err());
38+
}
39+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Delete an On-Call notification channel for a user returns "No Content" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_on_call::OnCallAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
// there is a valid "user" in the system
8+
let user_data_id = std::env::var("USER_DATA_ID").unwrap();
9+
10+
// there is a valid "oncall_email_notification_channel" in the system
11+
let oncall_email_notification_channel_data_id =
12+
std::env::var("ONCALL_EMAIL_NOTIFICATION_CHANNEL_DATA_ID").unwrap();
13+
let configuration = datadog::Configuration::new();
14+
let api = OnCallAPI::with_config(configuration);
15+
let resp = api
16+
.delete_user_notification_channel(
17+
user_data_id.clone(),
18+
oncall_email_notification_channel_data_id.clone(),
19+
)
20+
.await;
21+
if let Ok(value) = resp {
22+
println!("{:#?}", value);
23+
} else {
24+
println!("{:#?}", resp.unwrap_err());
25+
}
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Get an On-Call notification channel for a user returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_on_call::OnCallAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
// there is a valid "user" in the system
8+
let user_data_id = std::env::var("USER_DATA_ID").unwrap();
9+
10+
// there is a valid "oncall_email_notification_channel" in the system
11+
let oncall_email_notification_channel_data_id =
12+
std::env::var("ONCALL_EMAIL_NOTIFICATION_CHANNEL_DATA_ID").unwrap();
13+
let configuration = datadog::Configuration::new();
14+
let api = OnCallAPI::with_config(configuration);
15+
let resp = api
16+
.get_user_notification_channel(
17+
user_data_id.clone(),
18+
oncall_email_notification_channel_data_id.clone(),
19+
)
20+
.await;
21+
if let Ok(value) = resp {
22+
println!("{:#?}", value);
23+
} else {
24+
println!("{:#?}", resp.unwrap_err());
25+
}
26+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// List On-Call notification channels for a user returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_on_call::OnCallAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
// there is a valid "user" in the system
8+
let user_data_id = std::env::var("USER_DATA_ID").unwrap();
9+
let configuration = datadog::Configuration::new();
10+
let api = OnCallAPI::with_config(configuration);
11+
let resp = api
12+
.list_user_notification_channels(user_data_id.clone())
13+
.await;
14+
if let Ok(value) = resp {
15+
println!("{:#?}", value);
16+
} else {
17+
println!("{:#?}", resp.unwrap_err());
18+
}
19+
}

0 commit comments

Comments
 (0)