Class: AWSCDK::EMR::CfnStudioProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::EMR::CfnStudioProps
- Defined in:
- emr/cfn_studio_props.rb
Overview
Properties for defining a CfnStudio.
Instance Attribute Summary collapse
-
#auth_mode ⇒ String
readonly
Specifies whether the Studio authenticates users using SSO or IAM.
-
#default_s3_location ⇒ String, AWSCDK::Interfaces::AWSS3::IBucketRef
readonly
The Amazon S3 location to back up EMR Studio Workspaces and notebook files.
-
#description ⇒ String?
readonly
A detailed description of the Amazon EMR Studio.
-
#encryption_key_arn ⇒ String, ...
readonly
The AWS key identifier (ARN) used to encrypt Amazon EMR Studio workspace and notebook files when backed up to Amazon S3.
-
#engine_security_group_id ⇒ String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef
readonly
The ID of the Amazon EMR Studio Engine security group.
-
#idc_instance_arn ⇒ String?
readonly
The ARN of the IAM Identity Center instance the Studio application belongs to.
-
#idc_user_assignment ⇒ String?
readonly
Indicates whether the Studio has
REQUIREDorOPTIONALIAM Identity Center user assignment. -
#idp_auth_url ⇒ String?
readonly
Your identity provider's authentication endpoint.
-
#idp_relay_state_parameter_name ⇒ String?
readonly
The name of your identity provider's
RelayStateparameter. -
#name ⇒ String
readonly
A descriptive name for the Amazon EMR Studio.
-
#service_role ⇒ String, AWSCDK::Interfaces::AWSIAM::IRoleRef
readonly
The Amazon Resource Name (ARN) of the IAM role that will be assumed by the Amazon EMR Studio.
-
#subnet_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef>
readonly
A list of subnet IDs to associate with the Amazon EMR Studio.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
An array of key-value pairs to apply to this resource.
-
#trusted_identity_propagation_enabled ⇒ Boolean, ...
readonly
Indicates whether the Studio has Trusted identity propagation enabled.
-
#user_role ⇒ String, ...
readonly
The Amazon Resource Name (ARN) of the IAM user role that will be assumed by users and groups logged in to a Studio.
-
#vpc_id ⇒ String, AWSCDK::Interfaces::AWSEC2::IVPCRef
readonly
The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.
-
#workspace_security_group_id ⇒ String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef
readonly
The ID of the Workspace security group associated with the Amazon EMR Studio.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(auth_mode:, default_s3_location:, engine_security_group_id:, name:, service_role:, subnet_ids:, vpc_id:, workspace_security_group_id:, description: nil, encryption_key_arn: nil, idc_instance_arn: nil, idc_user_assignment: nil, idp_auth_url: nil, idp_relay_state_parameter_name: nil, tags: nil, trusted_identity_propagation_enabled: nil, user_role: nil) ⇒ CfnStudioProps
constructor
A new instance of CfnStudioProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(auth_mode:, default_s3_location:, engine_security_group_id:, name:, service_role:, subnet_ids:, vpc_id:, workspace_security_group_id:, description: nil, encryption_key_arn: nil, idc_instance_arn: nil, idc_user_assignment: nil, idp_auth_url: nil, idp_relay_state_parameter_name: nil, tags: nil, trusted_identity_propagation_enabled: nil, user_role: nil) ⇒ CfnStudioProps
Returns a new instance of CfnStudioProps.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'emr/cfn_studio_props.rb', line 26 def initialize(auth_mode:, default_s3_location:, engine_security_group_id:, name:, service_role:, subnet_ids:, vpc_id:, workspace_security_group_id:, description: nil, encryption_key_arn: nil, idc_instance_arn: nil, idc_user_assignment: nil, idp_auth_url: nil, idp_relay_state_parameter_name: nil, tags: nil, trusted_identity_propagation_enabled: nil, user_role: nil) @auth_mode = auth_mode Jsii::Type.check_type(@auth_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authMode") @default_s3_location = default_s3_location Jsii::Type.check_type(@default_s3_location, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19zMy5JQnVja2V0UmVmIn1dfX0=")), "defaultS3Location") @engine_security_group_id = engine_security_group_id Jsii::Type.check_type(@engine_security_group_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVNlY3VyaXR5R3JvdXBSZWYifV19fQ==")), "engineSecurityGroupId") @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @service_role = service_role Jsii::Type.check_type(@service_role, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "serviceRole") @subnet_ids = subnet_ids Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU3VibmV0UmVmIn1dfX0sImtpbmQiOiJhcnJheSJ9fQ==")), "subnetIds") @vpc_id = vpc_id Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVZQQ1JlZiJ9XX19")), "vpcId") @workspace_security_group_id = workspace_security_group_id Jsii::Type.check_type(@workspace_security_group_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVNlY3VyaXR5R3JvdXBSZWYifV19fQ==")), "workspaceSecurityGroupId") @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @encryption_key_arn = encryption_key_arn Jsii::Type.check_type(@encryption_key_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9XX19")), "encryptionKeyArn") unless @encryption_key_arn.nil? @idc_instance_arn = idc_instance_arn Jsii::Type.check_type(@idc_instance_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "idcInstanceArn") unless @idc_instance_arn.nil? @idc_user_assignment = idc_user_assignment Jsii::Type.check_type(@idc_user_assignment, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "idcUserAssignment") unless @idc_user_assignment.nil? @idp_auth_url = idp_auth_url Jsii::Type.check_type(@idp_auth_url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "idpAuthUrl") unless @idp_auth_url.nil? @idp_relay_state_parameter_name = idp_relay_state_parameter_name Jsii::Type.check_type(@idp_relay_state_parameter_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "idpRelayStateParameterName") unless @idp_relay_state_parameter_name.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @trusted_identity_propagation_enabled = trusted_identity_propagation_enabled Jsii::Type.check_type(@trusted_identity_propagation_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "trustedIdentityPropagationEnabled") unless @trusted_identity_propagation_enabled.nil? @user_role = user_role Jsii::Type.check_type(@user_role, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "userRole") unless @user_role.nil? end |
Instance Attribute Details
#auth_mode ⇒ String (readonly)
Specifies whether the Studio authenticates users using SSO or IAM.
67 68 69 |
# File 'emr/cfn_studio_props.rb', line 67 def auth_mode @auth_mode end |
#default_s3_location ⇒ String, AWSCDK::Interfaces::AWSS3::IBucketRef (readonly)
The Amazon S3 location to back up EMR Studio Workspaces and notebook files.
72 73 74 |
# File 'emr/cfn_studio_props.rb', line 72 def default_s3_location @default_s3_location end |
#description ⇒ String? (readonly)
A detailed description of the Amazon EMR Studio.
115 116 117 |
# File 'emr/cfn_studio_props.rb', line 115 def description @description end |
#encryption_key_arn ⇒ String, ... (readonly)
The AWS key identifier (ARN) used to encrypt Amazon EMR Studio workspace and notebook files when backed up to Amazon S3.
120 121 122 |
# File 'emr/cfn_studio_props.rb', line 120 def encryption_key_arn @encryption_key_arn end |
#engine_security_group_id ⇒ String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef (readonly)
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 .
79 80 81 |
# File 'emr/cfn_studio_props.rb', line 79 def engine_security_group_id @engine_security_group_id end |
#idc_instance_arn ⇒ String? (readonly)
The ARN of the IAM Identity Center instance the Studio application belongs to.
125 126 127 |
# File 'emr/cfn_studio_props.rb', line 125 def idc_instance_arn @idc_instance_arn end |
#idc_user_assignment ⇒ String? (readonly)
Indicates whether the Studio has REQUIRED or OPTIONAL IAM Identity Center user assignment.
If the value is set to REQUIRED , users must be explicitly assigned to the Studio application to access the Studio.
132 133 134 |
# File 'emr/cfn_studio_props.rb', line 132 def idc_user_assignment @idc_user_assignment end |
#idp_auth_url ⇒ String? (readonly)
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.
139 140 141 |
# File 'emr/cfn_studio_props.rb', line 139 def idp_auth_url @idp_auth_url end |
#idp_relay_state_parameter_name ⇒ String? (readonly)
The name of your identity provider's RelayState parameter.
144 145 146 |
# File 'emr/cfn_studio_props.rb', line 144 def idp_relay_state_parameter_name @idp_relay_state_parameter_name end |
#name ⇒ String (readonly)
A descriptive name for the Amazon EMR Studio.
84 85 86 |
# File 'emr/cfn_studio_props.rb', line 84 def name @name end |
#service_role ⇒ String, AWSCDK::Interfaces::AWSIAM::IRoleRef (readonly)
The Amazon Resource Name (ARN) of 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.
91 92 93 |
# File 'emr/cfn_studio_props.rb', line 91 def service_role @service_role end |
#subnet_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef> (readonly)
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 VpcId . Studio users can create a Workspace in any of the specified subnets.
98 99 100 |
# File 'emr/cfn_studio_props.rb', line 98 def subnet_ids @subnet_ids end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
An array of key-value pairs to apply to this resource.
For more information, see Tag .
151 152 153 |
# File 'emr/cfn_studio_props.rb', line 151 def @tags end |
#trusted_identity_propagation_enabled ⇒ Boolean, ... (readonly)
Indicates whether the Studio has Trusted identity propagation enabled.
The default value is false .
158 159 160 |
# File 'emr/cfn_studio_props.rb', line 158 def trusted_identity_propagation_enabled @trusted_identity_propagation_enabled end |
#user_role ⇒ String, ... (readonly)
The Amazon Resource Name (ARN) of 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. You only need to specify UserRole when you set AuthMode to SSO .
165 166 167 |
# File 'emr/cfn_studio_props.rb', line 165 def user_role @user_role end |
#vpc_id ⇒ String, AWSCDK::Interfaces::AWSEC2::IVPCRef (readonly)
The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.
103 104 105 |
# File 'emr/cfn_studio_props.rb', line 103 def vpc_id @vpc_id end |
#workspace_security_group_id ⇒ String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef (readonly)
The ID of the Workspace security group associated with the Amazon EMR Studio.
The Workspace security group allows outbound network traffic to resources in the Engine security group and to the internet.
110 111 112 |
# File 'emr/cfn_studio_props.rb', line 110 def workspace_security_group_id @workspace_security_group_id end |
Class Method Details
.jsii_properties ⇒ Object
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
# File 'emr/cfn_studio_props.rb', line 167 def self.jsii_properties { :auth_mode => "authMode", :default_s3_location => "defaultS3Location", :engine_security_group_id => "engineSecurityGroupId", :name => "name", :service_role => "serviceRole", :subnet_ids => "subnetIds", :vpc_id => "vpcId", :workspace_security_group_id => "workspaceSecurityGroupId", :description => "description", :encryption_key_arn => "encryptionKeyArn", :idc_instance_arn => "idcInstanceArn", :idc_user_assignment => "idcUserAssignment", :idp_auth_url => "idpAuthUrl", :idp_relay_state_parameter_name => "idpRelayStateParameterName", :tags => "tags", :trusted_identity_propagation_enabled => "trustedIdentityPropagationEnabled", :user_role => "userRole", } end |
Instance Method Details
#to_jsii ⇒ Object
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 |
# File 'emr/cfn_studio_props.rb', line 189 def to_jsii result = {} result.merge!({ "authMode" => @auth_mode, "defaultS3Location" => @default_s3_location, "engineSecurityGroupId" => @engine_security_group_id, "name" => @name, "serviceRole" => @service_role, "subnetIds" => @subnet_ids, "vpcId" => @vpc_id, "workspaceSecurityGroupId" => @workspace_security_group_id, "description" => @description, "encryptionKeyArn" => @encryption_key_arn, "idcInstanceArn" => @idc_instance_arn, "idcUserAssignment" => @idc_user_assignment, "idpAuthUrl" => @idp_auth_url, "idpRelayStateParameterName" => @idp_relay_state_parameter_name, "tags" => @tags, "trustedIdentityPropagationEnabled" => @trusted_identity_propagation_enabled, "userRole" => @user_role, }) result.compact end |