Studio
Provides an Elastic MapReduce Studio.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.emr.Studio("example", {
authMode: "SSO",
defaultS3Location: `s3://${test.bucket}/test`,
engineSecurityGroupId: testAwsSecurityGroup.id,
name: "example",
serviceRole: testAwsIamRole.arn,
subnetIds: [testAwsSubnet.id],
userRole: testAwsIamRole.arn,
vpcId: testAwsVpc.id,
workspaceSecurityGroupId: testAwsSecurityGroup.id,
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.emr.Studio("example",
auth_mode="SSO",
default_s3_location=f"s3://{test['bucket']}/test",
engine_security_group_id=test_aws_security_group["id"],
name="example",
service_role=test_aws_iam_role["arn"],
subnet_ids=[test_aws_subnet["id"]],
user_role=test_aws_iam_role["arn"],
vpc_id=test_aws_vpc["id"],
workspace_security_group_id=test_aws_security_group["id"])Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Emr.Studio("example", new()
{
AuthMode = "SSO",
DefaultS3Location = $"s3://{test.Bucket}/test",
EngineSecurityGroupId = testAwsSecurityGroup.Id,
Name = "example",
ServiceRole = testAwsIamRole.Arn,
SubnetIds = new[]
{
testAwsSubnet.Id,
},
UserRole = testAwsIamRole.Arn,
VpcId = testAwsVpc.Id,
WorkspaceSecurityGroupId = testAwsSecurityGroup.Id,
});
});Content copied to clipboard
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := emr.NewStudio(ctx, "example", &emr.StudioArgs{
AuthMode: pulumi.String("SSO"),
DefaultS3Location: pulumi.String(fmt.Sprintf("s3://%v/test", test.Bucket)),
EngineSecurityGroupId: pulumi.Any(testAwsSecurityGroup.Id),
Name: pulumi.String("example"),
ServiceRole: pulumi.Any(testAwsIamRole.Arn),
SubnetIds: pulumi.StringArray{
testAwsSubnet.Id,
},
UserRole: pulumi.Any(testAwsIamRole.Arn),
VpcId: pulumi.Any(testAwsVpc.Id),
WorkspaceSecurityGroupId: pulumi.Any(testAwsSecurityGroup.Id),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.emr.Studio;
import com.pulumi.aws.emr.StudioArgs;
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 example = new Studio("example", StudioArgs.builder()
.authMode("SSO")
.defaultS3Location(String.format("s3://%s/test", test.bucket()))
.engineSecurityGroupId(testAwsSecurityGroup.id())
.name("example")
.serviceRole(testAwsIamRole.arn())
.subnetIds(testAwsSubnet.id())
.userRole(testAwsIamRole.arn())
.vpcId(testAwsVpc.id())
.workspaceSecurityGroupId(testAwsSecurityGroup.id())
.build());
}
}Content copied to clipboard
resources:
example:
type: aws:emr:Studio
properties:
authMode: SSO
defaultS3Location: s3://${test.bucket}/test
engineSecurityGroupId: ${testAwsSecurityGroup.id}
name: example
serviceRole: ${testAwsIamRole.arn}
subnetIds:
- ${testAwsSubnet.id}
userRole: ${testAwsIamRole.arn}
vpcId: ${testAwsVpc.id}
workspaceSecurityGroupId: ${testAwsSecurityGroup.id}Content copied to clipboard
Import
Using pulumi import, import EMR studios using the id. For example:
$ pulumi import aws:emr/studio:Studio studio es-123456ABCDEFContent copied to clipboard