Skip to content
Open
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
533 changes: 360 additions & 173 deletions .generator/schemas/v2/openapi.yaml

Large diffs are not rendered by default.

52 changes: 32 additions & 20 deletions src/datadogV2/api/api_dora_metrics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -808,8 +808,10 @@ impl DORAMetricsAPI {
pub async fn get_dora_deployment(
&self,
deployment_id: String,
) -> Result<crate::datadogV2::model::DORAFetchResponse, datadog::Error<GetDORADeploymentError>>
{
) -> Result<
crate::datadogV2::model::DORADeploymentFetchResponse,
datadog::Error<GetDORADeploymentError>,
> {
match self.get_dora_deployment_with_http_info(deployment_id).await {
Ok(response_content) => {
if let Some(e) = response_content.entity {
Expand All @@ -829,7 +831,7 @@ impl DORAMetricsAPI {
&self,
deployment_id: String,
) -> Result<
datadog::ResponseContent<crate::datadogV2::model::DORAFetchResponse>,
datadog::ResponseContent<crate::datadogV2::model::DORADeploymentFetchResponse>,
datadog::Error<GetDORADeploymentError>,
> {
let local_configuration = &self.config;
Expand Down Expand Up @@ -887,8 +889,9 @@ impl DORAMetricsAPI {
log::debug!("response content: {}", local_content);

if !local_status.is_client_error() && !local_status.is_server_error() {
match serde_json::from_str::<crate::datadogV2::model::DORAFetchResponse>(&local_content)
{
match serde_json::from_str::<crate::datadogV2::model::DORADeploymentFetchResponse>(
&local_content,
) {
Ok(e) => {
return Ok(datadog::ResponseContent {
status: local_status,
Expand All @@ -914,8 +917,10 @@ impl DORAMetricsAPI {
pub async fn get_dora_failure(
&self,
failure_id: String,
) -> Result<crate::datadogV2::model::DORAFetchResponse, datadog::Error<GetDORAFailureError>>
{
) -> Result<
crate::datadogV2::model::DORAFailureFetchResponse,
datadog::Error<GetDORAFailureError>,
> {
match self.get_dora_failure_with_http_info(failure_id).await {
Ok(response_content) => {
if let Some(e) = response_content.entity {
Expand All @@ -935,7 +940,7 @@ impl DORAMetricsAPI {
&self,
failure_id: String,
) -> Result<
datadog::ResponseContent<crate::datadogV2::model::DORAFetchResponse>,
datadog::ResponseContent<crate::datadogV2::model::DORAFailureFetchResponse>,
datadog::Error<GetDORAFailureError>,
> {
let local_configuration = &self.config;
Expand Down Expand Up @@ -993,8 +998,9 @@ impl DORAMetricsAPI {
log::debug!("response content: {}", local_content);

if !local_status.is_client_error() && !local_status.is_server_error() {
match serde_json::from_str::<crate::datadogV2::model::DORAFetchResponse>(&local_content)
{
match serde_json::from_str::<crate::datadogV2::model::DORAFailureFetchResponse>(
&local_content,
) {
Ok(e) => {
return Ok(datadog::ResponseContent {
status: local_status,
Expand All @@ -1020,8 +1026,10 @@ impl DORAMetricsAPI {
pub async fn list_dora_deployments(
&self,
body: crate::datadogV2::model::DORAListDeploymentsRequest,
) -> Result<crate::datadogV2::model::DORAListResponse, datadog::Error<ListDORADeploymentsError>>
{
) -> Result<
crate::datadogV2::model::DORADeploymentsListResponse,
datadog::Error<ListDORADeploymentsError>,
> {
match self.list_dora_deployments_with_http_info(body).await {
Ok(response_content) => {
if let Some(e) = response_content.entity {
Expand All @@ -1041,7 +1049,7 @@ impl DORAMetricsAPI {
&self,
body: crate::datadogV2::model::DORAListDeploymentsRequest,
) -> Result<
datadog::ResponseContent<crate::datadogV2::model::DORAListResponse>,
datadog::ResponseContent<crate::datadogV2::model::DORADeploymentsListResponse>,
datadog::Error<ListDORADeploymentsError>,
> {
let local_configuration = &self.config;
Expand Down Expand Up @@ -1144,8 +1152,9 @@ impl DORAMetricsAPI {
log::debug!("response content: {}", local_content);

if !local_status.is_client_error() && !local_status.is_server_error() {
match serde_json::from_str::<crate::datadogV2::model::DORAListResponse>(&local_content)
{
match serde_json::from_str::<crate::datadogV2::model::DORADeploymentsListResponse>(
&local_content,
) {
Ok(e) => {
return Ok(datadog::ResponseContent {
status: local_status,
Expand All @@ -1171,8 +1180,10 @@ impl DORAMetricsAPI {
pub async fn list_dora_failures(
&self,
body: crate::datadogV2::model::DORAListFailuresRequest,
) -> Result<crate::datadogV2::model::DORAListResponse, datadog::Error<ListDORAFailuresError>>
{
) -> Result<
crate::datadogV2::model::DORAFailuresListResponse,
datadog::Error<ListDORAFailuresError>,
> {
match self.list_dora_failures_with_http_info(body).await {
Ok(response_content) => {
if let Some(e) = response_content.entity {
Expand All @@ -1192,7 +1203,7 @@ impl DORAMetricsAPI {
&self,
body: crate::datadogV2::model::DORAListFailuresRequest,
) -> Result<
datadog::ResponseContent<crate::datadogV2::model::DORAListResponse>,
datadog::ResponseContent<crate::datadogV2::model::DORAFailuresListResponse>,
datadog::Error<ListDORAFailuresError>,
> {
let local_configuration = &self.config;
Expand Down Expand Up @@ -1295,8 +1306,9 @@ impl DORAMetricsAPI {
log::debug!("response content: {}", local_content);

if !local_status.is_client_error() && !local_status.is_server_error() {
match serde_json::from_str::<crate::datadogV2::model::DORAListResponse>(&local_content)
{
match serde_json::from_str::<crate::datadogV2::model::DORAFailuresListResponse>(
&local_content,
) {
Ok(e) => {
return Ok(datadog::ResponseContent {
status: local_status,
Expand Down
36 changes: 30 additions & 6 deletions src/datadogV2/model/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2306,12 +2306,14 @@ pub mod model_dora_list_deployments_request_attributes;
pub use self::model_dora_list_deployments_request_attributes::DORAListDeploymentsRequestAttributes;
pub mod model_dora_list_deployments_request_data_type;
pub use self::model_dora_list_deployments_request_data_type::DORAListDeploymentsRequestDataType;
pub mod model_dora_list_response;
pub use self::model_dora_list_response::DORAListResponse;
pub mod model_dora_event;
pub use self::model_dora_event::DORAEvent;
pub mod model_dora_fetch_response;
pub use self::model_dora_fetch_response::DORAFetchResponse;
pub mod model_dora_deployments_list_response;
pub use self::model_dora_deployments_list_response::DORADeploymentsListResponse;
pub mod model_dora_deployment_object;
pub use self::model_dora_deployment_object::DORADeploymentObject;
pub mod model_dora_deployment_object_attributes;
pub use self::model_dora_deployment_object_attributes::DORADeploymentObjectAttributes;
pub mod model_dora_deployment_fetch_response;
pub use self::model_dora_deployment_fetch_response::DORADeploymentFetchResponse;
pub mod model_dora_failure_request;
pub use self::model_dora_failure_request::DORAFailureRequest;
pub mod model_dora_failure_request_data;
Expand All @@ -2332,6 +2334,14 @@ pub mod model_dora_list_failures_request_attributes;
pub use self::model_dora_list_failures_request_attributes::DORAListFailuresRequestAttributes;
pub mod model_dora_list_failures_request_data_type;
pub use self::model_dora_list_failures_request_data_type::DORAListFailuresRequestDataType;
pub mod model_dora_failures_list_response;
pub use self::model_dora_failures_list_response::DORAFailuresListResponse;
pub mod model_dora_incident_object;
pub use self::model_dora_incident_object::DORAIncidentObject;
pub mod model_dora_incident_object_attributes;
pub use self::model_dora_incident_object_attributes::DORAIncidentObjectAttributes;
pub mod model_dora_failure_fetch_response;
pub use self::model_dora_failure_fetch_response::DORAFailureFetchResponse;
pub mod model_list_downtimes_response;
pub use self::model_list_downtimes_response::ListDowntimesResponse;
pub mod model_downtime_response_data;
Expand Down Expand Up @@ -5014,6 +5024,20 @@ pub mod model_observability_pipeline_config;
pub use self::model_observability_pipeline_config::ObservabilityPipelineConfig;
pub mod model_observability_pipeline_datadog_logs_destination;
pub use self::model_observability_pipeline_datadog_logs_destination::ObservabilityPipelineDatadogLogsDestination;
pub mod model_observability_pipeline_disk_buffer_options;
pub use self::model_observability_pipeline_disk_buffer_options::ObservabilityPipelineDiskBufferOptions;
pub mod model_observability_pipeline_buffer_options_disk_type;
pub use self::model_observability_pipeline_buffer_options_disk_type::ObservabilityPipelineBufferOptionsDiskType;
pub mod model_observability_pipeline_buffer_options_when_full;
pub use self::model_observability_pipeline_buffer_options_when_full::ObservabilityPipelineBufferOptionsWhenFull;
pub mod model_observability_pipeline_memory_buffer_options;
pub use self::model_observability_pipeline_memory_buffer_options::ObservabilityPipelineMemoryBufferOptions;
pub mod model_observability_pipeline_buffer_options_memory_type;
pub use self::model_observability_pipeline_buffer_options_memory_type::ObservabilityPipelineBufferOptionsMemoryType;
pub mod model_observability_pipeline_memory_buffer_size_options;
pub use self::model_observability_pipeline_memory_buffer_size_options::ObservabilityPipelineMemoryBufferSizeOptions;
pub mod model_observability_pipeline_buffer_options;
pub use self::model_observability_pipeline_buffer_options::ObservabilityPipelineBufferOptions;
pub mod model_observability_pipeline_datadog_logs_destination_type;
pub use self::model_observability_pipeline_datadog_logs_destination_type::ObservabilityPipelineDatadogLogsDestinationType;
pub mod model_observability_pipeline_amazon_s3_destination;
Expand Down
30 changes: 30 additions & 0 deletions src/datadogV2/model/model_azure_storage_destination.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ pub struct AzureStorageDestination {
/// Optional prefix for blobs written to the container.
#[serde(rename = "blob_prefix")]
pub blob_prefix: Option<String>,
/// Configuration for buffer settings on destination components.
#[serde(rename = "buffer")]
pub buffer: Option<crate::datadogV2::model::ObservabilityPipelineBufferOptions>,
/// The name of the Azure Blob Storage container to store logs in.
#[serde(rename = "container_name")]
pub container_name: String,
Expand Down Expand Up @@ -42,6 +45,7 @@ impl AzureStorageDestination {
) -> AzureStorageDestination {
AzureStorageDestination {
blob_prefix: None,
buffer: None,
container_name,
id,
inputs,
Expand All @@ -56,6 +60,14 @@ impl AzureStorageDestination {
self
}

pub fn buffer(
mut self,
value: crate::datadogV2::model::ObservabilityPipelineBufferOptions,
) -> Self {
self.buffer = Some(value);
self
}

pub fn additional_properties(
mut self,
value: std::collections::BTreeMap<String, serde_json::Value>,
Expand Down Expand Up @@ -83,6 +95,9 @@ impl<'de> Deserialize<'de> for AzureStorageDestination {
M: MapAccess<'a>,
{
let mut blob_prefix: Option<String> = None;
let mut buffer: Option<
crate::datadogV2::model::ObservabilityPipelineBufferOptions,
> = None;
let mut container_name: Option<String> = None;
let mut id: Option<String> = None;
let mut inputs: Option<Vec<String>> = None;
Expand All @@ -102,6 +117,20 @@ impl<'de> Deserialize<'de> for AzureStorageDestination {
blob_prefix =
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
}
"buffer" => {
if v.is_null() {
continue;
}
buffer = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
if let Some(ref _buffer) = buffer {
match _buffer {
crate::datadogV2::model::ObservabilityPipelineBufferOptions::UnparsedObject(_buffer) => {
_unparsed = true;
},
_ => {}
}
}
}
"container_name" => {
container_name =
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
Expand Down Expand Up @@ -138,6 +167,7 @@ impl<'de> Deserialize<'de> for AzureStorageDestination {

let content = AzureStorageDestination {
blob_prefix,
buffer,
container_name,
id,
inputs,
Expand Down
105 changes: 105 additions & 0 deletions src/datadogV2/model/model_dora_deployment_fetch_response.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
// This product includes software developed at Datadog (https://www.datadoghq.com/).
// Copyright 2019-Present Datadog, Inc.
use serde::de::{Error, MapAccess, Visitor};
use serde::{Deserialize, Deserializer, Serialize};
use serde_with::skip_serializing_none;
use std::fmt::{self, Formatter};

/// Response for fetching a single deployment event.
#[non_exhaustive]
#[skip_serializing_none]
#[derive(Clone, Debug, PartialEq, Serialize)]
pub struct DORADeploymentFetchResponse {
/// A DORA deployment event.
#[serde(rename = "data")]
pub data: Option<crate::datadogV2::model::DORADeploymentObject>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
#[serde(skip)]
#[serde(default)]
pub(crate) _unparsed: bool,
}

impl DORADeploymentFetchResponse {
pub fn new() -> DORADeploymentFetchResponse {
DORADeploymentFetchResponse {
data: None,
additional_properties: std::collections::BTreeMap::new(),
_unparsed: false,
}
}

pub fn data(mut self, value: crate::datadogV2::model::DORADeploymentObject) -> Self {
self.data = Some(value);
self
}

pub fn additional_properties(
mut self,
value: std::collections::BTreeMap<String, serde_json::Value>,
) -> Self {
self.additional_properties = value;
self
}
}

impl Default for DORADeploymentFetchResponse {
fn default() -> Self {
Self::new()
}
}

impl<'de> Deserialize<'de> for DORADeploymentFetchResponse {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
struct DORADeploymentFetchResponseVisitor;
impl<'a> Visitor<'a> for DORADeploymentFetchResponseVisitor {
type Value = DORADeploymentFetchResponse;

fn expecting(&self, f: &mut Formatter<'_>) -> fmt::Result {
f.write_str("a mapping")
}

fn visit_map<M>(self, mut map: M) -> Result<Self::Value, M::Error>
where
M: MapAccess<'a>,
{
let mut data: Option<crate::datadogV2::model::DORADeploymentObject> = None;
let mut additional_properties: std::collections::BTreeMap<
String,
serde_json::Value,
> = std::collections::BTreeMap::new();
let mut _unparsed = false;

while let Some((k, v)) = map.next_entry::<String, serde_json::Value>()? {
match k.as_str() {
"data" => {
if v.is_null() {
continue;
}
data = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
}
&_ => {
if let Ok(value) = serde_json::from_value(v.clone()) {
additional_properties.insert(k, value);
}
}
}
}

let content = DORADeploymentFetchResponse {
data,
additional_properties,
_unparsed,
};

Ok(content)
}
}

deserializer.deserialize_any(DORADeploymentFetchResponseVisitor)
}
}
Loading