@jkcfg/kubernetes
Version:
jk Kubernetes library
1,003 lines • 728 kB
TypeScript
import * as shapes from "./shapes";
export declare namespace admissionregistration {
namespace v1alpha1 {
/**
* Initializer describes the name and the failure policy of an initializer, and what resources
* it applies to.
*/
class Initializer {
/**
* Name is the identifier of the initializer. It will be added to the object that needs to be
* initialized. Name should be fully qualified, e.g., alwayspullimages.kubernetes.io, where
* "alwayspullimages" is the name of the webhook, and kubernetes.io is the name of the
* organization. Required
*/
name?: string;
/**
* Rules describes what resources/subresources the initializer cares about. The initializer
* cares about an operation if it matches _any_ Rule. Rule.Resources must not include
* subresources.
*/
rules?: admissionregistration.v1alpha1.Rule[];
}
/**
* InitializerConfiguration describes the configuration of initializers.
*/
class InitializerConfiguration {
/**
* 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?: string;
/**
* Initializers is a list of resources and their default initializers Order-sensitive. When
* merging multiple InitializerConfigurations, we sort the initializers from different
* InitializerConfigurations by the name of the InitializerConfigurations; the order of the
* initializers from the same InitializerConfiguration is preserved.
*/
initializers?: admissionregistration.v1alpha1.Initializer[];
/**
* 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?: string;
/**
* Standard object metadata; More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
*/
metadata?: meta.v1.ObjectMeta;
/**
* Create a admissionregistration.v1alpha1.InitializerConfiguration object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.admissionregistration.v1alpha1.InitializerConfiguration);
}
/**
* InitializerConfigurationList is a list of InitializerConfiguration.
*/
class InitializerConfigurationList {
/**
* 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?: string;
/**
* List of InitializerConfiguration.
*/
items?: admissionregistration.v1alpha1.InitializerConfiguration[];
/**
* 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?: string;
/**
* Standard list metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
*/
metadata?: meta.v1.ListMeta;
/**
* Create a admissionregistration.v1alpha1.InitializerConfigurationList object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.admissionregistration.v1alpha1.InitializerConfigurationList);
}
/**
* Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended to make sure that
* all the tuple expansions are valid.
*/
class Rule {
/**
* APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present,
* the length of the slice must be one. Required.
*/
apiGroups?: string[];
/**
* APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is
* present, the length of the slice must be one. Required.
*/
apiVersions?: string[];
/**
* Resources is a list of resources this rule applies to.
*
* For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all
* resources, but not subresources. 'pods/*' means all subresources of pods. '*‍/scale'
* means all scale subresources. '*‍/*' means all resources and their subresources.
*
* If wildcard is present, the validation rule will ensure resources do not overlap with each
* other.
*
* Depending on the enclosing object, subresources might not be allowed. Required.
*/
resources?: string[];
}
}
namespace v1beta1 {
/**
* MutatingWebhookConfiguration describes the configuration of and admission webhook that accept
* or reject and may change the object.
*/
class MutatingWebhookConfiguration {
/**
* 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?: string;
/**
* 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?: string;
/**
* Standard object metadata; More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
*/
metadata?: meta.v1.ObjectMeta;
/**
* Webhooks is a list of webhooks and the affected resources and operations.
*/
webhooks?: admissionregistration.v1beta1.Webhook[];
/**
* Create a admissionregistration.v1beta1.MutatingWebhookConfiguration object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.admissionregistration.v1beta1.MutatingWebhookConfiguration);
}
/**
* MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.
*/
class MutatingWebhookConfigurationList {
/**
* 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?: string;
/**
* List of MutatingWebhookConfiguration.
*/
items?: admissionregistration.v1beta1.MutatingWebhookConfiguration[];
/**
* 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?: string;
/**
* Standard list metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
*/
metadata?: meta.v1.ListMeta;
/**
* Create a admissionregistration.v1beta1.MutatingWebhookConfigurationList object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.admissionregistration.v1beta1.MutatingWebhookConfigurationList);
}
/**
* RuleWithOperations is a tuple of Operations and Resources. It is recommended to make sure
* that all the tuple expansions are valid.
*/
class RuleWithOperations {
/**
* APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present,
* the length of the slice must be one. Required.
*/
apiGroups?: string[];
/**
* APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is
* present, the length of the slice must be one. Required.
*/
apiVersions?: string[];
/**
* Operations is the operations the admission hook cares about - CREATE, UPDATE, or * for all
* operations. If '*' is present, the length of the slice must be one. Required.
*/
operations?: string[];
/**
* Resources is a list of resources this rule applies to.
*
* For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all
* resources, but not subresources. 'pods/*' means all subresources of pods. '*‍/scale'
* means all scale subresources. '*‍/*' means all resources and their subresources.
*
* If wildcard is present, the validation rule will ensure resources do not overlap with each
* other.
*
* Depending on the enclosing object, subresources might not be allowed. Required.
*/
resources?: string[];
}
/**
* ServiceReference holds a reference to Service.legacy.k8s.io
*/
class ServiceReference {
/**
* `name` is the name of the service. Required
*/
name?: string;
/**
* `namespace` is the namespace of the service. Required
*/
namespace?: string;
/**
* `path` is an optional URL path which will be sent in any request to this service.
*/
path?: string;
}
/**
* ValidatingWebhookConfiguration describes the configuration of and admission webhook that
* accept or reject and object without changing it.
*/
class ValidatingWebhookConfiguration {
/**
* 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?: string;
/**
* 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?: string;
/**
* Standard object metadata; More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
*/
metadata?: meta.v1.ObjectMeta;
/**
* Webhooks is a list of webhooks and the affected resources and operations.
*/
webhooks?: admissionregistration.v1beta1.Webhook[];
/**
* Create a admissionregistration.v1beta1.ValidatingWebhookConfiguration object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.admissionregistration.v1beta1.ValidatingWebhookConfiguration);
}
/**
* ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.
*/
class ValidatingWebhookConfigurationList {
/**
* 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?: string;
/**
* List of ValidatingWebhookConfiguration.
*/
items?: admissionregistration.v1beta1.ValidatingWebhookConfiguration[];
/**
* 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?: string;
/**
* Standard list metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
*/
metadata?: meta.v1.ListMeta;
/**
* Create a admissionregistration.v1beta1.ValidatingWebhookConfigurationList object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.admissionregistration.v1beta1.ValidatingWebhookConfigurationList);
}
/**
* Webhook describes an admission webhook and the resources and operations it applies to.
*/
class Webhook {
/**
* ClientConfig defines how to communicate with the hook. Required
*/
clientConfig?: admissionregistration.v1beta1.WebhookClientConfig;
/**
* FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
* allowed values are Ignore or Fail. Defaults to Ignore.
*/
failurePolicy?: string;
/**
* The name of the admission webhook. Name should be fully qualified, e.g.,
* imagepolicy.kubernetes.io, where "imagepolicy" is the name of the webhook, and
* kubernetes.io is the name of the organization. Required.
*/
name?: string;
/**
* NamespaceSelector decides whether to run the webhook on an object based on whether the
* namespace for that object matches the selector. If the object itself is a namespace, the
* matching is performed on object.metadata.labels. If the object is another cluster scoped
* resource, it never skips the webhook.
*
* For example, to run the webhook on any objects whose namespace is not associated with
* "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
* "matchExpressions": [
* {
* "key": "runlevel",
* "operator": "NotIn",
* "values": [
* "0",
* "1"
* ]
* }
* ]
* }
*
* If instead you want to only run the webhook on any objects whose namespace is associated
* with the "environment" of "prod" or "staging"; you will set the selector as follows:
* "namespaceSelector": {
* "matchExpressions": [
* {
* "key": "environment",
* "operator": "In",
* "values": [
* "prod",
* "staging"
* ]
* }
* ]
* }
*
* See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more
* examples of label selectors.
*
* Default to the empty LabelSelector, which matches everything.
*/
namespaceSelector?: meta.v1.LabelSelector;
/**
* Rules describes what operations on what resources/subresources the webhook cares about. The
* webhook cares about an operation if it matches _any_ Rule. However, in order to prevent
* ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a
* state which cannot be recovered from without completely disabling the plugin,
* ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission
* requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.
*/
rules?: admissionregistration.v1beta1.RuleWithOperations[];
/**
* SideEffects states whether this webhookk has side effects. Acceptable values are: Unknown,
* None, Some, NoneOnDryRun Webhooks with side effects MUST implement a reconciliation system,
* since a request may be rejected by a future step in the admission change and the side
* effects therefore need to be undone. Requests with the dryRun attribute will be
* auto-rejected if they match a webhook with sideEffects == Unknown or Some. Defaults to
* Unknown.
*/
sideEffects?: string;
}
/**
* WebhookClientConfig contains the information to make a TLS connection with the webhook
*/
class WebhookClientConfig {
/**
* `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server
* certificate. If unspecified, system trust roots on the apiserver are used.
*/
caBundle?: string;
/**
* `service` is a reference to the service for this webhook. Either `service` or `url` must be
* specified.
*
* If the webhook is running within the cluster, then you should use `service`.
*
* Port 443 will be used if it is open, otherwise it is an error.
*/
service?: admissionregistration.v1beta1.ServiceReference;
/**
* `url` gives the location of the webhook, in standard URL form (`scheme://host:port/path`).
* Exactly one of `url` or `service` must be specified.
*
* The `host` should not refer to a service running in the cluster; use the `service` field
* instead. The host might be resolved via external DNS in some apiservers (e.g.,
* `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation).
* `host` may also be an IP address.
*
* Please note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take
* great care to run this webhook on all hosts which run an apiserver which might need to make
* calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn
* up in a new cluster.
*
* The scheme must be "https"; the URL must begin with "https://".
*
* A path is optional, and if present may be any string permissible in a URL. You may use the
* path to pass an arbitrary string to the webhook, for example, a cluster identifier.
*
* Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments
* ("#...") and query parameters ("?...") are not allowed, either.
*/
url?: string;
}
}
}
export declare namespace apiextensions {
namespace v1beta1 {
/**
* CustomResourceColumnDefinition specifies a column for server side printing.
*/
class CustomResourceColumnDefinition {
/**
* JSONPath is a simple JSON path, i.e. with array notation.
*/
JSONPath?: string;
/**
* description is a human readable description of this column.
*/
description?: string;
/**
* format is an optional OpenAPI type definition for this column. The 'name' format is applied
* to the primary identifier column to assist in clients identifying column is the resource
* name. See
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for
* more.
*/
format?: string;
/**
* name is a human readable name for the column.
*/
name?: string;
/**
* priority is an integer defining the relative importance of this column compared to others.
* Lower numbers are considered higher priority. Columns that may be omitted in limited space
* scenarios should be given a higher priority.
*/
priority?: number;
/**
* type is an OpenAPI type definition for this column. See
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for
* more.
*/
type?: string;
}
/**
* CustomResourceConversion describes how to convert different versions of a CR.
*/
class CustomResourceConversion {
/**
* `strategy` specifies the conversion strategy. Allowed values are: - `None`: The converter
* only change the apiVersion and would not touch any other field in the CR. - `Webhook`: API
* Server will call to an external webhook to do the conversion. Additional information is
* needed for this option.
*/
strategy?: string;
/**
* `webhookClientConfig` is the instructions for how to call the webhook if strategy is
* `Webhook`. This field is alpha-level and is only honored by servers that enable the
* CustomResourceWebhookConversion feature.
*/
webhookClientConfig?: apiextensions.v1beta1.WebhookClientConfig;
}
/**
* CustomResourceDefinition represents a resource that should be exposed on the API server. Its
* name MUST be in the format <.spec.name>.<.spec.group>.
*/
class CustomResourceDefinition {
/**
* 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?: string;
/**
* 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?: string;
metadata?: meta.v1.ObjectMeta;
/**
* Spec describes how the user wants the resources to appear
*/
spec?: apiextensions.v1beta1.CustomResourceDefinitionSpec;
/**
* Create a apiextensions.v1beta1.CustomResourceDefinition object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.apiextensions.v1beta1.CustomResourceDefinition);
}
/**
* CustomResourceDefinitionCondition contains details for the current condition of this pod.
*/
class CustomResourceDefinitionCondition {
/**
* 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;
/**
* Type is the type of the condition.
*/
type?: string;
}
/**
* CustomResourceDefinitionList is a list of CustomResourceDefinition objects.
*/
class CustomResourceDefinitionList {
/**
* 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?: string;
/**
* Items individual CustomResourceDefinitions
*/
items?: apiextensions.v1beta1.CustomResourceDefinition[];
/**
* 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?: string;
metadata?: meta.v1.ListMeta;
/**
* Create a apiextensions.v1beta1.CustomResourceDefinitionList object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.apiextensions.v1beta1.CustomResourceDefinitionList);
}
/**
* CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition
*/
class CustomResourceDefinitionNames {
/**
* Categories is a list of grouped resources custom resources belong to (e.g. 'all')
*/
categories?: string[];
/**
* Kind is the serialized kind of the resource. It is normally CamelCase and singular.
*/
kind?: string;
/**
* ListKind is the serialized kind of the list for this resource. Defaults to <kind>List.
*/
listKind?: string;
/**
* Plural is the plural name of the resource to serve. It must match the name of the
* CustomResourceDefinition-registration too: plural.group and it must be all lowercase.
*/
plural?: string;
/**
* ShortNames are short names for the resource. It must be all lowercase.
*/
shortNames?: string[];
/**
* Singular is the singular name of the resource. It must be all lowercase Defaults to
* lowercased <kind>
*/
singular?: string;
}
/**
* CustomResourceDefinitionSpec describes how a user wants their resource to appear
*/
class CustomResourceDefinitionSpec {
/**
* AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name.
* Defaults to a created-at column. Optional, the global columns for all versions. Top-level
* and per-version columns are mutually exclusive.
*/
additionalPrinterColumns?: apiextensions.v1beta1.CustomResourceColumnDefinition[];
/**
* `conversion` defines conversion settings for the CRD.
*/
conversion?: apiextensions.v1beta1.CustomResourceConversion;
/**
* Group is the group this resource belongs in
*/
group?: string;
/**
* Names are the names used to describe this custom resource
*/
names?: apiextensions.v1beta1.CustomResourceDefinitionNames;
/**
* Scope indicates whether this resource is cluster or namespace scoped. Default is
* namespaced
*/
scope?: string;
/**
* Subresources describes the subresources for CustomResource Optional, the global
* subresources for all versions. Top-level and per-version subresources are mutually
* exclusive.
*/
subresources?: apiextensions.v1beta1.CustomResourceSubresources;
/**
* Validation describes the validation methods for CustomResources Optional, the global
* validation schema for all versions. Top-level and per-version schemas are mutually
* exclusive.
*/
validation?: apiextensions.v1beta1.CustomResourceValidation;
/**
* Version is the version this resource belongs in Should be always first item in Versions
* field if provided. Optional, but at least one of Version or Versions must be set.
* Deprecated: Please use `Versions`.
*/
version?: string;
/**
* Versions is the list of all supported versions for this resource. If Version field is
* provided, this field is optional. Validation: All versions must use the same validation
* schema for now. i.e., top level Validation field is applied to all of these versions.
* Order: The version name will be used to compute the order. If the version string is
* "kube-like", it will sort above non "kube-like" version strings, which are ordered
* lexicographically. "Kube-like" versions start with a "v", then are followed by a number
* (the major version), then optionally the string "alpha" or "beta" and another number (the
* minor version). These are sorted first by GA > beta > alpha (where GA is a version with no
* suffix such as beta or alpha), and then by comparing major version, then minor version. An
* example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1,
* v11alpha2, foo1, foo10.
*/
versions?: apiextensions.v1beta1.CustomResourceDefinitionVersion[];
}
/**
* CustomResourceDefinitionVersion describes a version for CRD.
*/
class CustomResourceDefinitionVersion {
/**
* AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name.
* Defaults to a created-at column. Top-level and per-version columns are mutually exclusive.
* Per-version columns must not all be set to identical values (top-level columns should be
* used instead) This field is alpha-level and is only honored by servers that enable the
* CustomResourceWebhookConversion feature. NOTE: CRDs created prior to 1.13 populated the
* top-level additionalPrinterColumns field by default. To apply an update that changes to
* per-version additionalPrinterColumns, the top-level additionalPrinterColumns field must be
* explicitly set to null
*/
additionalPrinterColumns?: apiextensions.v1beta1.CustomResourceColumnDefinition[];
/**
* Name is the version name, e.g. “v1”, “v2beta1”, etc.
*/
name?: string;
/**
* Schema describes the schema for CustomResource used in validation, pruning, and defaulting.
* Top-level and per-version schemas are mutually exclusive. Per-version schemas must not all
* be set to identical values (top-level validation schema should be used instead) This field
* is alpha-level and is only honored by servers that enable the
* CustomResourceWebhookConversion feature.
*/
schema?: apiextensions.v1beta1.CustomResourceValidation;
/**
* Served is a flag enabling/disabling this version from being served via REST APIs
*/
served?: boolean;
/**
* Storage flags the version as storage version. There must be exactly one flagged as storage
* version.
*/
storage?: boolean;
/**
* Subresources describes the subresources for CustomResource Top-level and per-version
* subresources are mutually exclusive. Per-version subresources must not all be set to
* identical values (top-level subresources should be used instead) This field is alpha-level
* and is only honored by servers that enable the CustomResourceWebhookConversion feature.
*/
subresources?: apiextensions.v1beta1.CustomResourceSubresources;
}
/**
* CustomResourceSubresourceScale defines how to serve the scale subresource for
* CustomResources.
*/
class CustomResourceSubresourceScale {
/**
* LabelSelectorPath defines the JSON path inside of a CustomResource that corresponds to
* Scale.Status.Selector. Only JSON paths without the array notation are allowed. Must be a
* JSON Path under .status. Must be set to work with HPA. If there is no value under the given
* path in the CustomResource, the status label selector value in the /scale subresource will
* default to the empty string.
*/
labelSelectorPath?: string;
/**
* SpecReplicasPath defines the JSON path inside of a CustomResource that corresponds to
* Scale.Spec.Replicas. Only JSON paths without the array notation are allowed. Must be a JSON
* Path under .spec. If there is no value under the given path in the CustomResource, the
* /scale subresource will return an error on GET.
*/
specReplicasPath?: string;
/**
* StatusReplicasPath defines the JSON path inside of a CustomResource that corresponds to
* Scale.Status.Replicas. Only JSON paths without the array notation are allowed. Must be a
* JSON Path under .status. If there is no value under the given path in the CustomResource,
* the status replica value in the /scale subresource will default to 0.
*/
statusReplicasPath?: string;
}
/**
* CustomResourceSubresources defines the status and scale subresources for CustomResources.
*/
class CustomResourceSubresources {
/**
* Scale denotes the scale subresource for CustomResources
*/
scale?: apiextensions.v1beta1.CustomResourceSubresourceScale;
}
/**
* CustomResourceValidation is a list of validation methods for CustomResources.
*/
class CustomResourceValidation {
/**
* OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
*/
openAPIV3Schema?: apiextensions.v1beta1.JSONSchemaProps;
}
/**
* ExternalDocumentation allows referencing an external resource for extended documentation.
*/
class ExternalDocumentation {
description?: string;
url?: string;
}
/**
* JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).
*/
class JSONSchemaProps {
$ref?: string;
$schema?: string;
additionalItems?: apiextensions.v1beta1.JSONSchemaProps | boolean;
additionalProperties?: apiextensions.v1beta1.JSONSchemaProps | boolean;
allOf?: apiextensions.v1beta1.JSONSchemaProps[];
anyOf?: apiextensions.v1beta1.JSONSchemaProps[];
default?: any;
definitions?: object;
dependencies?: object;
description?: string;
enum?: any[];
example?: any;
exclusiveMaximum?: boolean;
exclusiveMinimum?: boolean;
externalDocs?: apiextensions.v1beta1.ExternalDocumentation;
format?: string;
id?: string;
items?: apiextensions.v1beta1.JSONSchemaProps | any[];
maxItems?: number;
maxLength?: number;
maxProperties?: number;
maximum?: number;
minItems?: number;
minLength?: number;
minProperties?: number;
minimum?: number;
multipleOf?: number;
not?: apiextensions.v1beta1.JSONSchemaProps;
oneOf?: apiextensions.v1beta1.JSONSchemaProps[];
pattern?: string;
patternProperties?: object;
properties?: object;
required?: string[];
title?: string;
type?: string;
uniqueItems?: boolean;
}
/**
* ServiceReference holds a reference to Service.legacy.k8s.io
*/
class ServiceReference {
/**
* `name` is the name of the service. Required
*/
name?: string;
/**
* `namespace` is the namespace of the service. Required
*/
namespace?: string;
/**
* `path` is an optional URL path which will be sent in any request to this service.
*/
path?: string;
}
/**
* WebhookClientConfig contains the information to make a TLS connection with the webhook. It
* has the same field as admissionregistration.v1beta1.WebhookClientConfig.
*/
class WebhookClientConfig {
/**
* `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server
* certificate. If unspecified, system trust roots on the apiserver are used.
*/
caBundle?: string;
/**
* `service` is a reference to the service for this webhook. Either `service` or `url` must be
* specified.
*
* If the webhook is running within the cluster, then you should use `service`.
*
* Port 443 will be used if it is open, otherwise it is an error.
*/
service?: apiextensions.v1beta1.ServiceReference;
/**
* `url` gives the location of the webhook, in standard URL form (`scheme://host:port/path`).
* Exactly one of `url` or `service` must be specified.
*
* The `host` should not refer to a service running in the cluster; use the `service` field
* instead. The host might be resolved via external DNS in some apiservers (e.g.,
* `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation).
* `host` may also be an IP address.
*
* Please note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take
* great care to run this webhook on all hosts which run an apiserver which might need to make
* calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn
* up in a new cluster.
*
* The scheme must be "https"; the URL must begin with "https://".
*
* A path is optional, and if present may be any string permissible in a URL. You may use the
* path to pass an arbitrary string to the webhook, for example, a cluster identifier.
*
* Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments
* ("#...") and query parameters ("?...") are not allowed, either.
*/
url?: string;
}
}
}
export declare namespace apiregistration {
namespace v1 {
/**
* APIService represents a server for a particular GroupVersion. Name must be "version.group".
*/
class APIService {
/**
* 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?: string;
/**
* 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?: string;
metadata?: meta.v1.ObjectMeta;
/**
* Spec contains information for locating and communicating with a server
*/
spec?: apiregistration.v1.APIServiceSpec;
/**
* Create a apiregistration.v1.APIService object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.apiregistration.v1.APIService);
}
class APIServiceCondition {
/**
* 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;
/**
* Type is the type of the condition.
*/
type?: string;
}
/**
* APIServiceList is a list of APIService objects.
*/
class APIServiceList {
/**
* 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?: string;
items?: apiregistration.v1.APIService[];
/**
* 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?: string;
metadata?: meta.v1.ListMeta;
/**
* Create a apiregistration.v1.APIServiceList object with the given unique name and description.
*
* @param name The _unique_ name of the object.
* @param desc The description to use to populate this object properties.
*/
constructor(name: string, desc?: shapes.apiregistration.v1.APIServiceList);
}
/**
* APIServiceSpec contains information for locating and communicating with a server. Only https
* is supported, though you are able to disable certificate verification.
*/
class APIServiceSpec {
/**
* CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving
* certificate. If unspecified, system trust roots on the apiserver are used.
*/
caBundle?: string;
/**
* Group is the API group name this server hosts
*/
group?: string;
/**
* GroupPriorityMininum is the priority this group should have at least. Higher priority means
* that the group is preferred by clients over lower priority ones. Note that other versions
* of this group might specify even higher GroupPriorityMininum values such that the whole
* group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered
* highest number to lowest (20 before 10). The secondary sort is based on the alphabetical
* comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something
* like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to
* be in the 2000s
*/
groupPriorityMinimum?: number;
/**
* InsecureSkipTLSVerify disables TLS certificate verification when communicating with this
* server. This is strongly discouraged. You should use the CABundle instead.
*/
insecureSkipTLSVerify?: boolean;
/**
* Service is a reference to the service for this API server. It must communicate on port 443
* If the Service is nil, that means the handling for the API groupversion is handled locally
* on this server. The call will simply delegate to the normal handler chain to be fulfilled.
*/
service?: apiregistration.v1.ServiceReference;
/**
* Version is the API version this server hosts. For example, "v1"
*/
version?: string;
/**
* VersionPriority controls the ordering of this API version inside of its group. Must be
* greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest
* (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s.
* In case of equal version priorities, the version string will be used to compute the order
* inside a group. If the version string is "kube-like", it will sort above non "kube-like"
* version strings, which are ordered lexicographically. "Kube-like" versions start with a
* "v", then are followed by a number (the major version), then optionally the string "alpha"
* or "beta" and another number (the minor version). These are sorted first by GA > beta >
* alpha (where GA is a version with no suffix such as beta or alpha