@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
185 lines (184 loc) • 9.23 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* Resource schema for AWS::EMR::Studio
*/
export declare class Studio extends pulumi.CustomResource {
/**
* Get an existing Studio resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Studio;
/**
* Returns true if the given object is an instance of Studio. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Studio;
/**
* The Amazon Resource Name (ARN) of the EMR Studio.
*/
readonly arn: pulumi.Output<string>;
/**
* Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM. Amazon EMR Studio currently only supports SSO authentication.
*/
readonly authMode: pulumi.Output<enums.emr.StudioAuthMode>;
/**
* The default Amazon S3 location to back up EMR Studio Workspaces and notebook files. A Studio user can select an alternative Amazon S3 location when creating a Workspace.
*/
readonly defaultS3Location: pulumi.Output<string>;
/**
* A detailed description of the Studio.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.
*/
readonly encryptionKeyArn: pulumi.Output<string | undefined>;
/**
* The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.
*/
readonly engineSecurityGroupId: pulumi.Output<string>;
/**
* The ARN of the IAM Identity Center instance to create the Studio application.
*/
readonly idcInstanceArn: pulumi.Output<string | undefined>;
/**
* Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.
*/
readonly idcUserAssignment: pulumi.Output<enums.emr.StudioIdcUserAssignment | undefined>;
/**
* Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL.
*/
readonly idpAuthUrl: pulumi.Output<string | undefined>;
/**
* The name of relay state parameter for external Identity Provider.
*/
readonly idpRelayStateParameterName: pulumi.Output<string | undefined>;
/**
* A descriptive name for the Amazon EMR Studio.
*/
readonly name: pulumi.Output<string>;
/**
* The IAM role that will be assumed by the Amazon EMR Studio. The service role provides a way for Amazon EMR Studio to interoperate with other AWS services.
*/
readonly serviceRole: pulumi.Output<string>;
/**
* The ID of the EMR Studio.
*/
readonly studioId: pulumi.Output<string>;
/**
* A list of up to 5 subnet IDs to associate with the Studio. The subnets must belong to the VPC specified by VpcId. Studio users can create a Workspace in any of the specified subnets.
*/
readonly subnetIds: pulumi.Output<string[]>;
/**
* A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.
*/
readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
/**
* A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.
*/
readonly trustedIdentityPropagationEnabled: pulumi.Output<boolean | undefined>;
/**
* The unique Studio access URL.
*/
readonly url: pulumi.Output<string>;
/**
* The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies.
*/
readonly userRole: pulumi.Output<string | undefined>;
/**
* The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.
*/
readonly vpcId: pulumi.Output<string>;
/**
* The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by VpcId.
*/
readonly workspaceSecurityGroupId: pulumi.Output<string>;
/**
* Create a Studio resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: StudioArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a Studio resource.
*/
export interface StudioArgs {
/**
* Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM. Amazon EMR Studio currently only supports SSO authentication.
*/
authMode: pulumi.Input<enums.emr.StudioAuthMode>;
/**
* The default Amazon S3 location to back up EMR Studio Workspaces and notebook files. A Studio user can select an alternative Amazon S3 location when creating a Workspace.
*/
defaultS3Location: pulumi.Input<string>;
/**
* A detailed description of the Studio.
*/
description?: pulumi.Input<string>;
/**
* The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.
*/
encryptionKeyArn?: pulumi.Input<string>;
/**
* The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.
*/
engineSecurityGroupId: pulumi.Input<string>;
/**
* The ARN of the IAM Identity Center instance to create the Studio application.
*/
idcInstanceArn?: pulumi.Input<string>;
/**
* Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.
*/
idcUserAssignment?: pulumi.Input<enums.emr.StudioIdcUserAssignment>;
/**
* Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL.
*/
idpAuthUrl?: pulumi.Input<string>;
/**
* The name of relay state parameter for external Identity Provider.
*/
idpRelayStateParameterName?: pulumi.Input<string>;
/**
* A descriptive name for the Amazon EMR Studio.
*/
name?: pulumi.Input<string>;
/**
* The IAM role that will be assumed by the Amazon EMR Studio. The service role provides a way for Amazon EMR Studio to interoperate with other AWS services.
*/
serviceRole: pulumi.Input<string>;
/**
* A list of up to 5 subnet IDs to associate with the Studio. The subnets must belong to the VPC specified by VpcId. Studio users can create a Workspace in any of the specified subnets.
*/
subnetIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.
*/
tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
/**
* A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.
*/
trustedIdentityPropagationEnabled?: pulumi.Input<boolean>;
/**
* The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies.
*/
userRole?: pulumi.Input<string>;
/**
* The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.
*/
vpcId: pulumi.Input<string>;
/**
* The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by VpcId.
*/
workspaceSecurityGroupId: pulumi.Input<string>;
}