# yaml-language-server: $schema=../../schemas/@aws-mdaa/cli.json
# All resources will be deployed to the default region specified in the environment or AWS configurations.
# Can optional specify a specific AWS Region Name.
region: default

## Pre-Deployment Instructions
# 1. Address all TODOs below to set appropriate context values
# 2. Review and address all commented suppression TODOs in ./shared/roles.yaml prior to deployment

# Failure to do so may result in global naming conflicts.
# TODO: Set a globally unique organization name (used in S3 bucket names and resource prefixes)
organization: <YOUR_ORG_NAME>
context:
  # TODO: Set the IAM Identity Center group ID for team1
  team1-group-sso-id: <YOUR_TEAM1_SSO_GROUP_ID>
  # TODO: Set the IAM Identity Center group ID for team2
  team2-group-sso-id: <YOUR_TEAM2_SSO_GROUP_ID>
  # TODO: Set your VPC ID
  vpc_id: <YOUR_VPC_ID>
  # TODO: Set private subnet ID 1
  private_subnet_id1: <YOUR_SUBNET_ID_1>
  # TODO: Set private subnet ID 2
  private_subnet_id2: <YOUR_SUBNET_ID_2>

# This configuration deploys SageMaker Unified Studio (SMUS) domains using DataZone V2
# SMUS provides ML platform capabilities with integrated data governance

# One or more domains may be specified. Domain name will be incorporated by default naming implementation
# to prefix all resource names.
domains:
  # The named of the domain. In this case, we are building a 'shared' domain.
  shared:
    # One or more environments may be specified, typically along the lines of 'dev', 'test', and/or 'prod'
    environments:
      # The environment name will be incorporated into resource name by the default naming implementation.
      dev:
        # The target deployment account can be specified per environment.
        # If 'default' or not specified, the account configured in the environment will be assumed.
        account: default
        # The list of modules which will be deployed. A module points to a specific MDAA CDK App, and
        # specifies a deployment configuration file if required.
        modules:
          # This module will create SageMaker Unified Studio (SMUS) domains with DataZone V2
          # NOTE: Account-level module — can only be deployed once per AWS account.
          glue-catalog:
            module_path: '@aws-mdaa/glue-catalog'

          roles:
            module_path: '@aws-mdaa/roles'
            module_configs:
              - ./shared/roles.yaml

          # NOTE: Account-level module — can only be deployed once per AWS account.
          lakeformation-settings:
            module_path: '@aws-mdaa/lakeformation-settings'
            module_configs:
              - ./shared/lakeformation-settings.yaml

          # Encrypted S3 bucket and KMS key for CloudTrail audit log storage
          audit:
            module_path: '@aws-mdaa/audit'
            module_configs:
              - ./shared/audit.yaml

          # CloudTrail trail for S3 data events written to the audit bucket
          audit-trail:
            module_path: '@aws-mdaa/audit-trail'
            module_configs:
              - ./shared/audit-trail.yaml

  # The name of the domain. In this case, we are building a 'sagemaker' domain.
  sagemaker:
    # One or more environments may be specified, typically along the lines of 'dev', 'test', and/or 'prod'
    environments:
      # The environment name will be incorporated into resource name by the default naming implementation.
      dev:
        # The target deployment account can be specified per environment.
        # If 'default' or not specified, the account configured in the environment will be assumed.
        account: default
        # The list of modules which will be deployed. A module points to a specific MDAA CDK App, and
        # specifies a deployment configuration file if required.
        modules:
          domain:
            module_path: '@aws-mdaa/sagemaker'
            module_configs:
              - ./sagemaker/domain.yaml

          # Project Profile using the custom blueprint
          projects:
            module_path: '@aws-mdaa/sagemaker-project'
            module_configs:
              - ./sagemaker/projects.yaml
