import * as core from "@terrascript/core"; export interface StudioArgs extends core.ResourceArgs { authMode: string | core.StringOut; /** * (Required) The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files. */ defaultS3Location: string | core.StringOut; /** * (Optional) A detailed description of the Amazon EMR Studio. */ description?: string | core.StringOut; /** * (Required) The ID of the Amazon EMR Studio Engine security group. The Engine security group allows i * nbound network traffic from the Workspace security group, and it must be in the same VPC specified b * y `vpc_id`. */ engineSecurityGroupId: string | core.StringOut; /** * (Optional) The authentication endpoint of your identity provider (IdP). Specify this value when you * use IAM authentication and want to let federated users log in to a Studio with the Studio URL and cr * edentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials. */ idpAuthUrl?: string | core.StringOut; /** * (Optional) The name that your identity provider (IdP) uses for its RelayState parameter. For example * , RelayState or TargetSource. Specify this value when you use IAM authentication and want to let fed * erated users log in to a Studio using the Studio URL. The RelayState parameter differs by IdP. */ idpRelayStateParameterName?: string | core.StringOut; /** * (Required) A descriptive name for the Amazon EMR Studio. */ name: string | core.StringOut; /** * (Required) The IAM role that the Amazon EMR Studio assumes. The service role provides a way for Amaz * on EMR Studio to interoperate with other Amazon Web Services services. */ serviceRole: string | core.StringOut; /** * (Required) A list of subnet IDs to associate with the Amazon EMR Studio. A Studio can have a maximum * of 5 subnets. The subnets must belong to the VPC specified by `vpc_id`. Studio users can create a W * orkspace in any of the specified subnets. */ subnetIds: core.Array | core.ArrayOut; /** * (Optional) list of tags to apply to the EMR Cluster. If configured with a provider [`default_tags` c * onfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-c * onfiguration-block) present, tags with matching keys will overwrite those defined at the provider-le * vel. */ tags?: core.Map | core.MapOut; tagsAll?: core.Map | core.MapOut; /** * (Optional) - The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. * Only specify a User Role when you use Amazon Web Services SSO authentication. The permissions attach * ed to the User Role can be scoped down for each user or group using session policies. */ userRole?: string | core.StringOut; /** * (Required) The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio. */ vpcId: string | core.StringOut; /** * (Required) The ID of the Amazon EMR Studio Workspace security group. The Workspace security group al * lows outbound network traffic to resources in the Engine security group, and it must be in the same * VPC specified by `vpc_id`. */ workspaceSecurityGroupId: string | core.StringOut; } export class Studio extends core.Resource { @core.attr(String, { computed: true }) public arn!: string | core.StringOut; @core.attr(String) public authMode!: string | core.StringOut; /** * (Required) The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files. */ @core.attr(String) public defaultS3Location!: string | core.StringOut; /** * (Optional) A detailed description of the Amazon EMR Studio. */ @core.attr(String) public description?: string | core.StringOut; /** * (Required) The ID of the Amazon EMR Studio Engine security group. The Engine security group allows i * nbound network traffic from the Workspace security group, and it must be in the same VPC specified b * y `vpc_id`. */ @core.attr(String) public engineSecurityGroupId!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The authentication endpoint of your identity provider (IdP). Specify this value when you * use IAM authentication and want to let federated users log in to a Studio with the Studio URL and cr * edentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials. */ @core.attr(String) public idpAuthUrl?: string | core.StringOut; /** * (Optional) The name that your identity provider (IdP) uses for its RelayState parameter. For example * , RelayState or TargetSource. Specify this value when you use IAM authentication and want to let fed * erated users log in to a Studio using the Studio URL. The RelayState parameter differs by IdP. */ @core.attr(String) public idpRelayStateParameterName?: string | core.StringOut; /** * (Required) A descriptive name for the Amazon EMR Studio. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required) The IAM role that the Amazon EMR Studio assumes. The service role provides a way for Amaz * on EMR Studio to interoperate with other Amazon Web Services services. */ @core.attr(String) public serviceRole!: string | core.StringOut; /** * (Required) A list of subnet IDs to associate with the Amazon EMR Studio. A Studio can have a maximum * of 5 subnets. The subnets must belong to the VPC specified by `vpc_id`. Studio users can create a W * orkspace in any of the specified subnets. */ @core.attr(String, { kind: "array" }) public subnetIds!: core.Array | core.ArrayOut; /** * (Optional) list of tags to apply to the EMR Cluster. If configured with a provider [`default_tags` c * onfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-c * onfiguration-block) present, tags with matching keys will overwrite those defined at the provider-le * vel. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * The unique access URL of the Amazon EMR Studio. */ @core.attr(String, { computed: true }) public url!: string | core.StringOut; /** * (Optional) - The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. * Only specify a User Role when you use Amazon Web Services SSO authentication. The permissions attach * ed to the User Role can be scoped down for each user or group using session policies. */ @core.attr(String) public userRole?: string | core.StringOut; /** * (Required) The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio. */ @core.attr(String) public vpcId!: string | core.StringOut; /** * (Required) The ID of the Amazon EMR Studio Workspace security group. The Workspace security group al * lows outbound network traffic to resources in the Engine security group, and it must be in the same * VPC specified by `vpc_id`. */ @core.attr(String) public workspaceSecurityGroupId!: string | core.StringOut; constructor(name: string, args?: StudioArgs) { super(name, "aws_emr_studio", args); } public override getNamespace(): string { return "aws_emr"; } }