UNPKG

@kubernetes-models/gke

Version:
128 lines (127 loc) 5.93 kB
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta"; import { Model, ModelData } from "@kubernetes-models/base"; /** * GCPSessionAffinityPolicy provides a way to apply session affinity policy configuration. */ export interface IGCPSessionAffinityPolicy { /** * APIVersion defines the versioned schema of this representation of an object. * Servers should convert recognized schemas to the latest internal value, and * may reject unrecognized values. * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources */ "apiVersion": "networking.gke.io/v1"; /** * Kind is a string value representing the REST resource this object represents. * Servers may infer this from the endpoint the client submits requests to. * Cannot be updated. * In CamelCase. * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds */ "kind": "GCPSessionAffinityPolicy"; "metadata"?: IObjectMeta; /** * Spec defines the desired state of GCPSessionAffinityPolicy. */ "spec": { /** * StatefulGeneratedCookieConfig defines cookie-based stateful session affinity where the date plane * supplies a “session cookie” with the name "GSSA" which encodes a specific destination host and * each request containing that cookie will be directed to that host as long as the destination host * remains up and healthy. * GCP will manage the session cookie but the client application code is responsible for copying the * cookie from each RPC in the session to the next. */ "statefulGeneratedCookie"?: { /** * The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the * cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive. */ "cookieTtlSeconds": number; }; /** * TargetRef identifies an API object to apply policy to. */ "targetRef": { /** * Group is the group of the target resource. */ "group": string; /** * Kind is kind of the target resource. */ "kind": string; /** * Name is the name of the target resource. */ "name": string; /** * Namespace is the namespace of the referent. When unspecified, the local * namespace is inferred. Even when policy targets a resource in a different * namespace, it MUST only apply to traffic originating from the same * namespace as the policy. */ "namespace"?: string; }; }; /** * Status defines the current state of GCPSessionAffinityPolicy. */ "status"?: { /** * Conditions describe the current conditions of the GCPSessionAffinityPolicy. */ "conditions"?: Array<{ /** * lastTransitionTime is the last time the condition transitioned from one status to another. * This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. */ "lastTransitionTime": string; /** * message is a human readable message indicating details about the transition. * This may be an empty string. */ "message": string; /** * observedGeneration represents the .metadata.generation that the condition was set based upon. * For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date * with respect to the current state of the instance. */ "observedGeneration"?: number; /** * reason contains a programmatic identifier indicating the reason for the condition's last transition. * Producers of specific condition types may define expected values and meanings for this field, * and whether the values are considered a guaranteed API. * The value should be a CamelCase string. * This field may not be empty. */ "reason": string; /** * status of the condition, one of True, False, Unknown. */ "status": "True" | "False" | "Unknown"; /** * type of condition in CamelCase or in foo.example.com/CamelCase. * --- * Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be * useful (see .node.status.conditions), the ability to deconflict is important. * The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) */ "type": string; }>; }; } /** * GCPSessionAffinityPolicy provides a way to apply session affinity policy configuration. */ export declare class GCPSessionAffinityPolicy extends Model<IGCPSessionAffinityPolicy> implements IGCPSessionAffinityPolicy { "apiVersion": IGCPSessionAffinityPolicy["apiVersion"]; "kind": IGCPSessionAffinityPolicy["kind"]; "metadata"?: IGCPSessionAffinityPolicy["metadata"]; "spec": IGCPSessionAffinityPolicy["spec"]; "status"?: IGCPSessionAffinityPolicy["status"]; static apiVersion: IGCPSessionAffinityPolicy["apiVersion"]; static kind: IGCPSessionAffinityPolicy["kind"]; static is: import("@kubernetes-models/base").TypeMetaGuard<IGCPSessionAffinityPolicy>; constructor(data?: ModelData<IGCPSessionAffinityPolicy>); }