Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
414 changes: 414 additions & 0 deletions .generator/schemas/v2/openapi.yaml

Large diffs are not rendered by default.

89 changes: 89 additions & 0 deletions examples/v2_status-pages_CreateBackfilledDegradation.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
// Create backfilled degradation returns "Created" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_status_pages::CreateBackfilledDegradationOptionalParams;
use datadog_api_client::datadogV2::api_status_pages::StatusPagesAPI;
use datadog_api_client::datadogV2::model::CreateBackfilledDegradationRequest;
use datadog_api_client::datadogV2::model::CreateBackfilledDegradationRequestData;
use datadog_api_client::datadogV2::model::CreateBackfilledDegradationRequestDataAttributes;
use datadog_api_client::datadogV2::model::CreateBackfilledDegradationRequestDataAttributesUpdatesItems;
use datadog_api_client::datadogV2::model::CreateDegradationRequestDataAttributesComponentsAffectedItems;
use datadog_api_client::datadogV2::model::CreateDegradationRequestDataAttributesStatus;
use datadog_api_client::datadogV2::model::PatchDegradationRequestDataType;
use datadog_api_client::datadogV2::model::StatusPagesComponentDataAttributesStatus;

#[tokio::main]
async fn main() {
// there is a valid "status_page" in the system
let status_page_data_attributes_components_0_components_0_id = uuid::Uuid::parse_str(
&std::env::var("STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID").unwrap(),
)
.expect("Invalid UUID");
let status_page_data_id = uuid::Uuid::parse_str(&std::env::var("STATUS_PAGE_DATA_ID").unwrap())
.expect("Invalid UUID");
let body = CreateBackfilledDegradationRequest::new().data(
CreateBackfilledDegradationRequestData::new(PatchDegradationRequestDataType::DEGRADATIONS)
.attributes(CreateBackfilledDegradationRequestDataAttributes::new(
"Past API Outage".to_string(),
vec![
CreateBackfilledDegradationRequestDataAttributesUpdatesItems::new(
DateTime::parse_from_rfc3339("2021-11-11T10:11:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
CreateDegradationRequestDataAttributesStatus::INVESTIGATING,
)
.components_affected(vec![
CreateDegradationRequestDataAttributesComponentsAffectedItems::new(
status_page_data_attributes_components_0_components_0_id.clone(),
StatusPagesComponentDataAttributesStatus::DEGRADED,
),
])
.description("We detected elevated error rates in the API.".to_string()),
CreateBackfilledDegradationRequestDataAttributesUpdatesItems::new(
DateTime::parse_from_rfc3339("2021-11-11T10:41:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
CreateDegradationRequestDataAttributesStatus::IDENTIFIED,
)
.components_affected(vec![
CreateDegradationRequestDataAttributesComponentsAffectedItems::new(
status_page_data_attributes_components_0_components_0_id.clone(),
StatusPagesComponentDataAttributesStatus::DEGRADED,
),
])
.description(
"Root cause identified as a misconfigured deployment.".to_string(),
),
CreateBackfilledDegradationRequestDataAttributesUpdatesItems::new(
DateTime::parse_from_rfc3339("2021-11-11T11:11:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
CreateDegradationRequestDataAttributesStatus::RESOLVED,
)
.components_affected(vec![
CreateDegradationRequestDataAttributesComponentsAffectedItems::new(
status_page_data_attributes_components_0_components_0_id.clone(),
StatusPagesComponentDataAttributesStatus::OPERATIONAL,
),
])
.description(
"The issue has been resolved and API is operating normally.".to_string(),
),
],
)),
);
let configuration = datadog::Configuration::new();
let api = StatusPagesAPI::with_config(configuration);
let resp = api
.create_backfilled_degradation(
status_page_data_id.clone(),
body,
CreateBackfilledDegradationOptionalParams::default(),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
77 changes: 77 additions & 0 deletions examples/v2_status-pages_CreateBackfilledMaintenance.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
// Create backfilled maintenance returns "Created" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_status_pages::CreateBackfilledMaintenanceOptionalParams;
use datadog_api_client::datadogV2::api_status_pages::StatusPagesAPI;
use datadog_api_client::datadogV2::model::CreateBackfilledMaintenanceRequest;
use datadog_api_client::datadogV2::model::CreateBackfilledMaintenanceRequestData;
use datadog_api_client::datadogV2::model::CreateBackfilledMaintenanceRequestDataAttributes;
use datadog_api_client::datadogV2::model::CreateBackfilledMaintenanceRequestDataAttributesUpdatesItems;
use datadog_api_client::datadogV2::model::CreateMaintenanceRequestDataAttributesComponentsAffectedItems;
use datadog_api_client::datadogV2::model::CreateMaintenanceRequestDataAttributesUpdatesItemsStatus;
use datadog_api_client::datadogV2::model::PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus;
use datadog_api_client::datadogV2::model::PatchMaintenanceRequestDataType;

#[tokio::main]
async fn main() {
// there is a valid "status_page" in the system
let status_page_data_attributes_components_0_components_0_id = uuid::Uuid::parse_str(
&std::env::var("STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID").unwrap(),
)
.expect("Invalid UUID");
let status_page_data_id = uuid::Uuid::parse_str(&std::env::var("STATUS_PAGE_DATA_ID").unwrap())
.expect("Invalid UUID");
let body =
CreateBackfilledMaintenanceRequest
::new().data(
CreateBackfilledMaintenanceRequestData::new(
PatchMaintenanceRequestDataType::MAINTENANCES,
).attributes(
CreateBackfilledMaintenanceRequestDataAttributes::new(
"Past Database Maintenance".to_string(),
vec![
CreateBackfilledMaintenanceRequestDataAttributesUpdatesItems::new(
vec![
CreateMaintenanceRequestDataAttributesComponentsAffectedItems::new(
status_page_data_attributes_components_0_components_0_id.clone(),
PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus::MAINTENANCE,
)
],
"Database maintenance is in progress.".to_string(),
DateTime::parse_from_rfc3339("2021-11-11T10:11:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
CreateMaintenanceRequestDataAttributesUpdatesItemsStatus::IN_PROGRESS,
),
CreateBackfilledMaintenanceRequestDataAttributesUpdatesItems::new(
vec![
CreateMaintenanceRequestDataAttributesComponentsAffectedItems::new(
status_page_data_attributes_components_0_components_0_id.clone(),
PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus::OPERATIONAL,
)
],
"Database maintenance has been completed successfully.".to_string(),
DateTime::parse_from_rfc3339("2021-11-11T11:11:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
CreateMaintenanceRequestDataAttributesUpdatesItemsStatus::COMPLETED,
)
],
),
),
);
let configuration = datadog::Configuration::new();
let api = StatusPagesAPI::with_config(configuration);
let resp = api
.create_backfilled_maintenance(
status_page_data_id.clone(),
body,
CreateBackfilledMaintenanceOptionalParams::default(),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Loading
Loading