v2_authn_mappings_UpdateAuthNMapping/
v2_authn-mappings_UpdateAuthNMapping.rs

1// Edit an AuthN Mapping returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_authn_mappings::AuthNMappingsAPI;
4use datadog_api_client::datadogV2::model::AuthNMappingRelationshipToRole;
5use datadog_api_client::datadogV2::model::AuthNMappingUpdateAttributes;
6use datadog_api_client::datadogV2::model::AuthNMappingUpdateData;
7use datadog_api_client::datadogV2::model::AuthNMappingUpdateRelationships;
8use datadog_api_client::datadogV2::model::AuthNMappingUpdateRequest;
9use datadog_api_client::datadogV2::model::AuthNMappingsType;
10use datadog_api_client::datadogV2::model::RelationshipToRole;
11use datadog_api_client::datadogV2::model::RelationshipToRoleData;
12use datadog_api_client::datadogV2::model::RolesType;
13
14#[tokio::main]
15async fn main() {
16    // there is a valid "authn_mapping" in the system
17    let authn_mapping_data_id = std::env::var("AUTHN_MAPPING_DATA_ID").unwrap();
18
19    // there is a valid "role" in the system
20    let role_data_id = std::env::var("ROLE_DATA_ID").unwrap();
21    let body = AuthNMappingUpdateRequest::new(
22        AuthNMappingUpdateData::new(
23            authn_mapping_data_id.clone(),
24            AuthNMappingsType::AUTHN_MAPPINGS,
25        )
26        .attributes(
27            AuthNMappingUpdateAttributes::new()
28                .attribute_key("member-of".to_string())
29                .attribute_value("Development".to_string()),
30        )
31        .relationships(
32            AuthNMappingUpdateRelationships::AuthNMappingRelationshipToRole(Box::new(
33                AuthNMappingRelationshipToRole::new(
34                    RelationshipToRole::new().data(
35                        RelationshipToRoleData::new()
36                            .id(role_data_id.clone())
37                            .type_(RolesType::ROLES),
38                    ),
39                ),
40            )),
41        ),
42    );
43    let configuration = datadog::Configuration::new();
44    let api = AuthNMappingsAPI::with_config(configuration);
45    let resp = api
46        .update_authn_mapping(authn_mapping_data_id.clone(), body)
47        .await;
48    if let Ok(value) = resp {
49        println!("{:#?}", value);
50    } else {
51        println!("{:#?}", resp.unwrap_err());
52    }
53}