class ShotgridSettings(BaseSettingsModel):
"""ShotGrid integration settings.
Main setting for the AYON x ShotGrid integration, these need to be filled
out in order to for the services to correctly operate.
"""
shotgrid_server: str = SettingsField(
default="",
title="ShotGrid URL",
description="The URL to the ShotGrid Server we want to interact with.",
example="https://my-site.shotgrid.autodesk.com",
scope=["studio"]
)
client_login: ClientLoginModel = SettingsField(
default_factory=ClientLoginModel,
title="Client login settings",
scope=["studio"],
section="---",
)
shotgrid_project_code_field: str = SettingsField(
default="code",
title="ShotGrid Project Code field name",
description=(
"In order to create AYON projects, we need a Project Code, you "
"can specify here which field in the ShotGrid Project "
"entity represents it."
),
example="sg_code",
scope=["studio"],
)
enable_shotgrid_local_storage: bool = SettingsField(
default=True,
title="Enable ShotGrid Local Storage.",
description=(
"Whether to try make use of local storage defined in ShotGrid "
"('Site Preferences -> File Management -> Local Storage') or not."
),
scope=["studio"],
)
shotgrid_local_storage_key: str = SettingsField(
default="primary",
title="ShotGrid Local Storage entry name",
description=(
"Name of the 'code' to select which one of the multiple "
"possible local storages entries to use."
),
example="ayon_storage",
scope=["studio"],
)
anatomy_preset: str = SettingsField(
default="_",
title="Anatomy Preset",
description=(
"The anatomy preset to use for the "
"ShotGrid synchronized projects."
),
enum_resolver=anatomy_presets_enum
)
compatibility_settings: ShotgridCompatibilitySettings = SettingsField(
default_factory=ShotgridCompatibilitySettings,
title="ShotGrid <-> AYON compatibility Settings",
description=(
"All the settings that allow us to fine-grain the relation "
"between ShotGrid and AYON entities."
)
)
service_settings: ShotgridServiceSettings = SettingsField(
default_factory=ShotgridServiceSettings,
title="Service settings",
scope=["studio"],
)