-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathCreateAWSAccount.py
More file actions
85 lines (81 loc) · 3.59 KB
/
CreateAWSAccount.py
File metadata and controls
85 lines (81 loc) · 3.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
"""
Create an AWS integration returns "AWS Account object" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v2.model.aws_account_create_request import AWSAccountCreateRequest
from datadog_api_client.v2.model.aws_account_create_request_attributes import AWSAccountCreateRequestAttributes
from datadog_api_client.v2.model.aws_account_create_request_data import AWSAccountCreateRequestData
from datadog_api_client.v2.model.aws_account_partition import AWSAccountPartition
from datadog_api_client.v2.model.aws_account_type import AWSAccountType
from datadog_api_client.v2.model.aws_auth_config_keys import AWSAuthConfigKeys
from datadog_api_client.v2.model.aws_lambda_forwarder_config import AWSLambdaForwarderConfig
from datadog_api_client.v2.model.aws_lambda_forwarder_config_log_source_config import (
AWSLambdaForwarderConfigLogSourceConfig,
)
from datadog_api_client.v2.model.aws_log_source_tag_filter import AWSLogSourceTagFilter
from datadog_api_client.v2.model.aws_logs_config import AWSLogsConfig
from datadog_api_client.v2.model.aws_metrics_config import AWSMetricsConfig
from datadog_api_client.v2.model.aws_namespace_tag_filter import AWSNamespaceTagFilter
from datadog_api_client.v2.model.aws_resources_config import AWSResourcesConfig
from datadog_api_client.v2.model.aws_traces_config import AWSTracesConfig
body = AWSAccountCreateRequest(
data=AWSAccountCreateRequestData(
attributes=AWSAccountCreateRequestAttributes(
account_tags=[
"key:value",
],
auth_config=AWSAuthConfigKeys(
access_key_id="AKIAIOSFODNN7EXAMPLE",
secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
),
aws_account_id="123456789012",
aws_partition=AWSAccountPartition.AWS,
logs_config=AWSLogsConfig(
lambda_forwarder=AWSLambdaForwarderConfig(
lambdas=[
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder",
],
log_source_config=AWSLambdaForwarderConfigLogSourceConfig(
tag_filters=[
AWSLogSourceTagFilter(
source="s3",
tags=[
"test:test",
],
),
],
),
sources=[
"s3",
],
),
),
metrics_config=AWSMetricsConfig(
automute_enabled=True,
collect_cloudwatch_alarms=True,
collect_custom_metrics=True,
enabled=True,
tag_filters=[
AWSNamespaceTagFilter(
namespace="AWS/EC2",
tags=[
"key:value",
],
),
],
),
resources_config=AWSResourcesConfig(
cloud_security_posture_management_collection=False,
extended_collection=False,
),
traces_config=AWSTracesConfig(),
),
type=AWSAccountType.ACCOUNT,
),
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.create_aws_account(body=body)
print(response)