v2_roles_CreateRole/
v2_roles_CreateRole.rs

1// Create role returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_roles::RolesAPI;
4use datadog_api_client::datadogV2::model::PermissionsType;
5use datadog_api_client::datadogV2::model::RelationshipToPermissionData;
6use datadog_api_client::datadogV2::model::RelationshipToPermissions;
7use datadog_api_client::datadogV2::model::RoleCreateAttributes;
8use datadog_api_client::datadogV2::model::RoleCreateData;
9use datadog_api_client::datadogV2::model::RoleCreateRequest;
10use datadog_api_client::datadogV2::model::RoleRelationships;
11use datadog_api_client::datadogV2::model::RolesType;
12
13#[tokio::main]
14async fn main() {
15    let body = RoleCreateRequest::new(
16        RoleCreateData::new(RoleCreateAttributes::new("developers".to_string()))
17            .relationships(RoleRelationships::new().permissions(
18                RelationshipToPermissions::new().data(vec![
19                    RelationshipToPermissionData::new().type_(PermissionsType::PERMISSIONS),
20                ]),
21            ))
22            .type_(RolesType::ROLES),
23    );
24    let configuration = datadog::Configuration::new();
25    let api = RolesAPI::with_config(configuration);
26    let resp = api.create_role(body).await;
27    if let Ok(value) = resp {
28        println!("{:#?}", value);
29    } else {
30        println!("{:#?}", resp.unwrap_err());
31    }
32}