import { IDevKnativePkgApisURL } from "../../knative.dev/pkg/apis/URL.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * TrafficTarget holds a single entry of the routing table for a Route. */ export interface ITrafficTarget { /** * ConfigurationName of a configuration to whose latest revision we will send * this portion of traffic. When the "status.latestReadyRevisionName" of the * referenced configuration changes, we will automatically migrate traffic * from the prior "latest ready" revision to the new one. This field is never * set in Route's status, only its spec. This is mutually exclusive with * RevisionName. */ "configurationName"?: string; /** * LatestRevision may be optionally provided to indicate that the latest * ready Revision of the Configuration should be used for this traffic * target. When provided LatestRevision must be true if RevisionName is * empty; it must be false when RevisionName is non-empty. */ "latestRevision"?: boolean; /** * Percent indicates that percentage based routing should be used and * the value indicates the percent of traffic that is be routed to this * Revision or Configuration. `0` (zero) mean no traffic, `100` means all * traffic. * When percentage based routing is being used the follow rules apply: * - the sum of all percent values must equal 100 * - when not specified, the implied value for `percent` is zero for * that particular Revision or Configuration */ "percent"?: number; /** * RevisionName of a specific revision to which to send this portion of * traffic. This is mutually exclusive with ConfigurationName. */ "revisionName"?: string; /** * Tag is optionally used to expose a dedicated url for referencing * this target exclusively. */ "tag"?: string; /** * URL displays the URL for accessing named traffic targets. URL is displayed in * status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and * a hostname, but may not contain anything else (e.g. basic auth, url path, etc.) */ "url"?: IDevKnativePkgApisURL; } /** * TrafficTarget holds a single entry of the routing table for a Route. */ export declare class TrafficTarget extends Model implements ITrafficTarget { "configurationName"?: string; "latestRevision"?: boolean; "percent"?: number; "revisionName"?: string; "tag"?: string; "url"?: IDevKnativePkgApisURL; constructor(data?: ModelData); } export type { ITrafficTarget as IDevKnativeServingPkgApisServingV1TrafficTarget, TrafficTarget as DevKnativeServingPkgApisServingV1TrafficTarget };