/** * Configuration schema for the VCF Automation catalog ingestor module. * * This module extends the catalog plugin to ingest VCF Automation resources * into the Backstage catalog. */ export interface Config { /** * VCF Automation configuration */ vcfAutomation?: { /** * Enable or disable the plugin * @visibility frontend */ enabled?: boolean; /** * VCF Automation base URL (legacy single instance) */ baseUrl?: string; /** * Instance name (legacy single instance) */ name?: string; /** * VCF Automation major version (8 or 9) */ majorVersion?: number; /** * Organization name */ orgName?: string; /** * Organization type (vm-apps or all-apps) */ organizationType?: 'vm-apps' | 'all-apps'; /** * List of CCI supervisor resource kinds to ingest for all-apps instances. * Each kind is fetched in a separate request (the API only allows one kind per request). * Defaults to ['VirtualMachine', 'Cluster', 'VirtualMachineService', 'PersistentVolumeClaim']. */ supervisorResourceKinds?: string[]; /** * Authentication configuration (legacy single instance) */ authentication?: { /** * Username for API access */ username: string; /** * Password for API access * @visibility secret */ password: string; /** * Domain for authentication */ domain?: string; }; /** * Multiple VCF Automation instances configuration */ instances?: Array<{ /** * VCF Automation base URL */ baseUrl: string; /** * Instance name for identification */ name?: string; /** * VCF Automation major version (8 or 9) */ majorVersion?: number; /** * Organization name */ orgName?: string; /** * Organization type (vm-apps or all-apps) */ organizationType?: 'vm-apps' | 'all-apps'; /** * List of CCI supervisor resource kinds to ingest for all-apps instances. * Each kind is fetched in a separate request (the API only allows one kind per request). * Defaults to ['VirtualMachine', 'Cluster', 'VirtualMachineService', 'PersistentVolumeClaim']. */ supervisorResourceKinds?: string[]; /** * Authentication configuration */ authentication: { /** * Username for API access */ username: string; /** * Password for API access * @visibility secret */ password: string; /** * Domain for authentication */ domain?: string; }; }>; }; }