@kubernetes-models/gke
Version:
191 lines (190 loc) • 8.34 kB
TypeScript
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@kubernetes-models/base";
export interface IServiceUsageConsumerQuotaOverride {
/**
* 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/api-conventions.md#resources
*/
"apiVersion": "serviceusage.cnrm.cloud.google.com/v1alpha1";
/**
* 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/api-conventions.md#types-kinds
*/
"kind": "ServiceUsageConsumerQuotaOverride";
"metadata"?: IObjectMeta;
"spec": {
/**
* Immutable. If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit.
*/
"dimensions"?: {
[key: string]: string;
};
/**
* If the new quota would decrease the existing quota by more than 10%, the request is rejected.
* If 'force' is 'true', that safety check is ignored.
*/
"force"?: boolean;
/**
* Immutable. The limit on the metric, e.g. '/project/region'.
*
* ~> Make sure that 'limit' is in a format that doesn't start with '1/' or contain curly braces.
* E.g. use '/project/user' instead of '1/{project}/{user}'.
*/
"limit": string;
/**
* Immutable. The metric that should be limited, e.g. 'compute.googleapis.com/cpus'.
*/
"metric": string;
/**
* The overriding quota limit value. Can be any nonnegative integer, or -1 (unlimited quota).
*/
"overrideValue": string;
/**
* The project that this resource belongs to.
*/
"projectRef": {
/**
* Allowed value: The `name` field of a `Project` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & (Exclude<{
/**
* Allowed value: The `name` field of a `Project` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `Project` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}> | Exclude<{
/**
* Allowed value: The `name` field of a `Project` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `Project` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & ({
/**
* Allowed value: The `name` field of a `Project` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} | {
/**
* Allowed value: The `name` field of a `Project` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace": string;
})>);
/**
* Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.
*/
"resourceID"?: string;
/**
* Immutable. The service that the metrics belong to, e.g. 'compute.googleapis.com'.
*/
"service": string;
};
"status"?: {
/**
* Conditions represent the latest available observation of the resource's current state.
*/
"conditions"?: Array<{
/**
* Last time the condition transitioned from one status to another.
*/
"lastTransitionTime"?: string;
/**
* Human-readable message indicating details about last transition.
*/
"message"?: string;
/**
* Unique, one-word, CamelCase reason for the condition's last transition.
*/
"reason"?: string;
/**
* Status is the status of the condition. Can be True, False, Unknown.
*/
"status"?: string;
/**
* Type is the type of the condition.
*/
"type"?: string;
}>;
/**
* The server-generated name of the quota override.
*/
"name"?: string;
/**
* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.
*/
"observedGeneration"?: number;
};
}
export declare class ServiceUsageConsumerQuotaOverride extends Model<IServiceUsageConsumerQuotaOverride> implements IServiceUsageConsumerQuotaOverride {
"apiVersion": IServiceUsageConsumerQuotaOverride["apiVersion"];
"kind": IServiceUsageConsumerQuotaOverride["kind"];
"metadata"?: IServiceUsageConsumerQuotaOverride["metadata"];
"spec": IServiceUsageConsumerQuotaOverride["spec"];
"status"?: IServiceUsageConsumerQuotaOverride["status"];
static apiVersion: IServiceUsageConsumerQuotaOverride["apiVersion"];
static kind: IServiceUsageConsumerQuotaOverride["kind"];
static is: import("@kubernetes-models/base").TypeMetaGuard<IServiceUsageConsumerQuotaOverride>;
constructor(data?: ModelData<IServiceUsageConsumerQuotaOverride>);
}