import type { UserPassword } from '../schemas/UserPassword'; import type { Anonymous } from '../schemas/Anonymous'; import type { AccessKeySecretKey } from '../schemas/AccessKeySecretKey'; import type { AuthType } from '../schemas/AuthType'; import type { UpstreamProxyConfigFirewallMode } from '../schemas/UpstreamProxyConfigFirewallMode'; /** * Configuration for Harness Artifact UpstreamProxies */ export interface UpstreamConfig { auth?: UserPassword | Anonymous | AccessKeySecretKey; authType: AuthType; firewallMode?: UpstreamProxyConfigFirewallMode; /** * @format int64 */ metadataCacheTTL?: number; /** * @format int64 */ negativeCacheTTL?: number; /** * Optional path suffix appended to the remote URL for this registry. For Python upstreams, this allows overriding the default `/simple` path used for PyPI-compatible indexes. Leading and trailing slashes are not required and will be normalized. * */ remoteUrlSuffix?: string; /** * Secondary upstream URL. For Terraform registries, the primary URL is used for modules and the secondary URL for providers. * */ secondaryUrl?: string; source?: 'Anaconda' | 'AwsEcr' | 'CRAN' | 'ConanCenter' | 'Crates' | 'Custom' | 'Dockerhub' | 'GoProxy' | 'HelmChartRepo' | 'HuggingFace' | 'MavenCentral' | 'NpmJs' | 'NugetOrg' | 'Packagist' | 'Pubdev' | 'PuppetForge' | 'PyPi' | 'RubyGems' | 'TerraformRegistry'; url?: string; }