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
1 change: 0 additions & 1 deletion .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48210,7 +48210,6 @@ components:
$ref: "#/components/schemas/IncidentUserDefinedRolePolicy"
required:
- name
- policy
type: object
IncidentUserDefinedRoleDataAttributesResponse:
description: Attributes of an incident user-defined role.
Expand Down
8 changes: 3 additions & 5 deletions examples/v2_incidents_CreateIncidentUserDefinedRole.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@ use uuid::Uuid;
#[tokio::main]
async fn main() {
let body = IncidentUserDefinedRoleRequest::new(IncidentUserDefinedRoleDataRequest::new(
IncidentUserDefinedRoleDataAttributesRequest::new(
"Tech Lead".to_string(),
IncidentUserDefinedRolePolicy::new(true),
)
.description(Some("The technical lead for the incident.".to_string())),
IncidentUserDefinedRoleDataAttributesRequest::new("Tech Lead".to_string())
.description(Some("The technical lead for the incident.".to_string()))
.policy(IncidentUserDefinedRolePolicy::new(true)),
IncidentUserDefinedRoleRelationshipsRequest::new(
IncidentUserDefinedRoleIncidentTypeRelationship::new(
IncidentUserDefinedRoleIncidentTypeRelationshipData::new(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pub struct IncidentUserDefinedRoleDataAttributesRequest {
pub name: String,
/// Policy configuration for a user-defined role.
#[serde(rename = "policy")]
pub policy: crate::datadogV2::model::IncidentUserDefinedRolePolicy,
pub policy: Option<crate::datadogV2::model::IncidentUserDefinedRolePolicy>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
#[serde(skip)]
Expand All @@ -32,14 +32,11 @@ pub struct IncidentUserDefinedRoleDataAttributesRequest {
}

impl IncidentUserDefinedRoleDataAttributesRequest {
pub fn new(
name: String,
policy: crate::datadogV2::model::IncidentUserDefinedRolePolicy,
) -> IncidentUserDefinedRoleDataAttributesRequest {
pub fn new(name: String) -> IncidentUserDefinedRoleDataAttributesRequest {
IncidentUserDefinedRoleDataAttributesRequest {
description: None,
name,
policy,
policy: None,
additional_properties: std::collections::BTreeMap::new(),
_unparsed: false,
}
Expand All @@ -50,6 +47,11 @@ impl IncidentUserDefinedRoleDataAttributesRequest {
self
}

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

pub fn additional_properties(
mut self,
value: std::collections::BTreeMap<String, serde_json::Value>,
Expand Down Expand Up @@ -96,6 +98,9 @@ impl<'de> Deserialize<'de> for IncidentUserDefinedRoleDataAttributesRequest {
name = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
}
"policy" => {
if v.is_null() {
continue;
}
policy = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
}
&_ => {
Expand All @@ -106,7 +111,6 @@ impl<'de> Deserialize<'de> for IncidentUserDefinedRoleDataAttributesRequest {
}
}
let name = name.ok_or_else(|| M::Error::missing_field("name"))?;
let policy = policy.ok_or_else(|| M::Error::missing_field("policy"))?;

let content = IncidentUserDefinedRoleDataAttributesRequest {
description,
Expand Down
Loading