MongoDB Atlas v4.3.0 published on Thursday, Feb 5, 2026 by Pulumi
MongoDB Atlas v4.3.0 published on Thursday, Feb 5, 2026 by Pulumi
mongodbatlas.getLogIntegrations returns all log integrations in a project. Log integrations allow you to continually export mongod, mongos, and audit logs to an AWS S3 bucket with 1-minute log export intervals.
To use this data source, the requesting Service Account or API Key must have the Organization Owner or Project Owner role.
Example Usage
S
import * as pulumi from "@pulumi/pulumi";
import * as mongodbatlas from "@pulumi/mongodbatlas";
const project = new mongodbatlas.Project("project", {
name: atlasProjectName,
orgId: atlasOrgId,
});
// Set up cloud provider access in Atlas using the created IAM role
const setupOnly = new mongodbatlas.CloudProviderAccessSetup("setup_only", {
projectId: project.id,
providerName: "AWS",
});
const authRole = new mongodbatlas.CloudProviderAccessAuthorization("auth_role", {
projectId: project.id,
roleId: setupOnly.roleId,
aws: {
iamAssumedRoleArn: atlasRole.arn,
},
});
// Set up log integration with authorized IAM role
const exampleLogIntegration = new mongodbatlas.LogIntegration("example", {
projectId: project.id,
bucketName: logBucket.bucket,
iamRoleId: authRole.roleId,
prefixPath: "atlas-logs",
type: "S3_LOG_EXPORT",
logTypes: ["MONGOD_AUDIT"],
});
const example = mongodbatlas.getLogIntegrationOutput({
projectId: exampleLogIntegration.projectId,
integrationId: exampleLogIntegration.integrationId,
});
const exampleGetLogIntegrations = mongodbatlas.getLogIntegrationsOutput({
projectId: exampleLogIntegration.projectId,
});
export const logIntegrationBucketName = example.apply(example => example.bucketName);
export const logIntegrationsResults = exampleGetLogIntegrations.apply(exampleGetLogIntegrations => exampleGetLogIntegrations.results);
import pulumi
import pulumi_mongodbatlas as mongodbatlas
project = mongodbatlas.Project("project",
name=atlas_project_name,
org_id=atlas_org_id)
# Set up cloud provider access in Atlas using the created IAM role
setup_only = mongodbatlas.CloudProviderAccessSetup("setup_only",
project_id=project.id,
provider_name="AWS")
auth_role = mongodbatlas.CloudProviderAccessAuthorization("auth_role",
project_id=project.id,
role_id=setup_only.role_id,
aws={
"iam_assumed_role_arn": atlas_role["arn"],
})
# Set up log integration with authorized IAM role
example_log_integration = mongodbatlas.LogIntegration("example",
project_id=project.id,
bucket_name=log_bucket["bucket"],
iam_role_id=auth_role.role_id,
prefix_path="atlas-logs",
type="S3_LOG_EXPORT",
log_types=["MONGOD_AUDIT"])
example = mongodbatlas.get_log_integration_output(project_id=example_log_integration.project_id,
integration_id=example_log_integration.integration_id)
example_get_log_integrations = mongodbatlas.get_log_integrations_output(project_id=example_log_integration.project_id)
pulumi.export("logIntegrationBucketName", example.bucket_name)
pulumi.export("logIntegrationsResults", example_get_log_integrations.results)
package main
import (
"github.com/pulumi/pulumi-mongodbatlas/sdk/v4/go/mongodbatlas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
project, err := mongodbatlas.NewProject(ctx, "project", &mongodbatlas.ProjectArgs{
Name: pulumi.Any(atlasProjectName),
OrgId: pulumi.Any(atlasOrgId),
})
if err != nil {
return err
}
// Set up cloud provider access in Atlas using the created IAM role
setupOnly, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, "setup_only", &mongodbatlas.CloudProviderAccessSetupArgs{
ProjectId: project.ID(),
ProviderName: pulumi.String("AWS"),
})
if err != nil {
return err
}
authRole, err := mongodbatlas.NewCloudProviderAccessAuthorization(ctx, "auth_role", &mongodbatlas.CloudProviderAccessAuthorizationArgs{
ProjectId: project.ID(),
RoleId: setupOnly.RoleId,
Aws: &mongodbatlas.CloudProviderAccessAuthorizationAwsArgs{
IamAssumedRoleArn: pulumi.Any(atlasRole.Arn),
},
})
if err != nil {
return err
}
// Set up log integration with authorized IAM role
exampleLogIntegration, err := mongodbatlas.NewLogIntegration(ctx, "example", &mongodbatlas.LogIntegrationArgs{
ProjectId: project.ID(),
BucketName: pulumi.Any(logBucket.Bucket),
IamRoleId: authRole.RoleId,
PrefixPath: pulumi.String("atlas-logs"),
Type: pulumi.String("S3_LOG_EXPORT"),
LogTypes: pulumi.StringArray{
pulumi.String("MONGOD_AUDIT"),
},
})
if err != nil {
return err
}
example := mongodbatlas.LookupLogIntegrationOutput(ctx, mongodbatlas.GetLogIntegrationOutputArgs{
ProjectId: exampleLogIntegration.ProjectId,
IntegrationId: exampleLogIntegration.IntegrationId,
}, nil)
exampleGetLogIntegrations := mongodbatlas.LookupLogIntegrationsOutput(ctx, mongodbatlas.GetLogIntegrationsOutputArgs{
ProjectId: exampleLogIntegration.ProjectId,
}, nil)
ctx.Export("logIntegrationBucketName", example.ApplyT(func(example mongodbatlas.GetLogIntegrationResult) (*string, error) {
return &example.BucketName, nil
}).(pulumi.StringPtrOutput))
ctx.Export("logIntegrationsResults", exampleGetLogIntegrations.ApplyT(func(exampleGetLogIntegrations mongodbatlas.GetLogIntegrationsResult) ([]mongodbatlas.GetLogIntegrationsResult, error) {
return []mongodbatlas.GetLogIntegrationsResult(exampleGetLogIntegrations.Results), nil
}).([]mongodbatlas.GetLogIntegrationsResultOutput))
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Mongodbatlas = Pulumi.Mongodbatlas;
return await Deployment.RunAsync(() =>
{
var project = new Mongodbatlas.Project("project", new()
{
Name = atlasProjectName,
OrgId = atlasOrgId,
});
// Set up cloud provider access in Atlas using the created IAM role
var setupOnly = new Mongodbatlas.CloudProviderAccessSetup("setup_only", new()
{
ProjectId = project.Id,
ProviderName = "AWS",
});
var authRole = new Mongodbatlas.CloudProviderAccessAuthorization("auth_role", new()
{
ProjectId = project.Id,
RoleId = setupOnly.RoleId,
Aws = new Mongodbatlas.Inputs.CloudProviderAccessAuthorizationAwsArgs
{
IamAssumedRoleArn = atlasRole.Arn,
},
});
// Set up log integration with authorized IAM role
var exampleLogIntegration = new Mongodbatlas.LogIntegration("example", new()
{
ProjectId = project.Id,
BucketName = logBucket.Bucket,
IamRoleId = authRole.RoleId,
PrefixPath = "atlas-logs",
Type = "S3_LOG_EXPORT",
LogTypes = new[]
{
"MONGOD_AUDIT",
},
});
var example = Mongodbatlas.GetLogIntegration.Invoke(new()
{
ProjectId = exampleLogIntegration.ProjectId,
IntegrationId = exampleLogIntegration.IntegrationId,
});
var exampleGetLogIntegrations = Mongodbatlas.GetLogIntegrations.Invoke(new()
{
ProjectId = exampleLogIntegration.ProjectId,
});
return new Dictionary<string, object?>
{
["logIntegrationBucketName"] = example.Apply(getLogIntegrationResult => getLogIntegrationResult.BucketName),
["logIntegrationsResults"] = exampleGetLogIntegrations.Apply(getLogIntegrationsResult => getLogIntegrationsResult.Results),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.mongodbatlas.Project;
import com.pulumi.mongodbatlas.ProjectArgs;
import com.pulumi.mongodbatlas.CloudProviderAccessSetup;
import com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;
import com.pulumi.mongodbatlas.CloudProviderAccessAuthorization;
import com.pulumi.mongodbatlas.CloudProviderAccessAuthorizationArgs;
import com.pulumi.mongodbatlas.inputs.CloudProviderAccessAuthorizationAwsArgs;
import com.pulumi.mongodbatlas.LogIntegration;
import com.pulumi.mongodbatlas.LogIntegrationArgs;
import com.pulumi.mongodbatlas.MongodbatlasFunctions;
import com.pulumi.mongodbatlas.inputs.GetLogIntegrationArgs;
import com.pulumi.mongodbatlas.inputs.GetLogIntegrationsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var project = new Project("project", ProjectArgs.builder()
.name(atlasProjectName)
.orgId(atlasOrgId)
.build());
// Set up cloud provider access in Atlas using the created IAM role
var setupOnly = new CloudProviderAccessSetup("setupOnly", CloudProviderAccessSetupArgs.builder()
.projectId(project.id())
.providerName("AWS")
.build());
var authRole = new CloudProviderAccessAuthorization("authRole", CloudProviderAccessAuthorizationArgs.builder()
.projectId(project.id())
.roleId(setupOnly.roleId())
.aws(CloudProviderAccessAuthorizationAwsArgs.builder()
.iamAssumedRoleArn(atlasRole.arn())
.build())
.build());
// Set up log integration with authorized IAM role
var exampleLogIntegration = new LogIntegration("exampleLogIntegration", LogIntegrationArgs.builder()
.projectId(project.id())
.bucketName(logBucket.bucket())
.iamRoleId(authRole.roleId())
.prefixPath("atlas-logs")
.type("S3_LOG_EXPORT")
.logTypes("MONGOD_AUDIT")
.build());
final var example = MongodbatlasFunctions.getLogIntegration(GetLogIntegrationArgs.builder()
.projectId(exampleLogIntegration.projectId())
.integrationId(exampleLogIntegration.integrationId())
.build());
final var exampleGetLogIntegrations = MongodbatlasFunctions.getLogIntegrations(GetLogIntegrationsArgs.builder()
.projectId(exampleLogIntegration.projectId())
.build());
ctx.export("logIntegrationBucketName", example.applyValue(_example -> _example.bucketName()));
ctx.export("logIntegrationsResults", exampleGetLogIntegrations.applyValue(_exampleGetLogIntegrations -> _exampleGetLogIntegrations.results()));
}
}
resources:
project:
type: mongodbatlas:Project
properties:
name: ${atlasProjectName}
orgId: ${atlasOrgId}
# Set up cloud provider access in Atlas using the created IAM role
setupOnly:
type: mongodbatlas:CloudProviderAccessSetup
name: setup_only
properties:
projectId: ${project.id}
providerName: AWS
authRole:
type: mongodbatlas:CloudProviderAccessAuthorization
name: auth_role
properties:
projectId: ${project.id}
roleId: ${setupOnly.roleId}
aws:
iamAssumedRoleArn: ${atlasRole.arn}
# Set up log integration with authorized IAM role
exampleLogIntegration:
type: mongodbatlas:LogIntegration
name: example
properties:
projectId: ${project.id}
bucketName: ${logBucket.bucket}
iamRoleId: ${authRole.roleId}
prefixPath: atlas-logs
type: S3_LOG_EXPORT
logTypes:
- MONGOD_AUDIT
variables:
example:
fn::invoke:
function: mongodbatlas:getLogIntegration
arguments:
projectId: ${exampleLogIntegration.projectId}
integrationId: ${exampleLogIntegration.integrationId}
exampleGetLogIntegrations:
fn::invoke:
function: mongodbatlas:getLogIntegrations
arguments:
projectId: ${exampleLogIntegration.projectId}
outputs:
logIntegrationBucketName: ${example.bucketName}
logIntegrationsResults: ${exampleGetLogIntegrations.results}
Using getLogIntegrations
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getLogIntegrations(args: GetLogIntegrationsArgs, opts?: InvokeOptions): Promise<GetLogIntegrationsResult>
function getLogIntegrationsOutput(args: GetLogIntegrationsOutputArgs, opts?: InvokeOptions): Output<GetLogIntegrationsResult>def get_log_integrations(integration_type: Optional[str] = None,
project_id: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetLogIntegrationsResult
def get_log_integrations_output(integration_type: Optional[pulumi.Input[str]] = None,
project_id: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetLogIntegrationsResult]func LookupLogIntegrations(ctx *Context, args *LookupLogIntegrationsArgs, opts ...InvokeOption) (*LookupLogIntegrationsResult, error)
func LookupLogIntegrationsOutput(ctx *Context, args *LookupLogIntegrationsOutputArgs, opts ...InvokeOption) LookupLogIntegrationsResultOutput> Note: This function is named LookupLogIntegrations in the Go SDK.
public static class GetLogIntegrations
{
public static Task<GetLogIntegrationsResult> InvokeAsync(GetLogIntegrationsArgs args, InvokeOptions? opts = null)
public static Output<GetLogIntegrationsResult> Invoke(GetLogIntegrationsInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetLogIntegrationsResult> getLogIntegrations(GetLogIntegrationsArgs args, InvokeOptions options)
public static Output<GetLogIntegrationsResult> getLogIntegrations(GetLogIntegrationsArgs args, InvokeOptions options)
fn::invoke:
function: mongodbatlas:index/getLogIntegrations:getLogIntegrations
arguments:
# arguments dictionaryThe following arguments are supported:
- Project
Id string - Unique 24-hexadecimal digit string that identifies your project.
- Integration
Type string - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- Project
Id string - Unique 24-hexadecimal digit string that identifies your project.
- Integration
Type string - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- project
Id String - Unique 24-hexadecimal digit string that identifies your project.
- integration
Type String - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- project
Id string - Unique 24-hexadecimal digit string that identifies your project.
- integration
Type string - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- project_
id str - Unique 24-hexadecimal digit string that identifies your project.
- integration_
type str - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- project
Id String - Unique 24-hexadecimal digit string that identifies your project.
- integration
Type String - Optional filter by integration type (e.g., 'S3LOGEXPORT').
getLogIntegrations Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- Project
Id string - Unique 24-hexadecimal digit string that identifies your project.
- Results
List<Get
Log Integrations Result> - List of returned documents that MongoDB Cloud provides when completing this request.
- Integration
Type string - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- Id string
- The provider-assigned unique ID for this managed resource.
- Project
Id string - Unique 24-hexadecimal digit string that identifies your project.
- Results
[]Get
Log Integrations Result - List of returned documents that MongoDB Cloud provides when completing this request.
- Integration
Type string - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- id String
- The provider-assigned unique ID for this managed resource.
- project
Id String - Unique 24-hexadecimal digit string that identifies your project.
- results
List<Get
Log Integrations Result> - List of returned documents that MongoDB Cloud provides when completing this request.
- integration
Type String - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- id string
- The provider-assigned unique ID for this managed resource.
- project
Id string - Unique 24-hexadecimal digit string that identifies your project.
- results
Get
Log Integrations Result[] - List of returned documents that MongoDB Cloud provides when completing this request.
- integration
Type string - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- id str
- The provider-assigned unique ID for this managed resource.
- project_
id str - Unique 24-hexadecimal digit string that identifies your project.
- results
Sequence[Get
Log Integrations Result] - List of returned documents that MongoDB Cloud provides when completing this request.
- integration_
type str - Optional filter by integration type (e.g., 'S3LOGEXPORT').
- id String
- The provider-assigned unique ID for this managed resource.
- project
Id String - Unique 24-hexadecimal digit string that identifies your project.
- results List<Property Map>
- List of returned documents that MongoDB Cloud provides when completing this request.
- integration
Type String - Optional filter by integration type (e.g., 'S3LOGEXPORT').
Supporting Types
GetLogIntegrationsResult
- Bucket
Name string - Human-readable label that identifies the S3 bucket name for storing log files.
- Iam
Role stringId - Unique 24-hexadecimal digit string that identifies the AWS IAM role that MongoDB Cloud uses to access your S3 bucket.
- Integration
Id string - Unique 24-character hexadecimal digit string that identifies the log integration configuration.
- Kms
Key string - AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings.
- Log
Types List<string> - Array of log types to export to S3. Valid values: MONGOD, MONGOS, MONGODAUDIT, MONGOSAUDIT.
- Prefix
Path string - S3 directory path prefix where the log files will be stored. MongoDB Cloud will add further sub-directories based on the log type.
- Type string
- Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the log integration type.
- Bucket
Name string - Human-readable label that identifies the S3 bucket name for storing log files.
- Iam
Role stringId - Unique 24-hexadecimal digit string that identifies the AWS IAM role that MongoDB Cloud uses to access your S3 bucket.
- Integration
Id string - Unique 24-character hexadecimal digit string that identifies the log integration configuration.
- Kms
Key string - AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings.
- Log
Types []string - Array of log types to export to S3. Valid values: MONGOD, MONGOS, MONGODAUDIT, MONGOSAUDIT.
- Prefix
Path string - S3 directory path prefix where the log files will be stored. MongoDB Cloud will add further sub-directories based on the log type.
- Type string
- Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the log integration type.
- bucket
Name String - Human-readable label that identifies the S3 bucket name for storing log files.
- iam
Role StringId - Unique 24-hexadecimal digit string that identifies the AWS IAM role that MongoDB Cloud uses to access your S3 bucket.
- integration
Id String - Unique 24-character hexadecimal digit string that identifies the log integration configuration.
- kms
Key String - AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings.
- log
Types List<String> - Array of log types to export to S3. Valid values: MONGOD, MONGOS, MONGODAUDIT, MONGOSAUDIT.
- prefix
Path String - S3 directory path prefix where the log files will be stored. MongoDB Cloud will add further sub-directories based on the log type.
- type String
- Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the log integration type.
- bucket
Name string - Human-readable label that identifies the S3 bucket name for storing log files.
- iam
Role stringId - Unique 24-hexadecimal digit string that identifies the AWS IAM role that MongoDB Cloud uses to access your S3 bucket.
- integration
Id string - Unique 24-character hexadecimal digit string that identifies the log integration configuration.
- kms
Key string - AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings.
- log
Types string[] - Array of log types to export to S3. Valid values: MONGOD, MONGOS, MONGODAUDIT, MONGOSAUDIT.
- prefix
Path string - S3 directory path prefix where the log files will be stored. MongoDB Cloud will add further sub-directories based on the log type.
- type string
- Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the log integration type.
- bucket_
name str - Human-readable label that identifies the S3 bucket name for storing log files.
- iam_
role_ strid - Unique 24-hexadecimal digit string that identifies the AWS IAM role that MongoDB Cloud uses to access your S3 bucket.
- integration_
id str - Unique 24-character hexadecimal digit string that identifies the log integration configuration.
- kms_
key str - AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings.
- log_
types Sequence[str] - Array of log types to export to S3. Valid values: MONGOD, MONGOS, MONGODAUDIT, MONGOSAUDIT.
- prefix_
path str - S3 directory path prefix where the log files will be stored. MongoDB Cloud will add further sub-directories based on the log type.
- type str
- Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the log integration type.
- bucket
Name String - Human-readable label that identifies the S3 bucket name for storing log files.
- iam
Role StringId - Unique 24-hexadecimal digit string that identifies the AWS IAM role that MongoDB Cloud uses to access your S3 bucket.
- integration
Id String - Unique 24-character hexadecimal digit string that identifies the log integration configuration.
- kms
Key String - AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings.
- log
Types List<String> - Array of log types to export to S3. Valid values: MONGOD, MONGOS, MONGODAUDIT, MONGOSAUDIT.
- prefix
Path String - S3 directory path prefix where the log files will be stored. MongoDB Cloud will add further sub-directories based on the log type.
- type String
- Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the log integration type.
Package Details
- Repository
- MongoDB Atlas pulumi/pulumi-mongodbatlas
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
mongodbatlasTerraform Provider.
MongoDB Atlas v4.3.0 published on Thursday, Feb 5, 2026 by Pulumi
