Source code for vs_common.model

"""
model.py
============
This module contains the view server shared configuration models
"""

from dataclasses import dataclass
from typing import Optional, Dict
from enum import Enum


[docs] class FilesystemType(str, Enum): swift = "swift" s3 = "s3" file = "file" sshfs = "sshfs"
VSI_MAPPING: Dict[FilesystemType, str] = { FilesystemType.swift: "/vsiswift/", FilesystemType.s3: "/vsis3/", FilesystemType.sshfs: "", FilesystemType.file: "", }
[docs] @dataclass class S3FilesystemConfig: access_key_id: str = "" secret_access_key: str = "" endpoint_url: str = "" region: str = "" public: bool = False
[docs] @dataclass class SwiftFileystemConfig: user: str key: str region_name: str authurl: str auth_version: str tenant_name: str
[docs] @dataclass class LocalFilesystemConfig: pass
[docs] @dataclass class SSHFilesystemConfig: host: str username: str password: str
[docs] @dataclass class FilesystemConfig: type: FilesystemType s3: Optional[S3FilesystemConfig] = None swift: Optional[SwiftFileystemConfig] = None local: Optional[LocalFilesystemConfig] = None sshfs: Optional[SSHFilesystemConfig] = None
[docs] @dataclass class CatalogConfig: id: str = "vs-stac-catalog" description: str = "View Server STAC catalog" title: str = "VS Catalog"