AwsLogSource ​
The AwsLogSource resource lets you manage AWS SecurityLake AwsLogSources for integrating log data from various AWS accounts and services into AWS Security Lake.
Minimal Example ​
Create a basic AwsLogSource with required properties and a couple of common optional ones.
ts
import AWS from "alchemy/aws/control";
const logSource = await AWS.SecurityLake.AwsLogSource("myLogSource", {
SourceName: "MyLogSource",
SourceVersion: "1.0",
Accounts: ["123456789012", "987654321098"],
DataLakeArn: "arn:aws:securitylake:us-east-1:123456789012:data-lake"
});
Advanced Configuration ​
Configure an AwsLogSource with existing resource adoption.
ts
const advancedLogSource = await AWS.SecurityLake.AwsLogSource("advancedLogSource", {
SourceName: "AdvancedLogSource",
SourceVersion: "1.1",
Accounts: ["123456789012"],
DataLakeArn: "arn:aws:securitylake:us-east-1:123456789012:data-lake",
adopt: true // Adopts an existing resource instead of failing
});
Multi-Account Configuration ​
Create an AwsLogSource that pulls logs from multiple AWS accounts.
ts
const multiAccountLogSource = await AWS.SecurityLake.AwsLogSource("multiAccountLogSource", {
SourceName: "MultiAccountLogSource",
SourceVersion: "1.2",
Accounts: ["123456789012", "234567890123", "345678901234"],
DataLakeArn: "arn:aws:securitylake:us-east-1:123456789012:data-lake"
});
Updating an Existing Source ​
Demonstrate updating an existing AwsLogSource with a new version.
ts
const updatedLogSource = await AWS.SecurityLake.AwsLogSource("existingLogSource", {
SourceName: "ExistingLogSource",
SourceVersion: "1.3", // Updated version
Accounts: ["123456789012"],
DataLakeArn: "arn:aws:securitylake:us-east-1:123456789012:data-lake"
});