v2_roles_CreateRole_3862893229/
v2_roles_CreateRole_3862893229.rs1use 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 permission_id = std::env::var("PERMISSION_ID").unwrap();
17 let body = RoleCreateRequest::new(
18 RoleCreateData::new(RoleCreateAttributes::new("Example-Role".to_string()))
19 .relationships(RoleRelationships::new().permissions(
20 RelationshipToPermissions::new().data(vec![
21 RelationshipToPermissionData::new()
22 .id(permission_id.clone())
23 .type_(PermissionsType::PERMISSIONS)
24 ]),
25 ))
26 .type_(RolesType::ROLES),
27 );
28 let configuration = datadog::Configuration::new();
29 let api = RolesAPI::with_config(configuration);
30 let resp = api.create_role(body).await;
31 if let Ok(value) = resp {
32 println!("{:#?}", value);
33 } else {
34 println!("{:#?}", resp.unwrap_err());
35 }
36}