Skip to content

Commit 1988408

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
[SEC-31733] Type entity context sync secrets per integration type (#1833)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 9dcd22a commit 1988408

38 files changed

Lines changed: 3995 additions & 576 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 466 additions & 61 deletions
Large diffs are not rendered by default.

examples/v2_security-monitoring_CreateSecurityMonitoringIntegrationConfig.rs

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,45 @@
11
// Create an entity context sync configuration returns "OK" response
22
use datadog_api_client::datadog;
33
use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
4+
use datadog_api_client::datadogV2::model::SecurityMonitoringGoogleWorkspaceIntegrationConfigCreateAttributes;
45
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigCreateAttributes;
56
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigCreateData;
67
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigCreateRequest;
8+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets;
9+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount;
710
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigResourceType;
8-
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationType;
11+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationTypeGoogleWorkspace;
912
use serde_json::Value;
1013
use std::collections::BTreeMap;
1114

1215
#[tokio::main]
1316
async fn main() {
14-
let body = SecurityMonitoringIntegrationConfigCreateRequest::new(
15-
SecurityMonitoringIntegrationConfigCreateData::new(
16-
SecurityMonitoringIntegrationConfigCreateAttributes::new(
17-
"siem-test.com".to_string(),
18-
SecurityMonitoringIntegrationType::GOOGLE_WORKSPACE,
19-
"My GWS Integration".to_string(),
20-
)
21-
.secrets(BTreeMap::from([(
22-
"admin_email".to_string(),
23-
Value::from("test@example.com"),
24-
)]))
25-
.settings(BTreeMap::from([(
26-
"setting1".to_string(),
27-
Value::from("value1"),
28-
)])),
29-
SecurityMonitoringIntegrationConfigResourceType::INTEGRATION_CONFIG,
30-
),
31-
);
17+
let body =
18+
SecurityMonitoringIntegrationConfigCreateRequest::new(
19+
SecurityMonitoringIntegrationConfigCreateData::new(
20+
SecurityMonitoringIntegrationConfigCreateAttributes
21+
::SecurityMonitoringGoogleWorkspaceIntegrationConfigCreateAttributes(
22+
Box::new(
23+
SecurityMonitoringGoogleWorkspaceIntegrationConfigCreateAttributes::new(
24+
"siem-test.com".to_string(),
25+
SecurityMonitoringIntegrationTypeGoogleWorkspace::GOOGLE_WORKSPACE,
26+
"My GWS Integration".to_string(),
27+
SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets::new(
28+
SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount::new(
29+
"svc@my-project.iam.gserviceaccount.com".to_string(),
30+
r#"-----BEGIN PRIVATE KEY-----
31+
...
32+
-----END PRIVATE KEY-----"#.to_string(),
33+
"my-project".to_string(),
34+
"service_account".to_string(),
35+
),
36+
).admin_email("admin@example.com".to_string()),
37+
).settings(BTreeMap::from([("setting1".to_string(), Value::from("value1"))])),
38+
),
39+
),
40+
SecurityMonitoringIntegrationConfigResourceType::INTEGRATION_CONFIG,
41+
),
42+
);
3243
let mut configuration = datadog::Configuration::new();
3344
configuration
3445
.set_unstable_operation_enabled("v2.CreateSecurityMonitoringIntegrationConfig", true);

examples/v2_security-monitoring_UpdateSecurityMonitoringIntegrationConfig.rs

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,49 @@
11
// Update an entity context sync configuration returns "OK" response
22
use datadog_api_client::datadog;
33
use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
4+
use datadog_api_client::datadogV2::model::SecurityMonitoringGoogleWorkspaceIntegrationConfigUpdateAttributes;
5+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets;
6+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount;
47
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigResourceType;
58
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigUpdateAttributes;
69
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigUpdateData;
710
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigUpdateRequest;
8-
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationType;
11+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationTypeGoogleWorkspace;
912
use serde_json::Value;
1013
use std::collections::BTreeMap;
1114

1215
#[tokio::main]
1316
async fn main() {
14-
let body = SecurityMonitoringIntegrationConfigUpdateRequest::new(
15-
SecurityMonitoringIntegrationConfigUpdateData::new(
16-
SecurityMonitoringIntegrationConfigUpdateAttributes::new()
17-
.domain("siem-test.com".to_string())
18-
.enabled(true)
19-
.integration_type(SecurityMonitoringIntegrationType::GOOGLE_WORKSPACE)
20-
.name("My GWS Integration (renamed)".to_string())
21-
.secrets(BTreeMap::from([(
22-
"admin_email".to_string(),
23-
Value::from("test@example.com"),
24-
)]))
25-
.settings(BTreeMap::from([(
26-
"setting1".to_string(),
27-
Value::from("value1"),
28-
)])),
29-
SecurityMonitoringIntegrationConfigResourceType::INTEGRATION_CONFIG,
30-
),
31-
);
17+
let body =
18+
SecurityMonitoringIntegrationConfigUpdateRequest::new(
19+
SecurityMonitoringIntegrationConfigUpdateData::new(
20+
SecurityMonitoringIntegrationConfigUpdateAttributes
21+
::SecurityMonitoringGoogleWorkspaceIntegrationConfigUpdateAttributes(
22+
Box::new(
23+
SecurityMonitoringGoogleWorkspaceIntegrationConfigUpdateAttributes::new(
24+
SecurityMonitoringIntegrationTypeGoogleWorkspace::GOOGLE_WORKSPACE,
25+
)
26+
.domain("siem-test.com".to_string())
27+
.enabled(true)
28+
.name("My GWS Integration (renamed)".to_string())
29+
.secrets(
30+
SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets::new(
31+
SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount::new(
32+
"svc@my-project.iam.gserviceaccount.com".to_string(),
33+
r#"-----BEGIN PRIVATE KEY-----
34+
...
35+
-----END PRIVATE KEY-----"#.to_string(),
36+
"my-project".to_string(),
37+
"service_account".to_string(),
38+
),
39+
).admin_email("admin@example.com".to_string()),
40+
)
41+
.settings(BTreeMap::from([("setting1".to_string(), Value::from("value1"))])),
42+
),
43+
),
44+
SecurityMonitoringIntegrationConfigResourceType::INTEGRATION_CONFIG,
45+
),
46+
);
3247
let mut configuration = datadog::Configuration::new();
3348
configuration
3449
.set_unstable_operation_enabled("v2.UpdateSecurityMonitoringIntegrationConfig", true);

examples/v2_security-monitoring_ValidateSecurityMonitoringIntegrationCredentials.rs

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,42 @@
11
// Validate entity context sync credentials returns "OK" response
22
use datadog_api_client::datadog;
33
use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
4+
use datadog_api_client::datadogV2::model::SecurityMonitoringGoogleWorkspaceIntegrationCredentialsValidateAttributes;
5+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets;
6+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount;
47
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationConfigResourceType;
58
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationCredentialsValidateAttributes;
69
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationCredentialsValidateData;
710
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationCredentialsValidateRequest;
8-
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationType;
9-
use serde_json::Value;
10-
use std::collections::BTreeMap;
11+
use datadog_api_client::datadogV2::model::SecurityMonitoringIntegrationTypeGoogleWorkspace;
1112

1213
#[tokio::main]
1314
async fn main() {
14-
let body = SecurityMonitoringIntegrationCredentialsValidateRequest::new(
15-
SecurityMonitoringIntegrationCredentialsValidateData::new(
16-
SecurityMonitoringIntegrationCredentialsValidateAttributes::new(
17-
"siem-test.com".to_string(),
18-
SecurityMonitoringIntegrationType::GOOGLE_WORKSPACE,
19-
)
20-
.secrets(BTreeMap::from([(
21-
"admin_email".to_string(),
22-
Value::from("test@example.com"),
23-
)])),
24-
SecurityMonitoringIntegrationConfigResourceType::INTEGRATION_CONFIG,
25-
),
26-
);
15+
let body =
16+
SecurityMonitoringIntegrationCredentialsValidateRequest::new(
17+
SecurityMonitoringIntegrationCredentialsValidateData::new(
18+
SecurityMonitoringIntegrationCredentialsValidateAttributes
19+
::SecurityMonitoringGoogleWorkspaceIntegrationCredentialsValidateAttributes(
20+
Box::new(
21+
SecurityMonitoringGoogleWorkspaceIntegrationCredentialsValidateAttributes::new(
22+
"siem-test.com".to_string(),
23+
SecurityMonitoringIntegrationTypeGoogleWorkspace::GOOGLE_WORKSPACE,
24+
SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets::new(
25+
SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount::new(
26+
"svc@my-project.iam.gserviceaccount.com".to_string(),
27+
r#"-----BEGIN PRIVATE KEY-----
28+
...
29+
-----END PRIVATE KEY-----"#.to_string(),
30+
"my-project".to_string(),
31+
"service_account".to_string(),
32+
),
33+
).admin_email("admin@example.com".to_string()),
34+
),
35+
),
36+
),
37+
SecurityMonitoringIntegrationConfigResourceType::INTEGRATION_CONFIG,
38+
),
39+
);
2740
let mut configuration = datadog::Configuration::new();
2841
configuration.set_unstable_operation_enabled(
2942
"v2.ValidateSecurityMonitoringIntegrationCredentials",

src/datadogV2/model/mod.rs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10730,6 +10730,36 @@ pub mod model_security_monitoring_integration_config_create_request;
1073010730
pub use self::model_security_monitoring_integration_config_create_request::SecurityMonitoringIntegrationConfigCreateRequest;
1073110731
pub mod model_security_monitoring_integration_config_create_data;
1073210732
pub use self::model_security_monitoring_integration_config_create_data::SecurityMonitoringIntegrationConfigCreateData;
10733+
pub mod model_security_monitoring_google_workspace_integration_config_create_attributes;
10734+
pub use self::model_security_monitoring_google_workspace_integration_config_create_attributes::SecurityMonitoringGoogleWorkspaceIntegrationConfigCreateAttributes;
10735+
pub mod model_security_monitoring_integration_type_google_workspace;
10736+
pub use self::model_security_monitoring_integration_type_google_workspace::SecurityMonitoringIntegrationTypeGoogleWorkspace;
10737+
pub mod model_security_monitoring_integration_config_google_workspace_secrets;
10738+
pub use self::model_security_monitoring_integration_config_google_workspace_secrets::SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets;
10739+
pub mod model_security_monitoring_integration_config_google_workspace_service_account;
10740+
pub use self::model_security_monitoring_integration_config_google_workspace_service_account::SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount;
10741+
pub mod model_security_monitoring_okta_integration_config_create_attributes;
10742+
pub use self::model_security_monitoring_okta_integration_config_create_attributes::SecurityMonitoringOktaIntegrationConfigCreateAttributes;
10743+
pub mod model_security_monitoring_integration_type_okta;
10744+
pub use self::model_security_monitoring_integration_type_okta::SecurityMonitoringIntegrationTypeOkta;
10745+
pub mod model_security_monitoring_integration_config_okta_secrets;
10746+
pub use self::model_security_monitoring_integration_config_okta_secrets::SecurityMonitoringIntegrationConfigOktaSecrets;
10747+
pub mod model_security_monitoring_entra_id_integration_config_create_attributes;
10748+
pub use self::model_security_monitoring_entra_id_integration_config_create_attributes::SecurityMonitoringEntraIdIntegrationConfigCreateAttributes;
10749+
pub mod model_security_monitoring_integration_type_entra_id;
10750+
pub use self::model_security_monitoring_integration_type_entra_id::SecurityMonitoringIntegrationTypeEntraId;
10751+
pub mod model_security_monitoring_crowd_strike_integration_config_create_attributes;
10752+
pub use self::model_security_monitoring_crowd_strike_integration_config_create_attributes::SecurityMonitoringCrowdStrikeIntegrationConfigCreateAttributes;
10753+
pub mod model_security_monitoring_integration_type_crowd_strike;
10754+
pub use self::model_security_monitoring_integration_type_crowd_strike::SecurityMonitoringIntegrationTypeCrowdStrike;
10755+
pub mod model_security_monitoring_integration_config_crowd_strike_secrets;
10756+
pub use self::model_security_monitoring_integration_config_crowd_strike_secrets::SecurityMonitoringIntegrationConfigCrowdStrikeSecrets;
10757+
pub mod model_security_monitoring_sentinel_one_integration_config_create_attributes;
10758+
pub use self::model_security_monitoring_sentinel_one_integration_config_create_attributes::SecurityMonitoringSentinelOneIntegrationConfigCreateAttributes;
10759+
pub mod model_security_monitoring_integration_type_sentinel_one;
10760+
pub use self::model_security_monitoring_integration_type_sentinel_one::SecurityMonitoringIntegrationTypeSentinelOne;
10761+
pub mod model_security_monitoring_integration_config_sentinel_one_secrets;
10762+
pub use self::model_security_monitoring_integration_config_sentinel_one_secrets::SecurityMonitoringIntegrationConfigSentinelOneSecrets;
1073310763
pub mod model_security_monitoring_integration_config_create_attributes;
1073410764
pub use self::model_security_monitoring_integration_config_create_attributes::SecurityMonitoringIntegrationConfigCreateAttributes;
1073510765
pub mod model_security_monitoring_integration_config_response;
@@ -10748,12 +10778,32 @@ pub mod model_security_monitoring_integration_credentials_validate_request;
1074810778
pub use self::model_security_monitoring_integration_credentials_validate_request::SecurityMonitoringIntegrationCredentialsValidateRequest;
1074910779
pub mod model_security_monitoring_integration_credentials_validate_data;
1075010780
pub use self::model_security_monitoring_integration_credentials_validate_data::SecurityMonitoringIntegrationCredentialsValidateData;
10781+
pub mod model_security_monitoring_google_workspace_integration_credentials_validate_attributes;
10782+
pub use self::model_security_monitoring_google_workspace_integration_credentials_validate_attributes::SecurityMonitoringGoogleWorkspaceIntegrationCredentialsValidateAttributes;
10783+
pub mod model_security_monitoring_okta_integration_credentials_validate_attributes;
10784+
pub use self::model_security_monitoring_okta_integration_credentials_validate_attributes::SecurityMonitoringOktaIntegrationCredentialsValidateAttributes;
10785+
pub mod model_security_monitoring_entra_id_integration_credentials_validate_attributes;
10786+
pub use self::model_security_monitoring_entra_id_integration_credentials_validate_attributes::SecurityMonitoringEntraIdIntegrationCredentialsValidateAttributes;
10787+
pub mod model_security_monitoring_crowd_strike_integration_credentials_validate_attributes;
10788+
pub use self::model_security_monitoring_crowd_strike_integration_credentials_validate_attributes::SecurityMonitoringCrowdStrikeIntegrationCredentialsValidateAttributes;
10789+
pub mod model_security_monitoring_sentinel_one_integration_credentials_validate_attributes;
10790+
pub use self::model_security_monitoring_sentinel_one_integration_credentials_validate_attributes::SecurityMonitoringSentinelOneIntegrationCredentialsValidateAttributes;
1075110791
pub mod model_security_monitoring_integration_credentials_validate_attributes;
1075210792
pub use self::model_security_monitoring_integration_credentials_validate_attributes::SecurityMonitoringIntegrationCredentialsValidateAttributes;
1075310793
pub mod model_security_monitoring_integration_config_update_request;
1075410794
pub use self::model_security_monitoring_integration_config_update_request::SecurityMonitoringIntegrationConfigUpdateRequest;
1075510795
pub mod model_security_monitoring_integration_config_update_data;
1075610796
pub use self::model_security_monitoring_integration_config_update_data::SecurityMonitoringIntegrationConfigUpdateData;
10797+
pub mod model_security_monitoring_google_workspace_integration_config_update_attributes;
10798+
pub use self::model_security_monitoring_google_workspace_integration_config_update_attributes::SecurityMonitoringGoogleWorkspaceIntegrationConfigUpdateAttributes;
10799+
pub mod model_security_monitoring_okta_integration_config_update_attributes;
10800+
pub use self::model_security_monitoring_okta_integration_config_update_attributes::SecurityMonitoringOktaIntegrationConfigUpdateAttributes;
10801+
pub mod model_security_monitoring_entra_id_integration_config_update_attributes;
10802+
pub use self::model_security_monitoring_entra_id_integration_config_update_attributes::SecurityMonitoringEntraIdIntegrationConfigUpdateAttributes;
10803+
pub mod model_security_monitoring_crowd_strike_integration_config_update_attributes;
10804+
pub use self::model_security_monitoring_crowd_strike_integration_config_update_attributes::SecurityMonitoringCrowdStrikeIntegrationConfigUpdateAttributes;
10805+
pub mod model_security_monitoring_sentinel_one_integration_config_update_attributes;
10806+
pub use self::model_security_monitoring_sentinel_one_integration_config_update_attributes::SecurityMonitoringSentinelOneIntegrationConfigUpdateAttributes;
1075710807
pub mod model_security_monitoring_integration_config_update_attributes;
1075810808
pub use self::model_security_monitoring_integration_config_update_attributes::SecurityMonitoringIntegrationConfigUpdateAttributes;
1075910809
pub mod model_security_monitoring_integration_activate_request;

0 commit comments

Comments
 (0)