java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.101.0 (build b95fe5d)", date="2024-07-22T22:42:54.723Z") @Stability(Stable) public class CfnStudio extends CfnResource implements IInspectable, ITaggable
The AWS::NimbleStudio::Studio resource creates a new studio resource. In , all other resources are contained in a studio.

When creating a studio, two IAM roles must be provided: the admin role and the user role. These roles are assumed by your users when they log in to the portal. The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for the portal to function properly. The Admin Role must have the AmazonNimbleStudio-StudioAdmin managed policy attached for the portal to function properly.

You can optionally specify an AWS Key Management Service key in the StudioEncryptionConfiguration. In Nimble Studio, resource names, descriptions, initialization scripts, and other data you provide are always encrypted at rest using an AWS Key Management Service key. By default, this key is owned by AWS and managed on your behalf. You may provide your own AWS Key Management Service key when calling CreateStudio to encrypt this data using a key that you own and manage. When providing an AWS Key Management Service key during studio creation, creates AWS Key Management Service grants in your account to provide your studio user and admin roles access to these AWS Key Management Service keys. If you delete this grant, the studio will no longer be accessible to your portal users. If you delete the studio AWS Key Management Service key, your studio will no longer be accessible.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.nimblestudio.*;
 CfnStudio cfnStudio = CfnStudio.Builder.create(this, "MyCfnStudio")
         .adminRoleArn("adminRoleArn")
         .displayName("displayName")
         .studioName("studioName")
         .userRoleArn("userRoleArn")
         // the properties below are optional
         .studioEncryptionConfiguration(StudioEncryptionConfigurationProperty.builder()
                 .keyType("keyType")
                 // the properties below are optional
                 .keyArn("keyArn")
                 .build())
         .tags(Map.of(
                 "tagsKey", "tags"))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnStudio

      protected CfnStudio(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnStudio

      protected CfnStudio(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnStudio

      @Stability(Stable) public CfnStudio(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnStudioProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrHomeRegion

      @Stability(Stable) @NotNull public String getAttrHomeRegion()
      The AWS Region where the studio resource is located.

      For example, us-west-2 .

    • getAttrSsoClientId

      @Stability(Stable) @NotNull public String getAttrSsoClientId()
      The IAM Identity Center application client ID that is used to integrate with IAM Identity Center , which enables IAM Identity Center users to log into the portal.
    • getAttrStudioId

      @Stability(Stable) @NotNull public String getAttrStudioId()
      The unique identifier for the studio resource.
    • getAttrStudioUrl

      @Stability(Stable) @NotNull public String getAttrStudioUrl()
      The unique identifier for the studio resource.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getAdminRoleArn

      @Stability(Stable) @NotNull public String getAdminRoleArn()
      The IAM role that studio admins assume when logging in to the Nimble Studio portal.
    • setAdminRoleArn

      @Stability(Stable) public void setAdminRoleArn(@NotNull String value)
      The IAM role that studio admins assume when logging in to the Nimble Studio portal.
    • getDisplayName

      @Stability(Stable) @NotNull public String getDisplayName()
      A friendly name for the studio.
    • setDisplayName

      @Stability(Stable) public void setDisplayName(@NotNull String value)
      A friendly name for the studio.
    • getStudioName

      @Stability(Stable) @NotNull public String getStudioName()
      The name of the studio, as included in the URL when accessing it in the Nimble Studio portal.
    • setStudioName

      @Stability(Stable) public void setStudioName(@NotNull String value)
      The name of the studio, as included in the URL when accessing it in the Nimble Studio portal.
    • getUserRoleArn

      @Stability(Stable) @NotNull public String getUserRoleArn()
      The IAM role that studio users assume when logging in to the Nimble Studio portal.
    • setUserRoleArn

      @Stability(Stable) public void setUserRoleArn(@NotNull String value)
      The IAM role that studio users assume when logging in to the Nimble Studio portal.
    • getStudioEncryptionConfiguration

      @Stability(Stable) @Nullable public Object getStudioEncryptionConfiguration()
      Configuration of the encryption method that is used for the studio.
    • setStudioEncryptionConfiguration

      @Stability(Stable) public void setStudioEncryptionConfiguration(@Nullable IResolvable value)
      Configuration of the encryption method that is used for the studio.
    • setStudioEncryptionConfiguration

      @Stability(Stable) public void setStudioEncryptionConfiguration(@Nullable CfnStudio.StudioEncryptionConfigurationProperty value)
      Configuration of the encryption method that is used for the studio.
    • getTagsRaw

      @Stability(Stable) @Nullable public Map<String,String> getTagsRaw()
      An array of key-value pairs to apply to this resource.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable Map<String,String> value)
      An array of key-value pairs to apply to this resource.