{
  "description": "Domain is the Schema for the Domains API",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "DomainSpec defines the desired state of Domain.",
      "properties": {
        "appNetworkAccessType": {
          "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.\n\n  - PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon\n    SageMaker AI, which allows direct internet access\n\n  - VpcOnly - All traffic is through the specified VPC and subnets",
          "type": "string"
        },
        "appSecurityGroupManagement": {
          "description": "The entity that creates and manages the required security groups for inter-app\ncommunication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType\nis VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn\nis provided. If setting up the domain for use with RStudio, this value must\nbe set to Service.",
          "type": "string"
        },
        "authMode": {
          "description": "The mode of authentication that members use to access the domain.",
          "type": "string"
        },
        "defaultSpaceSettings": {
          "description": "The default settings for shared spaces that users create in the domain.",
          "properties": {
            "customFileSystemConfigs": {
              "items": {
                "description": "The settings for assigning a custom file system to a user profile or space\nfor an Amazon SageMaker AI Domain. Permitted users can access this file system\nin Amazon SageMaker AI Studio.",
                "properties": {
                  "efsFileSystemConfig": {
                    "description": "The settings for assigning a custom Amazon EFS file system to a user profile\nor space for an Amazon SageMaker AI Domain.",
                    "properties": {
                      "fileSystemID": {
                        "type": "string"
                      },
                      "fileSystemPath": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "fSxLustreFileSystemConfig": {
                    "description": "The settings for assigning a custom Amazon FSx for Lustre file system to\na user profile or space for an Amazon SageMaker Domain.",
                    "properties": {
                      "fileSystemID": {
                        "type": "string"
                      },
                      "fileSystemPath": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "s3FileSystemConfig": {
                    "description": "Configuration for the custom Amazon S3 file system.",
                    "properties": {
                      "mountPath": {
                        "type": "string"
                      },
                      "s3URI": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "customPosixUserConfig": {
              "description": "Details about the POSIX identity that is used for file system operations.",
              "properties": {
                "gid": {
                  "format": "int64",
                  "type": "integer"
                },
                "uid": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "executionRole": {
              "type": "string"
            },
            "jupyterLabAppSettings": {
              "description": "The settings for the JupyterLab application.",
              "properties": {
                "codeRepositories": {
                  "items": {
                    "description": "A Git repository that SageMaker AI automatically displays to users for cloning\nin the JupyterServer application.",
                    "properties": {
                      "repositoryURL": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "customImages": {
                  "items": {
                    "description": "A custom SageMaker AI image. For more information, see Bring your own SageMaker\nAI image (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html).",
                    "properties": {
                      "appImageConfigName": {
                        "type": "string"
                      },
                      "imageName": {
                        "type": "string"
                      },
                      "imageVersionNumber": {
                        "format": "int64",
                        "type": "integer"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "lifecycleConfigARNs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "jupyterServerAppSettings": {
              "description": "The JupyterServer app settings.",
              "properties": {
                "codeRepositories": {
                  "items": {
                    "description": "A Git repository that SageMaker AI automatically displays to users for cloning\nin the JupyterServer application.",
                    "properties": {
                      "repositoryURL": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "lifecycleConfigARNs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "kernelGatewayAppSettings": {
              "description": "The KernelGateway app settings.",
              "properties": {
                "customImages": {
                  "items": {
                    "description": "A custom SageMaker AI image. For more information, see Bring your own SageMaker\nAI image (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html).",
                    "properties": {
                      "appImageConfigName": {
                        "type": "string"
                      },
                      "imageName": {
                        "type": "string"
                      },
                      "imageVersionNumber": {
                        "format": "int64",
                        "type": "integer"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "lifecycleConfigARNs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "securityGroups": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "spaceStorageSettings": {
              "description": "The default storage settings for a space.",
              "properties": {
                "defaultEBSStorageSettings": {
                  "description": "A collection of default EBS storage settings that apply to spaces created\nwithin a domain or user profile.",
                  "properties": {
                    "defaultEBSVolumeSizeInGb": {
                      "format": "int64",
                      "type": "integer"
                    },
                    "maximumEBSVolumeSizeInGb": {
                      "format": "int64",
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "defaultUserSettings": {
          "description": "The default settings to use to create a user profile when UserSettings isn't\nspecified in the call to the CreateUserProfile API.\n\nSecurityGroups is aggregated when specified in both calls. For all other\nsettings in UserSettings, the values specified in CreateUserProfile take\nprecedence over those specified in CreateDomain.",
          "properties": {
            "codeEditorAppSettings": {
              "description": "The Code Editor application settings.\n\nFor more information about Code Editor, see Get started with Code Editor\nin Amazon SageMaker (https://docs.aws.amazon.com/sagemaker/latest/dg/code-editor.html).",
              "properties": {
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "lifecycleConfigARNs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "customFileSystemConfigs": {
              "items": {
                "description": "The settings for assigning a custom file system to a user profile or space\nfor an Amazon SageMaker AI Domain. Permitted users can access this file system\nin Amazon SageMaker AI Studio.",
                "properties": {
                  "efsFileSystemConfig": {
                    "description": "The settings for assigning a custom Amazon EFS file system to a user profile\nor space for an Amazon SageMaker AI Domain.",
                    "properties": {
                      "fileSystemID": {
                        "type": "string"
                      },
                      "fileSystemPath": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "fSxLustreFileSystemConfig": {
                    "description": "The settings for assigning a custom Amazon FSx for Lustre file system to\na user profile or space for an Amazon SageMaker Domain.",
                    "properties": {
                      "fileSystemID": {
                        "type": "string"
                      },
                      "fileSystemPath": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "s3FileSystemConfig": {
                    "description": "Configuration for the custom Amazon S3 file system.",
                    "properties": {
                      "mountPath": {
                        "type": "string"
                      },
                      "s3URI": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "customPosixUserConfig": {
              "description": "Details about the POSIX identity that is used for file system operations.",
              "properties": {
                "gid": {
                  "format": "int64",
                  "type": "integer"
                },
                "uid": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "defaultLandingURI": {
              "type": "string"
            },
            "executionRole": {
              "type": "string"
            },
            "jupyterLabAppSettings": {
              "description": "The settings for the JupyterLab application.",
              "properties": {
                "codeRepositories": {
                  "items": {
                    "description": "A Git repository that SageMaker AI automatically displays to users for cloning\nin the JupyterServer application.",
                    "properties": {
                      "repositoryURL": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "customImages": {
                  "items": {
                    "description": "A custom SageMaker AI image. For more information, see Bring your own SageMaker\nAI image (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html).",
                    "properties": {
                      "appImageConfigName": {
                        "type": "string"
                      },
                      "imageName": {
                        "type": "string"
                      },
                      "imageVersionNumber": {
                        "format": "int64",
                        "type": "integer"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "lifecycleConfigARNs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "jupyterServerAppSettings": {
              "description": "The JupyterServer app settings.",
              "properties": {
                "codeRepositories": {
                  "items": {
                    "description": "A Git repository that SageMaker AI automatically displays to users for cloning\nin the JupyterServer application.",
                    "properties": {
                      "repositoryURL": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "lifecycleConfigARNs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "kernelGatewayAppSettings": {
              "description": "The KernelGateway app settings.",
              "properties": {
                "customImages": {
                  "items": {
                    "description": "A custom SageMaker AI image. For more information, see Bring your own SageMaker\nAI image (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html).",
                    "properties": {
                      "appImageConfigName": {
                        "type": "string"
                      },
                      "imageName": {
                        "type": "string"
                      },
                      "imageVersionNumber": {
                        "format": "int64",
                        "type": "integer"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "lifecycleConfigARNs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "rStudioServerProAppSettings": {
              "description": "A collection of settings that configure user interaction with the RStudioServerPro\napp.",
              "properties": {
                "accessStatus": {
                  "type": "string"
                },
                "userGroup": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "securityGroups": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "sharingSettings": {
              "description": "Specifies options for sharing Amazon SageMaker AI Studio notebooks. These\nsettings are specified as part of DefaultUserSettings when the CreateDomain\nAPI is called, and as part of UserSettings when the CreateUserProfile API\nis called. When SharingSettings is not specified, notebook sharing isn't\nallowed.",
              "properties": {
                "notebookOutputOption": {
                  "type": "string"
                },
                "s3KMSKeyID": {
                  "type": "string"
                },
                "s3OutputPath": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "spaceStorageSettings": {
              "description": "The default storage settings for a space.",
              "properties": {
                "defaultEBSStorageSettings": {
                  "description": "A collection of default EBS storage settings that apply to spaces created\nwithin a domain or user profile.",
                  "properties": {
                    "defaultEBSVolumeSizeInGb": {
                      "format": "int64",
                      "type": "integer"
                    },
                    "maximumEBSVolumeSizeInGb": {
                      "format": "int64",
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "studioWebPortal": {
              "type": "string"
            },
            "tensorBoardAppSettings": {
              "description": "The TensorBoard app settings.",
              "properties": {
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "domainName": {
          "description": "A name for the domain.\n\nRegex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$`",
          "type": "string"
        },
        "domainSettings": {
          "description": "A collection of Domain settings.",
          "properties": {
            "dockerSettings": {
              "description": "A collection of settings that configure the domain's Docker interaction.",
              "properties": {
                "enableDockerAccess": {
                  "type": "string"
                },
                "rootlessDocker": {
                  "type": "string"
                },
                "vpcOnlyTrustedAccounts": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "ipAddressType": {
              "type": "string"
            },
            "rStudioServerProDomainSettings": {
              "description": "A collection of settings that configure the RStudioServerPro Domain-level\napp.",
              "properties": {
                "defaultResourceSpec": {
                  "description": "Specifies the ARN's of a SageMaker AI image and SageMaker AI image version,\nand the instance type that the version runs on.\n\nWhen both SageMakerImageVersionArn and SageMakerImageArn are passed, SageMakerImageVersionArn\nis used. Any updates to SageMakerImageArn will not take effect if SageMakerImageVersionArn\nalready exists in the ResourceSpec because SageMakerImageVersionArn always\ntakes precedence. To clear the value set for SageMakerImageVersionArn, pass\nNone as the value.",
                  "properties": {
                    "instanceType": {
                      "type": "string"
                    },
                    "lifecycleConfigARN": {
                      "type": "string"
                    },
                    "sageMakerImageARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionARN": {
                      "type": "string"
                    },
                    "sageMakerImageVersionAlias": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "domainExecutionRoleARN": {
                  "type": "string"
                },
                "rStudioConnectURL": {
                  "type": "string"
                },
                "rStudioPackageManagerURL": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "securityGroupIDs": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "trustedIdentityPropagationSettings": {
              "description": "The Trusted Identity Propagation (TIP) settings for the SageMaker domain.\nThese settings determine how user identities from IAM Identity Center are\npropagated through the domain to TIP enabled Amazon Web Services services.",
              "properties": {
                "status": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "unifiedStudioSettings": {
              "description": "The settings that apply to an Amazon SageMaker AI domain when you use it\nin Amazon SageMaker Unified Studio.",
              "properties": {
                "domainAccountID": {
                  "type": "string"
                },
                "domainID": {
                  "type": "string"
                },
                "domainRegion": {
                  "type": "string"
                },
                "environmentID": {
                  "type": "string"
                },
                "projectID": {
                  "type": "string"
                },
                "projectS3Path": {
                  "type": "string"
                },
                "singleSignOnApplicationARN": {
                  "type": "string"
                },
                "studioWebPortalAccess": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "homeEFSFileSystemKMSKeyID": {
          "description": "Use KmsKeyId.\n\nRegex Pattern: `^[a-zA-Z0-9:/_-]*$`",
          "type": "string"
        },
        "kmsKeyID": {
          "description": "SageMaker AI uses Amazon Web Services KMS to encrypt EFS and EBS volumes\nattached to the domain with an Amazon Web Services managed key by default.\nFor more control, specify a customer managed key.\n\nRegex Pattern: `^[a-zA-Z0-9:/_-]*$`",
          "type": "string"
        },
        "subnetIDs": {
          "description": "The VPC subnets that the domain uses for communication.\n\nThe field is optional when the AppNetworkAccessType parameter is set to PublicInternetOnly\nfor domains created from Amazon SageMaker Unified Studio.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tags": {
          "description": "Tags to associated with the Domain. Each tag consists of a key and an optional\nvalue. Tag keys must be unique per resource. Tags are searchable using the\nSearch API.\n\nTags that you specify for the Domain are also added to all Apps that the\nDomain launches.",
          "items": {
            "description": "A tag object that consists of a key and an optional value, used to manage\nmetadata for SageMaker Amazon Web Services resources.\n\nYou can add tags to notebook instances, training jobs, hyperparameter tuning\njobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations,\nand endpoints. For more information on adding tags to SageMaker resources,\nsee AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html).\n\nFor more information on adding metadata to your Amazon Web Services resources\nwith tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).\nFor advice on best practices for managing Amazon Web Services resources with\ntagging, see Tagging Best Practices: Implement an Effective Amazon Web Services\nResource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf).",
            "properties": {
              "key": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "vpcID": {
          "description": "The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for\ncommunication.\n\nThe field is optional when the AppNetworkAccessType parameter is set to PublicInternetOnly\nfor domains created from Amazon SageMaker Unified Studio.\n\nRegex Pattern: `^[-0-9a-zA-Z]+$`",
          "type": "string"
        }
      },
      "required": [
        "authMode",
        "defaultUserSettings",
        "domainName"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "DomainStatus defines the observed state of Domain",
      "properties": {
        "ackResourceMetadata": {
          "description": "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource",
          "properties": {
            "arn": {
              "description": "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270",
              "type": "string"
            },
            "ownerAccountID": {
              "description": "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource.",
              "type": "string"
            },
            "region": {
              "description": "Region is the AWS region in which the resource exists or will exist.",
              "type": "string"
            }
          },
          "required": [
            "ownerAccountID",
            "region"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "conditions": {
          "description": "All CRs managed by ACK have a common `Status.Conditions` member that\ncontains a collection of `ackv1alpha1.Condition` objects that describe\nthe various terminal states of the CR and its backend AWS service API\nresource",
          "items": {
            "description": "Condition is the common struct used by all CRDs managed by ACK service\ncontrollers to indicate terminal states  of the CR and its backend AWS\nservice API resource",
            "properties": {
              "lastTransitionTime": {
                "description": "Last time the condition transitioned from one status to another.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "A human readable message indicating details about the transition.",
                "type": "string"
              },
              "reason": {
                "description": "The reason for the condition's last transition.",
                "type": "string"
              },
              "status": {
                "description": "Status of the condition, one of True, False, Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type is the type of the Condition",
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "domainID": {
          "description": "The domain ID.\n\nRegex Pattern: `^d-(-*[a-z0-9]){1,61}$`",
          "type": "string"
        },
        "status": {
          "description": "The status.",
          "type": "string"
        },
        "url": {
          "description": "The URL to the created domain.",
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
