Skip to main content

CatalogResource

Trait CatalogResource 

Source
pub trait CatalogResource: Hostable {
    type Config: CatalogService + Send + Sync;

    const PROVIDER_PREFIX: &'static str;
    const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)];

    // Required method
    fn build_config(
        ctx: &ProvisionContext<'_>,
    ) -> Result<Self::Config, IntegrationError>;
}
Expand description

A catalog resource: a typed config + the credential fields it exposes. The ProviderOps lifecycle is derived (blanket impl below), so a new resource is just this trait + a Hostable + one registry row.

Required Associated Constants§

Source

const PROVIDER_PREFIX: &'static str

The env-var prefix the provider uses for the unambiguous form, e.g. "CLOUDFLARE" (vars come back as {RESOURCE}_{SUFFIX} or {PROVIDER}_{SUFFIX}).

Source

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

(env-var suffix, output name, required). Discover the real suffixes with xtask discover <reference>; pinned by the live smoke.

Required Associated Types§

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl CatalogResource for AgentMailApi

Source§

const PROVIDER_PREFIX: &'static str = "AGENTMAIL"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = AgentMailApiConfig

Source§

impl CatalogResource for AgentPhoneNumber

Source§

const PROVIDER_PREFIX: &'static str = "AGENTPHONE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = AgentPhoneNumberConfig

Source§

impl CatalogResource for AmplitudeAnalytics

Source§

const PROVIDER_PREFIX: &'static str = "AMPLITUDE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = AmplitudeAnalyticsConfig

Source§

impl CatalogResource for Auth0Client

Source§

const PROVIDER_PREFIX: &'static str = "AUTH0"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = Auth0ClientConfig

Source§

impl CatalogResource for Base44ProjectsApp

Source§

const PROVIDER_PREFIX: &'static str = "BASE44"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = Base44ProjectsAppConfig

Source§

impl CatalogResource for BlaxelSandbox

Source§

const PROVIDER_PREFIX: &'static str = "BLAXEL"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = BlaxelSandboxConfig

Source§

impl CatalogResource for BrowserbaseProject

Source§

const PROVIDER_PREFIX: &'static str = "BROWSERBASE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = BrowserbaseProjectConfig

Source§

impl CatalogResource for ChatbaseAgent

Source§

const PROVIDER_PREFIX: &'static str = "CHATBASE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = ChatbaseAgentConfig

Source§

impl CatalogResource for ClickHouseClickhouse

Source§

const PROVIDER_PREFIX: &'static str = "CLICKHOUSE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = ClickHouseClickhouseConfig

Source§

impl CatalogResource for ClickHousePostgres

Source§

const PROVIDER_PREFIX: &'static str = "CLICKHOUSE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = ClickHousePostgresConfig

Source§

impl CatalogResource for CloudflareBrowserRun

Source§

const PROVIDER_PREFIX: &'static str = "CLOUDFLARE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)] = super::WORKERS_FAMILY_OUTPUT_FIELDS

Source§

type Config = BrowserRunConfig

Source§

impl CatalogResource for CloudflareD1

Source§

const PROVIDER_PREFIX: &'static str = "CLOUDFLARE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = D1Config

Source§

impl CatalogResource for CloudflareHyperdrive

Source§

const PROVIDER_PREFIX: &'static str = "CLOUDFLARE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = HyperdriveConfig

Source§

impl CatalogResource for CloudflareKv

Source§

const PROVIDER_PREFIX: &'static str = "CLOUDFLARE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = KvConfig

Source§

impl CatalogResource for CloudflareQueues

Source§

const PROVIDER_PREFIX: &'static str = "CLOUDFLARE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = QueuesConfig

Source§

impl CatalogResource for CloudflareR2

Source§

const PROVIDER_PREFIX: &'static str = "CLOUDFLARE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = R2Config

Source§

impl CatalogResource for CloudflareWorkers

Source§

const PROVIDER_PREFIX: &'static str = "CLOUDFLARE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)] = super::WORKERS_FAMILY_OUTPUT_FIELDS

Source§

type Config = WorkersConfig

Source§

impl CatalogResource for CloudflareWorkersAi

Source§

const PROVIDER_PREFIX: &'static str = "CLOUDFLARE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)] = super::WORKERS_FAMILY_OUTPUT_FIELDS

Source§

type Config = WorkersAiConfig

Source§

impl CatalogResource for ComposioProject

Source§

const PROVIDER_PREFIX: &'static str = "COMPOSIO"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = ComposioProjectConfig

Source§

impl CatalogResource for CustomerioWorkspace

Source§

const PROVIDER_PREFIX: &'static str = "CUSTOMERIO"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = CustomerioWorkspaceConfig

Source§

impl CatalogResource for DatadogObservability

Source§

const PROVIDER_PREFIX: &'static str = "DATADOG"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = DatadogObservabilityConfig

Source§

impl CatalogResource for DepotApi

Source§

const PROVIDER_PREFIX: &'static str = "DEPOT"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = DepotApiConfig

Source§

impl CatalogResource for E2BSandbox

Source§

const PROVIDER_PREFIX: &'static str = "E2B"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = E2BSandboxConfig

Source§

impl CatalogResource for ElevenLabsTts

Source§

const PROVIDER_PREFIX: &'static str = "ELEVENLABS"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = ElevenLabsTtsConfig

Source§

impl CatalogResource for ExaApi

Source§

const PROVIDER_PREFIX: &'static str = "EXA"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = ExaApiConfig

Source§

impl CatalogResource for FirecrawlApi

Source§

const PROVIDER_PREFIX: &'static str = "FIRECRAWL"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = FirecrawlApiConfig

Source§

impl CatalogResource for FlyioMpg

Source§

const PROVIDER_PREFIX: &'static str = "FLYIO"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = FlyioMpgConfig

Source§

impl CatalogResource for FlyioSprite

Source§

const PROVIDER_PREFIX: &'static str = "FLYIO"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = FlyioSpriteConfig

Source§

impl CatalogResource for GitLabProject

Source§

const PROVIDER_PREFIX: &'static str = "GITLAB"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)] = OUTPUT_FIELDS

Source§

type Config = GitLabProjectConfig

Source§

impl CatalogResource for HuggingFaceBucket

Source§

const PROVIDER_PREFIX: &'static str = "HUGGINGFACE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = HuggingFaceBucketConfig

Source§

impl CatalogResource for HuggingFacePlatform

Source§

const PROVIDER_PREFIX: &'static str = "HUGGINGFACE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = HuggingFacePlatformConfig

Source§

impl CatalogResource for InngestApp

Source§

const PROVIDER_PREFIX: &'static str = "INNGEST"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = InngestAppConfig

Source§

impl CatalogResource for KERNELProject

Source§

const PROVIDER_PREFIX: &'static str = "KERNEL"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = KERNELProjectConfig

Source§

impl CatalogResource for LaravelCloudApplication

Source§

const PROVIDER_PREFIX: &'static str = "LARAVEL_CLOUD"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)] = OUTPUT_FIELDS

Source§

type Config = LaravelCloudApplicationConfig

Source§

impl CatalogResource for LaravelCloudMysql

Source§

const PROVIDER_PREFIX: &'static str = "LARAVEL_CLOUD"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = LaravelCloudMysqlConfig

Source§

impl CatalogResource for LaravelCloudValkey

Source§

const PROVIDER_PREFIX: &'static str = "LARAVEL_CLOUD"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = LaravelCloudValkeyConfig

Source§

impl CatalogResource for MetronomeSandbox

Source§

const PROVIDER_PREFIX: &'static str = "METRONOME"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = MetronomeSandboxConfig

Source§

impl CatalogResource for MixpanelAnalytics

Source§

const PROVIDER_PREFIX: &'static str = "MIXPANEL"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = MixpanelAnalyticsConfig

Source§

impl CatalogResource for NeonPostgres

Source§

const PROVIDER_PREFIX: &'static str = "NEON"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = NeonPostgresConfig

Source§

impl CatalogResource for OpenRouterApi

Source§

const PROVIDER_PREFIX: &'static str = "OPENROUTER"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = OpenRouterApiConfig

Source§

impl CatalogResource for ParallelApi

Source§

const PROVIDER_PREFIX: &'static str = "PARALLEL"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = ParallelApiConfig

Source§

impl CatalogResource for PlanetScaleMysql

Source§

const PROVIDER_PREFIX: &'static str = "PLANETSCALE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = PlanetScaleMysqlConfig

Source§

impl CatalogResource for PlanetScalePostgresql

Source§

const PROVIDER_PREFIX: &'static str = "PLANETSCALE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = PlanetScalePostgresqlConfig

Source§

impl CatalogResource for PostHogAnalytics

Source§

const PROVIDER_PREFIX: &'static str = "POSTHOG"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = PostHogAnalyticsConfig

Source§

impl CatalogResource for PostalFormMail

Source§

const PROVIDER_PREFIX: &'static str = "POSTALFORM"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = PostalFormMailConfig

Source§

impl CatalogResource for PrismaDatabase

Source§

const PROVIDER_PREFIX: &'static str = "PRISMA"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = PrismaDatabaseConfig

Source§

impl CatalogResource for PydanticLogfire

Source§

const PROVIDER_PREFIX: &'static str = "PYDANTIC"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = PydanticLogfireConfig

Source§

impl CatalogResource for RailwayBucket

Source§

const PROVIDER_PREFIX: &'static str = "RAILWAY"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = RailwayBucketConfig

Source§

impl CatalogResource for RailwayHosting

Source§

const PROVIDER_PREFIX: &'static str = "RAILWAY"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)] = OUTPUT_FIELDS

Source§

type Config = RailwayHostingConfig

Source§

impl CatalogResource for RailwayMongo

Source§

const PROVIDER_PREFIX: &'static str = "RAILWAY"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = RailwayMongoConfig

Source§

impl CatalogResource for RailwayPostgres

Source§

const PROVIDER_PREFIX: &'static str = "RAILWAY"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = RailwayPostgresConfig

Source§

impl CatalogResource for RailwayRedis

Source§

const PROVIDER_PREFIX: &'static str = "RAILWAY"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = RailwayRedisConfig

Source§

impl CatalogResource for RenderPostgres

Source§

const PROVIDER_PREFIX: &'static str = "RENDER"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = RenderPostgresConfig

Source§

impl CatalogResource for RevenuecatApp

Source§

const PROVIDER_PREFIX: &'static str = "REVENUECAT"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = RevenuecatAppConfig

Source§

impl CatalogResource for RunloopSandbox

Source§

const PROVIDER_PREFIX: &'static str = "RUNLOOP"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = RunloopSandboxConfig

Source§

impl CatalogResource for SchematicEnvironment

Source§

const PROVIDER_PREFIX: &'static str = "SCHEMATIC"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = SchematicEnvironmentConfig

Source§

impl CatalogResource for SentryProject

Source§

const PROVIDER_PREFIX: &'static str = "SENTRY"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = SentryProjectConfig

Source§

impl CatalogResource for SentrySeer

Source§

const PROVIDER_PREFIX: &'static str = "SENTRY"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = SentrySeerConfig

Source§

impl CatalogResource for SteelBrowser

Source§

const PROVIDER_PREFIX: &'static str = "STEEL"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = SteelBrowserConfig

Source§

impl CatalogResource for SupabaseProject

Source§

const PROVIDER_PREFIX: &'static str = "SUPABASE"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = SupabaseProjectConfig

Source§

impl CatalogResource for SupermemoryMemory

Source§

const PROVIDER_PREFIX: &'static str = "SUPERMEMORY"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = SupermemoryMemoryConfig

Source§

impl CatalogResource for TabstackApi

Source§

const PROVIDER_PREFIX: &'static str = "TABSTACK"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = TabstackApiConfig

Source§

impl CatalogResource for TursoDatabase

Source§

const PROVIDER_PREFIX: &'static str = "TURSO"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = TursoDatabaseConfig

Source§

impl CatalogResource for UpstashQstash

Source§

const PROVIDER_PREFIX: &'static str = "UPSTASH"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = UpstashQstashConfig

Source§

impl CatalogResource for UpstashRedis

Source§

const PROVIDER_PREFIX: &'static str = "UPSTASH"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = UpstashRedisConfig

Source§

impl CatalogResource for UpstashSearch

Source§

const PROVIDER_PREFIX: &'static str = "UPSTASH"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = UpstashSearchConfig

Source§

impl CatalogResource for UpstashVector

Source§

const PROVIDER_PREFIX: &'static str = "UPSTASH"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = UpstashVectorConfig

Source§

impl CatalogResource for WixHeadless

Source§

const PROVIDER_PREFIX: &'static str = "WIX"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = WixHeadlessConfig

Source§

impl CatalogResource for WordPressComSite

Source§

const PROVIDER_PREFIX: &'static str = "WORDPRESS_COM"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)] = OUTPUT_FIELDS

Source§

type Config = WordPressComSiteConfig

Source§

impl CatalogResource for WorkOSAuth

Source§

const PROVIDER_PREFIX: &'static str = "WORKOS"

Source§

const OUTPUT_FIELDS: &'static [(&'static str, &'static str, bool)]

Source§

type Config = WorkOSAuthConfig