async def create_catalog_async(
        self,
        name: str,
        comment: Optional[str] = None,
        properties: Optional[Dict[str, Any]] = None,
        **kwargs,
    ) -> CatalogInfo:
        """
        Create a catalog in Unity Catalog asynchronously.

        Args:
            name: The name of the catalog to create.
            comment: An optional comment (description) for the catalog.
            properties: Optional dictionary of properties for the catalog. Property options are validated
                through the REST interface and can be discovered via the Unity Catalog Server API documentation.
            **kwargs: Additional keyword arguments for the creation call (defined as overridable private methods)
                the optional values (i.e., _request_timeout, _headers, _host_index) can be found in the
                Unity Catalog Server API documentation. These parameters are in an experimental state and are
                subject to change.

        Returns:
            The created CatalogInfo object.

        Raises:
            ValueError: If the catalog already exists.
        """

        catalog = None
        try:
            catalog = await self._get_catalog(name)
        except NotFoundException:
            pass

        if catalog:
            _logger.info(f"The catalog '{name}' already exists.")
            return catalog

        catalog_create_request = CreateCatalog(
            name=name,
            comment=comment,
            properties=properties,
        )

        return await self.catalogs_client.create_catalog(
            create_catalog=catalog_create_request, **kwargs
        )

        Create a catalog in Unity Catalog asynchronously.

        Args:
            name: The name of the catalog to create.
            comment: An optional comment (description) for the catalog.
            properties: Optional dictionary of properties for the catalog. Property options are validated
                through the REST interface and can be discovered via the Unity Catalog Server API documentation.
            **kwargs: Additional keyword arguments for the creation call (defined as overridable private methods)
                the optional values (i.e., _request_timeout, _headers, _host_index) can be found in the
                Unity Catalog Server API documentation. These parameters are in an experimental state and are
                subject to change.

        Returns:
            The created CatalogInfo object.

        Raises:
            ValueError: If the catalog already exists.
        
ai/core/src/unitycatalog/ai/core/client.py