UNPKG

@jkcfg/kubernetes

Version:
1,003 lines 728 kB
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. '*&#8205;/scale' * means all scale subresources. '*&#8205;/*' 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. '*&#8205;/scale' * means all scale subresources. '*&#8205;/*' 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