/* tslint:disable */ /* eslint-disable */ /** * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: unversioned * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists } from '../runtime'; import { IoK8sApiNetworkingV1IngressBackend, IoK8sApiNetworkingV1IngressBackendFromJSON, IoK8sApiNetworkingV1IngressBackendToJSON, } from './'; /** * HTTPIngressPath associates a path with a backend. Incoming urls matching the path are forwarded to the backend. * @export * @interface IoK8sApiNetworkingV1HTTPIngressPath */ export interface IoK8sApiNetworkingV1HTTPIngressPath { /** * * @type {IoK8sApiNetworkingV1IngressBackend} * @memberof IoK8sApiNetworkingV1HTTPIngressPath */ backend: IoK8sApiNetworkingV1IngressBackend; /** * path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value "Exact" or "Prefix". * @type {string} * @memberof IoK8sApiNetworkingV1HTTPIngressPath */ path?: string; /** * pathType determines the interpretation of the path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is * done on a path element by element basis. A path element refers is the * list of labels in the path split by the '/' separator. A request is a * match for path p if every p is an element-wise prefix of p of the * request path. Note that if the last element of the path is a substring * of the last element in request path, it is not a match (e.g. /foo/bar * matches /foo/bar/baz, but does not match /foo/barbaz). * * ImplementationSpecific: Interpretation of the Path matching is up to * the IngressClass. Implementations can treat this as a separate PathType * or treat it identically to Prefix or Exact path types. * Implementations are required to support all path types. * @type {string} * @memberof IoK8sApiNetworkingV1HTTPIngressPath */ pathType: string; } export function IoK8sApiNetworkingV1HTTPIngressPathFromJSON( json: any, ): IoK8sApiNetworkingV1HTTPIngressPath { return IoK8sApiNetworkingV1HTTPIngressPathFromJSONTyped(json, false); } export function IoK8sApiNetworkingV1HTTPIngressPathFromJSONTyped( json: any, _ignoreDiscriminator: boolean, ): IoK8sApiNetworkingV1HTTPIngressPath { if (json === undefined || json === null) { return json; } return { backend: IoK8sApiNetworkingV1IngressBackendFromJSON(json['backend']), path: !exists(json, 'path') ? undefined : json['path'], pathType: json['pathType'], }; } export function IoK8sApiNetworkingV1HTTPIngressPathToJSON( value?: IoK8sApiNetworkingV1HTTPIngressPath | null, ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { backend: IoK8sApiNetworkingV1IngressBackendToJSON(value.backend), path: value.path, pathType: value.pathType, }; }