def prompt_for_create_oss_bucket()

in pai/toolkit/config.py [0:0]


def prompt_for_create_oss_bucket(user_profile: UserProfile, workspace_id):
    gen_bucket_name = f"pai-{user_profile.account_id}-{workspace_id}"

    while True:
        bucket_name = prompt(
            localized_text(
                "Please confirm the OSS Bucket name:\n",
                "请确认新建的 OSS 的 Bucket名称:\n",
            ),
            default=gen_bucket_name,
            validator=Validator.from_callable(
                validate_func=validate_bucket_name,
                error_message=localized_text(
                    "Invalid bucket name.",
                    "错误的Bucket名称.",
                ),
                move_cursor_to_end=True,
            ),
        )

        res = confirm(
            localized_text(
                f"Confirm to create the OSS Bucket. BucketName:{bucket_name}",
                f"是否使用该名称创建新的OSS Bucket。 BucketName:{bucket_name}",
            )
        )
        if not res:
            continue

        try:
            user_profile.create_oss_bucket(bucket_name)
            print_highlight(
                localized_text(
                    f"Create bucket succeeded. {bucket_name}",
                    f"Bucket创建成功. {bucket_name}",
                )
            )
            break
        except oss2.exceptions.ServerError as e:
            if e.code == "BucketAlreadyExists":
                # if bucket already exists.
                print_warning(
                    localized_text(
                        f"Bucket already exists: {bucket_name}",
                        f"当前Bucket已经被占用: {bucket_name}",
                    )
                )
                if bucket_name == gen_bucket_name:
                    gen_bucket_name = (
                        f"pai-{user_profile.account_id}-{workspace_id}-{random_str(6)}"
                    )
                continue
            raise e

    return bucket_name