aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap
[Resource Type] - [BUG] - SageMaker Domain Default User Settings "Hidden App Types" is broken and incomplete for MLFlow
- Dominant language
- No language data
- Stars
- 1.1k
- Forks
- 62
- PR merge metrics
- No merged PRs in 30d
Description
### Name of the resource
AWS::SageMaker::Domain
### Resource Name
_No response_
### Issue Description
Deploying a SageMaker Domain via CDK/CFN and trying to use the Default User Settings "Hidden App Types" to hide various app types is poorly documented, broken, and missing coverage for ML Flow.
Given some example CDK:
```
const domain = new CfnDomain(this, 'Domain', {
appNetworkAccessType: 'VpcOnly',
authMode: 'IAM',
defaultUserSettings: {
executionRole: executionRole.roleArn,
studioWebPortal: 'ENABLED',
defaultLandingUri: 'studio::',
....
hiddenAppTypes: [
'JupyterServer', // "Studio Classic" in console
// 'KernelGateway', // BREAKS deployment
'DetailedProfiler', // Hides nothing in console
'TensorBoard', // Hides nothing in console
'RStudioServerPro', // "RStudio" in console
// 'RSessionGateway', // BREAKS deployment
'CodeEditor', // "Code Editor" in console
'JupyterLab', // "JupyterLab" in console
'Canvas', // "Canvas" in console
],
},
},
domainName: 'myDomain',
...
});
```
the `hiddenAppTypes` property is not consistently behaving and resulting in either no result, or cloudformation breaking.
Furthermore, there is no documentation of the hidden app type strings within the typescript CDK or in the documentation here: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-studiowebportalsettings.html#cfn-sagemaker-domain-studiowebportalsettings-hiddenapptypes
I was only able to find some of the strings via the CLI JSON example here: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html
Additionally, there is no string implemented in order to disable the MLFlow app.
### Expected Behavior
String values for hiddenAppType cover all available SageMaker Apps and disable them accordingly upon domain deployment
### Observed Behavior
```
#/DefaultUserSettings/StudioWebPortalSettings/HiddenAppTypes/4: #: only 1 subschema matches out of 2
#/DefaultUserSettings/StudioWebPortalSettings/HiddenAppTypes/4: failed validation constraint for keyword [enum]
```
When using those marked `// BREAKS deployment` above.
### Test Cases
Use the following HiddenAppTypes when deploying a domain:
```
hiddenAppTypes: [
'KernelGateway', // BREAKS deployment
'RSessionGateway', // BREAKS deployment
],
```
### Other Details
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.