v2_authn_mappings_CreateAuthNMapping/
v2_authn-mappings_CreateAuthNMapping.rs

1// Create 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::AuthNMappingCreateAttributes;
5use datadog_api_client::datadogV2::model::AuthNMappingCreateData;
6use datadog_api_client::datadogV2::model::AuthNMappingCreateRelationships;
7use datadog_api_client::datadogV2::model::AuthNMappingCreateRequest;
8use datadog_api_client::datadogV2::model::AuthNMappingRelationshipToRole;
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 "role" in the system
17    let role_data_id = std::env::var("ROLE_DATA_ID").unwrap();
18    let body = AuthNMappingCreateRequest::new(
19        AuthNMappingCreateData::new(AuthNMappingsType::AUTHN_MAPPINGS)
20            .attributes(
21                AuthNMappingCreateAttributes::new()
22                    .attribute_key("exampleauthnmapping".to_string())
23                    .attribute_value("Example-AuthN-Mapping".to_string()),
24            )
25            .relationships(
26                AuthNMappingCreateRelationships::AuthNMappingRelationshipToRole(Box::new(
27                    AuthNMappingRelationshipToRole::new(
28                        RelationshipToRole::new().data(
29                            RelationshipToRoleData::new()
30                                .id(role_data_id.clone())
31                                .type_(RolesType::ROLES),
32                        ),
33                    ),
34                )),
35            ),
36    );
37    let configuration = datadog::Configuration::new();
38    let api = AuthNMappingsAPI::with_config(configuration);
39    let resp = api.create_authn_mapping(body).await;
40    if let Ok(value) = resp {
41        println!("{:#?}", value);
42    } else {
43        println!("{:#?}", resp.unwrap_err());
44    }
45}