Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 20797 lines (17435 sloc) 746 KB
// *** WARNING: this file was generated by the Pulumi Kubernetes client generation tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
export namespace admissionregistration {
export namespace v1beta1 {
/**
* MutatingWebhook describes an admission webhook and the resources and operations it applies
* to.
*/
export interface MutatingWebhook {
/**
* AdmissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the
* Webhook expects. API server will try to use first version in the list which it supports. If
* none of the versions specified in this list supported by API server, validation will fail
* for this object. If a persisted webhook configuration specifies allowed versions and does
* not include any versions known to the API Server, calls to the webhook will fail and be
* subject to the failure policy. Default to `['v1beta1']`.
*/
readonly admissionReviewVersions: string[]
/**
* ClientConfig defines how to communicate with the hook. Required
*/
readonly clientConfig: admissionregistration.v1beta1.WebhookClientConfig
/**
* FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
* allowed values are Ignore or Fail. Defaults to Ignore.
*/
readonly failurePolicy: string
/**
* matchPolicy defines how the "rules" list is used to match incoming requests. Allowed values
* are "Exact" or "Equivalent".
*
* - Exact: match a request only if it exactly matches a specified rule. For example, if
* deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules"
* only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a
* request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.
*
* - Equivalent: match a request if modifies a resource listed in rules, even via another API
* group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1,
* and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"],
* resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be
* converted to apps/v1 and sent to the webhook.
*
* Defaults to "Exact"
*/
readonly matchPolicy: 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.
*/
readonly 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.
*/
readonly namespaceSelector: meta.v1.LabelSelector
/**
* ObjectSelector decides whether to run the webhook based on if the object has matching
* labels. objectSelector is evaluated against both the oldObject and newObject that would be
* sent to the webhook, and is considered to match if either object matches the selector. A
* null object (oldObject in the case of create, or newObject in the case of delete) or an
* object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is
* not considered to match. Use the object selector only if the webhook is opt-in, because end
* users may skip the admission webhook by setting the labels. Default to the empty
* LabelSelector, which matches everything.
*/
readonly objectSelector: meta.v1.LabelSelector
/**
* reinvocationPolicy indicates whether this webhook should be called multiple times as part
* of a single admission evaluation. Allowed values are "Never" and "IfNeeded".
*
* Never: the webhook will not be called more than once in a single admission evaluation.
*
* IfNeeded: the webhook will be called at least one additional time as part of the admission
* evaluation if the object being admitted is modified by other admission plugins after the
* initial webhook call. Webhooks that specify this option *must* be idempotent, able to
* process objects they previously admitted. Note: * the number of additional invocations is
* not guaranteed to be exactly one. * if additional invocations result in further
* modifications to the object, webhooks are not guaranteed to be invoked again. * webhooks
* that use this option may be reordered to minimize the number of additional invocations. *
* to validate an object after all mutations are guaranteed complete, use a validating
* admission webhook instead.
*
* Defaults to "Never".
*/
readonly reinvocationPolicy: string
/**
* 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.
*/
readonly 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.
*/
readonly sideEffects: string
/**
* TimeoutSeconds specifies the timeout for this webhook. After the timeout passes, the
* webhook call will be ignored or the API call will fail based on the failure policy. The
* timeout value must be between 1 and 30 seconds. Default to 30 seconds.
*/
readonly timeoutSeconds: number
}
/**
* MutatingWebhookConfiguration describes the configuration of and admission webhook that accept
* or reject and may change the object.
*/
export interface 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
*/
readonly apiVersion: "admissionregistration.k8s.io/v1beta1"
/**
* 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
*/
readonly kind: "MutatingWebhookConfiguration"
/**
* Standard object metadata; More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Webhooks is a list of webhooks and the affected resources and operations.
*/
readonly webhooks: admissionregistration.v1beta1.MutatingWebhook[]
}
/**
* MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.
*/
export interface 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
*/
readonly apiVersion: "admissionregistration.k8s.io/v1beta1"
/**
* List of MutatingWebhookConfiguration.
*/
readonly 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
*/
readonly kind: "MutatingWebhookConfigurationList"
/**
* Standard list metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
*/
readonly metadata: meta.v1.ListMeta
}
/**
* RuleWithOperations is a tuple of Operations and Resources. It is recommended to make sure
* that all the tuple expansions are valid.
*/
export interface 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.
*/
readonly 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.
*/
readonly 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.
*/
readonly 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.
*/
readonly resources: string[]
/**
* scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*"
* "Cluster" means that only cluster-scoped resources will match this rule. Namespace API
* objects are cluster-scoped. "Namespaced" means that only namespaced resources will match
* this rule. "*" means that there are no scope restrictions. Subresources match the scope of
* their parent resource. Default is "*".
*/
readonly scope: string
}
/**
* ServiceReference holds a reference to Service.legacy.k8s.io
*/
export interface ServiceReference {
/**
* `name` is the name of the service. Required
*/
readonly name: string
/**
* `namespace` is the namespace of the service. Required
*/
readonly namespace: string
/**
* `path` is an optional URL path which will be sent in any request to this service.
*/
readonly path: string
/**
* If specified, the port on the service that hosting webhook. Default to 443 for backward
* compatibility. `port` should be a valid port number (1-65535, inclusive).
*/
readonly port: number
}
/**
* ValidatingWebhook describes an admission webhook and the resources and operations it applies
* to.
*/
export interface ValidatingWebhook {
/**
* AdmissionReviewVersions is an ordered list of preferred `AdmissionReview` versions the
* Webhook expects. API server will try to use first version in the list which it supports. If
* none of the versions specified in this list supported by API server, validation will fail
* for this object. If a persisted webhook configuration specifies allowed versions and does
* not include any versions known to the API Server, calls to the webhook will fail and be
* subject to the failure policy. Default to `['v1beta1']`.
*/
readonly admissionReviewVersions: string[]
/**
* ClientConfig defines how to communicate with the hook. Required
*/
readonly clientConfig: admissionregistration.v1beta1.WebhookClientConfig
/**
* FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
* allowed values are Ignore or Fail. Defaults to Ignore.
*/
readonly failurePolicy: string
/**
* matchPolicy defines how the "rules" list is used to match incoming requests. Allowed values
* are "Exact" or "Equivalent".
*
* - Exact: match a request only if it exactly matches a specified rule. For example, if
* deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules"
* only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a
* request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.
*
* - Equivalent: match a request if modifies a resource listed in rules, even via another API
* group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1,
* and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"],
* resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be
* converted to apps/v1 and sent to the webhook.
*
* Defaults to "Exact"
*/
readonly matchPolicy: 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.
*/
readonly 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.
*/
readonly namespaceSelector: meta.v1.LabelSelector
/**
* ObjectSelector decides whether to run the webhook based on if the object has matching
* labels. objectSelector is evaluated against both the oldObject and newObject that would be
* sent to the webhook, and is considered to match if either object matches the selector. A
* null object (oldObject in the case of create, or newObject in the case of delete) or an
* object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is
* not considered to match. Use the object selector only if the webhook is opt-in, because end
* users may skip the admission webhook by setting the labels. Default to the empty
* LabelSelector, which matches everything.
*/
readonly objectSelector: 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.
*/
readonly 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.
*/
readonly sideEffects: string
/**
* TimeoutSeconds specifies the timeout for this webhook. After the timeout passes, the
* webhook call will be ignored or the API call will fail based on the failure policy. The
* timeout value must be between 1 and 30 seconds. Default to 30 seconds.
*/
readonly timeoutSeconds: number
}
/**
* ValidatingWebhookConfiguration describes the configuration of and admission webhook that
* accept or reject and object without changing it.
*/
export interface 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
*/
readonly apiVersion: "admissionregistration.k8s.io/v1beta1"
/**
* 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
*/
readonly kind: "ValidatingWebhookConfiguration"
/**
* Standard object metadata; More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Webhooks is a list of webhooks and the affected resources and operations.
*/
readonly webhooks: admissionregistration.v1beta1.ValidatingWebhook[]
}
/**
* ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.
*/
export interface 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
*/
readonly apiVersion: "admissionregistration.k8s.io/v1beta1"
/**
* List of ValidatingWebhookConfiguration.
*/
readonly 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
*/
readonly kind: "ValidatingWebhookConfigurationList"
/**
* Standard list metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
*/
readonly metadata: meta.v1.ListMeta
}
/**
* WebhookClientConfig contains the information to make a TLS connection with the webhook
*/
export interface 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.
*/
readonly 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`.
*/
readonly 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.
*/
readonly url: string
}
}
}
export namespace apiextensions {
export namespace v1beta1 {
/**
* CustomResourceColumnDefinition specifies a column for server side printing.
*/
export interface CustomResourceColumnDefinition {
/**
* JSONPath is a simple JSON path, i.e. with array notation.
*/
readonly JSONPath: string
/**
* description is a human readable description of this column.
*/
readonly 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.
*/
readonly format: string
/**
* name is a human readable name for the column.
*/
readonly 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.
*/
readonly 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.
*/
readonly type: string
}
/**
* CustomResourceConversion describes how to convert different versions of a CR.
*/
export interface CustomResourceConversion {
/**
* ConversionReviewVersions is an ordered list of preferred `ConversionReview` versions the
* Webhook expects. API server will try to use first version in the list which it supports. If
* none of the versions specified in this list supported by API server, conversion will fail
* for this object. If a persisted Webhook configuration specifies allowed versions and does
* not include any versions known to the API Server, calls to the webhook will fail. Default
* to `['v1beta1']`.
*/
readonly conversionReviewVersions: string[]
/**
* `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. This requires spec.preserveUnknownFields to be false.
*/
readonly 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.
*/
readonly 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>.
*/
export interface 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
*/
readonly apiVersion: "apiextensions.k8s.io/v1beta1"
/**
* 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
*/
readonly kind: "CustomResourceDefinition"
readonly metadata: meta.v1.ObjectMeta
/**
* Spec describes how the user wants the resources to appear
*/
readonly spec: apiextensions.v1beta1.CustomResourceDefinitionSpec
/**
* Status indicates the actual state of the CustomResourceDefinition
*/
readonly status: apiextensions.v1beta1.CustomResourceDefinitionStatus
}
/**
* CustomResourceDefinitionCondition contains details for the current condition of this pod.
*/
export interface CustomResourceDefinitionCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* Human-readable message indicating details about last transition.
*/
readonly message: string
/**
* Unique, one-word, CamelCase reason for the condition's last transition.
*/
readonly reason: string
/**
* Status is the status of the condition. Can be True, False, Unknown.
*/
readonly status: string
/**
* Type is the type of the condition. Types include Established, NamesAccepted and
* Terminating.
*/
readonly type: string
}
/**
* CustomResourceDefinitionList is a list of CustomResourceDefinition objects.
*/
export interface 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
*/
readonly apiVersion: "apiextensions.k8s.io/v1beta1"
/**
* Items individual CustomResourceDefinitions
*/
readonly 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
*/
readonly kind: "CustomResourceDefinitionList"
readonly metadata: meta.v1.ListMeta
}
/**
* CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition
*/
export interface CustomResourceDefinitionNames {
/**
* Categories is a list of grouped resources custom resources belong to (e.g. 'all')
*/
readonly categories: string[]
/**
* Kind is the serialized kind of the resource. It is normally CamelCase and singular.
*/
readonly kind: string
/**
* ListKind is the serialized kind of the list for this resource. Defaults to <kind>List.
*/
readonly 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.
*/
readonly plural: string
/**
* ShortNames are short names for the resource. It must be all lowercase.
*/
readonly shortNames: string[]
/**
* Singular is the singular name of the resource. It must be all lowercase Defaults to
* lowercased <kind>
*/
readonly singular: string
}
/**
* CustomResourceDefinitionSpec describes how a user wants their resource to appear
*/
export interface 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.
*/
readonly additionalPrinterColumns: apiextensions.v1beta1.CustomResourceColumnDefinition[]
/**
* `conversion` defines conversion settings for the CRD.
*/
readonly conversion: apiextensions.v1beta1.CustomResourceConversion
/**
* Group is the group this resource belongs in
*/
readonly group: string
/**
* Names are the names used to describe this custom resource
*/
readonly names: apiextensions.v1beta1.CustomResourceDefinitionNames
/**
* preserveUnknownFields disables pruning of object fields which are not specified in the
* OpenAPI schema. apiVersion, kind, metadata and known fields inside metadata are always
* preserved. Defaults to true in v1beta and will default to false in v1.
*/
readonly preserveUnknownFields: boolean
/**
* Scope indicates whether this resource is cluster or namespace scoped. Default is
* namespaced
*/
readonly scope: string
/**
* Subresources describes the subresources for CustomResource Optional, the global
* subresources for all versions. Top-level and per-version subresources are mutually
* exclusive.
*/
readonly 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.
*/
readonly 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`.
*/
readonly 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.
*/
readonly versions: apiextensions.v1beta1.CustomResourceDefinitionVersion[]
}
/**
* CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition
*/
export interface CustomResourceDefinitionStatus {
/**
* AcceptedNames are the names that are actually being used to serve discovery They may be
* different than the names in spec.
*/
readonly acceptedNames: apiextensions.v1beta1.CustomResourceDefinitionNames
/**
* Conditions indicate state for particular aspects of a CustomResourceDefinition
*/
readonly conditions: apiextensions.v1beta1.CustomResourceDefinitionCondition[]
/**
* StoredVersions are all versions of CustomResources that were ever persisted. Tracking these
* versions allows a migration path for stored versions in etcd. The field is mutable so the
* migration controller can first finish a migration to another version (i.e. that no old
* objects are left in the storage), and then remove the rest of the versions from this list.
* None of the versions in this list can be removed from the spec.Versions field.
*/
readonly storedVersions: string[]
}
/**
* CustomResourceDefinitionVersion describes a version for CRD.
*/
export interface 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
*/
readonly additionalPrinterColumns: apiextensions.v1beta1.CustomResourceColumnDefinition[]
/**
* Name is the version name, e.g. “v1”, “v2beta1”, etc.
*/
readonly 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.
*/
readonly schema: apiextensions.v1beta1.CustomResourceValidation
/**
* Served is a flag enabling/disabling this version from being served via REST APIs
*/
readonly served: boolean
/**
* Storage flags the version as storage version. There must be exactly one flagged as storage
* version.
*/
readonly 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.
*/
readonly subresources: apiextensions.v1beta1.CustomResourceSubresources
}
/**
* CustomResourceSubresourceScale defines how to serve the scale subresource for
* CustomResources.
*/
export interface 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 or .spec. Must be set to work with HPA. The field pointed by this
* JSON path must be a string field (not a complex selector struct) which contains a
* serialized label selector in string form. More info:
* https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource
* 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.
*/
readonly 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.
*/
readonly 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.
*/
readonly statusReplicasPath: string
}
/**
* CustomResourceSubresources defines the status and scale subresources for CustomResources.
*/
export interface CustomResourceSubresources {
/**
* Scale denotes the scale subresource for CustomResources
*/
readonly scale: apiextensions.v1beta1.CustomResourceSubresourceScale
/**
* Status denotes the status subresource for CustomResources
*/
readonly status: any
}
/**
* CustomResourceValidation is a list of validation methods for CustomResources.
*/
export interface CustomResourceValidation {
/**
* OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
*/
readonly openAPIV3Schema: apiextensions.v1beta1.JSONSchemaProps
}
/**
* ExternalDocumentation allows referencing an external resource for extended documentation.
*/
export interface ExternalDocumentation {
readonly description: string
readonly url: string
}
/**
* JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).
*/
export interface JSONSchemaProps {
readonly $ref: string
readonly $schema: string
readonly additionalItems: apiextensions.v1beta1.JSONSchemaProps | boolean
readonly additionalProperties: apiextensions.v1beta1.JSONSchemaProps | boolean
readonly allOf: apiextensions.v1beta1.JSONSchemaProps[]
readonly anyOf: apiextensions.v1beta1.JSONSchemaProps[]
/**
* default is a default value for undefined object fields. Defaulting is an alpha feature
* under the CustomResourceDefaulting feature gate. Defaulting requires
* spec.preserveUnknownFields to be false.
*/
readonly default: any
readonly definitions: object
readonly dependencies: object
readonly description: string
readonly enum: any[]
readonly example: any
readonly exclusiveMaximum: boolean
readonly exclusiveMinimum: boolean
readonly externalDocs: apiextensions.v1beta1.ExternalDocumentation
readonly format: string
readonly id: string
readonly items: apiextensions.v1beta1.JSONSchemaProps | any[]
readonly maxItems: number
readonly maxLength: number
readonly maxProperties: number
readonly maximum: number
readonly minItems: number
readonly minLength: number
readonly minProperties: number
readonly minimum: number
readonly multipleOf: number
readonly not: apiextensions.v1beta1.JSONSchemaProps
readonly nullable: boolean
readonly oneOf: apiextensions.v1beta1.JSONSchemaProps[]
readonly pattern: string
readonly patternProperties: object
readonly properties: object
readonly required: string[]
readonly title: string
readonly type: string
readonly uniqueItems: boolean
/**
* x-kubernetes-embedded-resource defines that the value is an embedded Kubernetes
* runtime.Object, with TypeMeta and ObjectMeta. The type must be object. It is allowed to
* further restrict the embedded object. kind, apiVersion and metadata are validated
* automatically. x-kubernetes-preserve-unknown-fields is allowed to be true, but does not
* have to be if the object is fully specified (up to kind, apiVersion, metadata).
*/
readonly x_kubernetes_embedded_resource: boolean
/**
* x-kubernetes-int-or-string specifies that this value is either an integer or a string. If
* this is true, an empty type is allowed and type as child of anyOf is permitted if following
* one of the following patterns:
*
* 1) anyOf:
* - type: integer
* - type: string
* 2) allOf:
* - anyOf:
* - type: integer
* - type: string
* - ... zero or more
*/
readonly x_kubernetes_int_or_string: boolean
/**
* x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields
* which are not specified in the validation schema. This affects fields recursively, but
* switches back to normal pruning behaviour if nested properties or additionalProperties are
* specified in the schema. This can either be true or undefined. False is forbidden.
*/
readonly x_kubernetes_preserve_unknown_fields: boolean
}
/**
* ServiceReference holds a reference to Service.legacy.k8s.io
*/
export interface ServiceReference {
/**
* `name` is the name of the service. Required
*/
readonly name: string
/**
* `namespace` is the namespace of the service. Required
*/
readonly namespace: string
/**
* `path` is an optional URL path which will be sent in any request to this service.
*/
readonly path: string
/**
* If specified, the port on the service that hosting webhook. Default to 443 for backward
* compatibility. `port` should be a valid port number (1-65535, inclusive).
*/
readonly port: number
}
/**
* WebhookClientConfig contains the information to make a TLS connection with the webhook. It
* has the same field as admissionregistration.v1beta1.WebhookClientConfig.
*/
export interface 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.
*/
readonly 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`.
*/
readonly 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.
*/
readonly url: string
}
}
}
export namespace apiregistration {
export namespace v1 {
/**
* APIService represents a server for a particular GroupVersion. Name must be "version.group".
*/
export interface 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
*/
readonly apiVersion: "apiregistration.k8s.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/api-conventions.md#types-kinds
*/
readonly kind: "APIService"
readonly metadata: meta.v1.ObjectMeta
/**
* Spec contains information for locating and communicating with a server
*/
readonly spec: apiregistration.v1.APIServiceSpec
/**
* Status contains derived information about an API server
*/
readonly status: apiregistration.v1.APIServiceStatus
}
/**
* APIServiceCondition describes the state of an APIService at a particular point
*/
export interface APIServiceCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* Human-readable message indicating details about last transition.
*/
readonly message: string
/**
* Unique, one-word, CamelCase reason for the condition's last transition.
*/
readonly reason: string
/**
* Status is the status of the condition. Can be True, False, Unknown.
*/
readonly status: string
/**
* Type is the type of the condition.
*/
readonly type: string
}
/**
* APIServiceList is a list of APIService objects.
*/
export interface 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
*/
readonly apiVersion: "apiregistration.k8s.io/v1"
readonly 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
*/
readonly kind: "APIServiceList"
readonly metadata: meta.v1.ListMeta
}
/**
* APIServiceSpec contains information for locating and communicating with a server. Only https
* is supported, though you are able to disable certificate verification.
*/
export interface 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.
*/
readonly caBundle: string
/**
* Group is the API group name this server hosts
*/
readonly 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
*/
readonly groupPriorityMinimum: number
/**
* InsecureSkipTLSVerify disables TLS certificate verification when communicating with this
* server. This is strongly discouraged. You should use the CABundle instead.
*/
readonly 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.
*/
readonly service: apiregistration.v1.ServiceReference
/**
* Version is the API version this server hosts. For example, "v1"
*/
readonly 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), 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.
*/
readonly versionPriority: number
}
/**
* APIServiceStatus contains derived information about an API server
*/
export interface APIServiceStatus {
/**
* Current service state of apiService.
*/
readonly conditions: apiregistration.v1.APIServiceCondition[]
}
/**
* ServiceReference holds a reference to Service.legacy.k8s.io
*/
export interface ServiceReference {
/**
* Name is the name of the service
*/
readonly name: string
/**
* Namespace is the namespace of the service
*/
readonly namespace: string
/**
* If specified, the port on the service that hosting webhook. Default to 443 for backward
* compatibility. `port` should be a valid port number (1-65535, inclusive).
*/
readonly port: number
}
}
export namespace v1beta1 {
/**
* APIService represents a server for a particular GroupVersion. Name must be "version.group".
*/
export interface 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
*/
readonly apiVersion: "apiregistration.k8s.io/v1beta1"
/**
* 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
*/
readonly kind: "APIService"
readonly metadata: meta.v1.ObjectMeta
/**
* Spec contains information for locating and communicating with a server
*/
readonly spec: apiregistration.v1beta1.APIServiceSpec
/**
* Status contains derived information about an API server
*/
readonly status: apiregistration.v1beta1.APIServiceStatus
}
/**
* APIServiceCondition describes the state of an APIService at a particular point
*/
export interface APIServiceCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* Human-readable message indicating details about last transition.
*/
readonly message: string
/**
* Unique, one-word, CamelCase reason for the condition's last transition.
*/
readonly reason: string
/**
* Status is the status of the condition. Can be True, False, Unknown.
*/
readonly status: string
/**
* Type is the type of the condition.
*/
readonly type: string
}
/**
* APIServiceList is a list of APIService objects.
*/
export interface 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
*/
readonly apiVersion: "apiregistration.k8s.io/v1beta1"
readonly items: apiregistration.v1beta1.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
*/
readonly kind: "APIServiceList"
readonly metadata: meta.v1.ListMeta
}
/**
* APIServiceSpec contains information for locating and communicating with a server. Only https
* is supported, though you are able to disable certificate verification.
*/
export interface 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.
*/
readonly caBundle: string
/**
* Group is the API group name this server hosts
*/
readonly 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
*/
readonly groupPriorityMinimum: number
/**
* InsecureSkipTLSVerify disables TLS certificate verification when communicating with this
* server. This is strongly discouraged. You should use the CABundle instead.
*/
readonly 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.
*/
readonly service: apiregistration.v1beta1.ServiceReference
/**
* Version is the API version this server hosts. For example, "v1"
*/
readonly 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), 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.
*/
readonly versionPriority: number
}
/**
* APIServiceStatus contains derived information about an API server
*/
export interface APIServiceStatus {
/**
* Current service state of apiService.
*/
readonly conditions: apiregistration.v1beta1.APIServiceCondition[]
}
/**
* ServiceReference holds a reference to Service.legacy.k8s.io
*/
export interface ServiceReference {
/**
* Name is the name of the service
*/
readonly name: string
/**
* Namespace is the namespace of the service
*/
readonly namespace: string
/**
* If specified, the port on the service that hosting webhook. Default to 443 for backward
* compatibility. `port` should be a valid port number (1-65535, inclusive).
*/
readonly port: number
}
}
}
export namespace apps {
export namespace v1 {
/**
* ControllerRevision implements an immutable snapshot of state data. Clients are responsible
* for serializing and deserializing the objects that contain their internal state. Once a
* ControllerRevision has been successfully created, it can not be updated. The API Server will
* fail validation of all requests that attempt to mutate the Data field. ControllerRevisions
* may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet
* controllers for update and rollback, this object is beta. However, it may be subject to name
* and representation changes in future releases, and clients should not depend on its
* stability. It is primarily for internal use by controllers.
*/
export interface ControllerRevision {
/**
* 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
*/
readonly apiVersion: "apps/v1"
/**
* Data is the serialized representation of the state.
*/
readonly data: pkg.runtime.RawExtension
/**
* 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
*/
readonly kind: "ControllerRevision"
/**
* Standard object's metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Revision indicates the revision of the state represented by Data.
*/
readonly revision: number
}
/**
* ControllerRevisionList is a resource containing a list of ControllerRevision objects.
*/
export interface ControllerRevisionList {
/**
* 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
*/
readonly apiVersion: "apps/v1"
/**
* Items is the list of ControllerRevisions
*/
readonly items: apps.v1.ControllerRevision[]
/**
* 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
*/
readonly kind: "ControllerRevisionList"
/**
* More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ListMeta
}
/**
* DaemonSet represents the configuration of a daemon set.
*/
export interface DaemonSet {
/**
* 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
*/
readonly apiVersion: "apps/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/api-conventions.md#types-kinds
*/
readonly kind: "DaemonSet"
/**
* Standard object's metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ObjectMeta
/**
* The desired behavior of this daemon set. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
*/
readonly spec: apps.v1.DaemonSetSpec
/**
* The current status of this daemon set. This data may be out of date by some window of time.
* Populated by the system. Read-only. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
*/
readonly status: apps.v1.DaemonSetStatus
}
/**
* DaemonSetCondition describes the state of a DaemonSet at a certain point.
*/
export interface DaemonSetCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* A human readable message indicating details about the transition.
*/
readonly message: string
/**
* The reason for the condition's last transition.
*/
readonly reason: string
/**
* Status of the condition, one of True, False, Unknown.
*/
readonly status: string
/**
* Type of DaemonSet condition.
*/
readonly type: string
}
/**
* DaemonSetList is a collection of daemon sets.
*/
export interface DaemonSetList {
/**
* 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
*/
readonly apiVersion: "apps/v1"
/**
* A list of daemon sets.
*/
readonly items: apps.v1.DaemonSet[]
/**
* 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
*/
readonly kind: "DaemonSetList"
/**
* Standard list metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ListMeta
}
/**
* DaemonSetSpec is the specification of a daemon set.
*/
export interface DaemonSetSpec {
/**
* The minimum number of seconds for which a newly created DaemonSet pod should be ready
* without any of its container crashing, for it to be considered available. Defaults to 0
* (pod will be considered available as soon as it is ready).
*/
readonly minReadySeconds: number
/**
* The number of old history to retain to allow rollback. This is a pointer to distinguish
* between explicit zero and not specified. Defaults to 10.
*/
readonly revisionHistoryLimit: number
/**
* A label query over pods that are managed by the daemon set. Must match in order to be
* controlled. It must match the pod template's labels. More info:
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
*/
readonly selector: meta.v1.LabelSelector
/**
* An object that describes the pod that will be created. The DaemonSet will create exactly
* one copy of this pod on every node that matches the template's node selector (or on every
* node if no node selector is specified). More info:
* https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
*/
readonly template: core.v1.PodTemplateSpec
/**
* An update strategy to replace existing DaemonSet pods with new pods.
*/
readonly updateStrategy: apps.v1.DaemonSetUpdateStrategy
}
/**
* DaemonSetStatus represents the current status of a daemon set.
*/
export interface DaemonSetStatus {
/**
* Count of hash collisions for the DaemonSet. The DaemonSet controller uses this field as a
* collision avoidance mechanism when it needs to create the name for the newest
* ControllerRevision.
*/
readonly collisionCount: number
/**
* Represents the latest available observations of a DaemonSet's current state.
*/
readonly conditions: apps.v1.DaemonSetCondition[]
/**
* The number of nodes that are running at least 1 daemon pod and are supposed to run the
* daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
*/
readonly currentNumberScheduled: number
/**
* The total number of nodes that should be running the daemon pod (including nodes correctly
* running the daemon pod). More info:
* https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
*/
readonly desiredNumberScheduled: number
/**
* The number of nodes that should be running the daemon pod and have one or more of the
* daemon pod running and available (ready for at least spec.minReadySeconds)
*/
readonly numberAvailable: number
/**
* The number of nodes that are running the daemon pod, but are not supposed to run the daemon
* pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
*/
readonly numberMisscheduled: number
/**
* The number of nodes that should be running the daemon pod and have one or more of the
* daemon pod running and ready.
*/
readonly numberReady: number
/**
* The number of nodes that should be running the daemon pod and have none of the daemon pod
* running and available (ready for at least spec.minReadySeconds)
*/
readonly numberUnavailable: number
/**
* The most recent generation observed by the daemon set controller.
*/
readonly observedGeneration: number
/**
* The total number of nodes that are running updated daemon pod
*/
readonly updatedNumberScheduled: number
}
/**
* DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.
*/
export interface DaemonSetUpdateStrategy {
/**
* Rolling update config params. Present only if type = "RollingUpdate".
*/
readonly rollingUpdate: apps.v1.RollingUpdateDaemonSet
/**
* Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is RollingUpdate.
*/
readonly type: string
}
/**
* Deployment enables declarative updates for Pods and ReplicaSets.
*/
export interface Deployment {
/**
* 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
*/
readonly apiVersion: "apps/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/api-conventions.md#types-kinds
*/
readonly kind: "Deployment"
/**
* Standard object metadata.
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Specification of the desired behavior of the Deployment.
*/
readonly spec: apps.v1.DeploymentSpec
/**
* Most recently observed status of the Deployment.
*/
readonly status: apps.v1.DeploymentStatus
}
/**
* DeploymentCondition describes the state of a deployment at a certain point.
*/
export interface DeploymentCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* The last time this condition was updated.
*/
readonly lastUpdateTime: string
/**
* A human readable message indicating details about the transition.
*/
readonly message: string
/**
* The reason for the condition's last transition.
*/
readonly reason: string
/**
* Status of the condition, one of True, False, Unknown.
*/
readonly status: string
/**
* Type of deployment condition.
*/
readonly type: string
}
/**
* DeploymentList is a list of Deployments.
*/
export interface DeploymentList {
/**
* 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
*/
readonly apiVersion: "apps/v1"
/**
* Items is the list of Deployments.
*/
readonly items: apps.v1.Deployment[]
/**
* 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
*/
readonly kind: "DeploymentList"
/**
* Standard list metadata.
*/
readonly metadata: meta.v1.ListMeta
}
/**
* DeploymentSpec is the specification of the desired behavior of the Deployment.
*/
export interface DeploymentSpec {
/**
* Minimum number of seconds for which a newly created pod should be ready without any of its
* container crashing, for it to be considered available. Defaults to 0 (pod will be
* considered available as soon as it is ready)
*/
readonly minReadySeconds: number
/**
* Indicates that the deployment is paused.
*/
readonly paused: boolean
/**
* The maximum time in seconds for a deployment to make progress before it is considered to be
* failed. The deployment controller will continue to process failed deployments and a
* condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status.
* Note that progress will not be estimated during the time a deployment is paused. Defaults
* to 600s.
*/
readonly progressDeadlineSeconds: number
/**
* Number of desired pods. This is a pointer to distinguish between explicit zero and not
* specified. Defaults to 1.
*/
readonly replicas: number
/**
* The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish
* between explicit zero and not specified. Defaults to 10.
*/
readonly revisionHistoryLimit: number
/**
* Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the
* ones affected by this deployment. It must match the pod template's labels.
*/
readonly selector: meta.v1.LabelSelector
/**
* The deployment strategy to use to replace existing pods with new ones.
*/
readonly strategy: apps.v1.DeploymentStrategy
/**
* Template describes the pods that will be created.
*/
readonly template: core.v1.PodTemplateSpec
}
/**
* DeploymentStatus is the most recently observed status of the Deployment.
*/
export interface DeploymentStatus {
/**
* Total number of available pods (ready for at least minReadySeconds) targeted by this
* deployment.
*/
readonly availableReplicas: number
/**
* Count of hash collisions for the Deployment. The Deployment controller uses this field as a
* collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.
*/
readonly collisionCount: number
/**
* Represents the latest available observations of a deployment's current state.
*/
readonly conditions: apps.v1.DeploymentCondition[]
/**
* The generation observed by the deployment controller.
*/
readonly observedGeneration: number
/**
* Total number of ready pods targeted by this deployment.
*/
readonly readyReplicas: number
/**
* Total number of non-terminated pods targeted by this deployment (their labels match the
* selector).
*/
readonly replicas: number
/**
* Total number of unavailable pods targeted by this deployment. This is the total number of
* pods that are still required for the deployment to have 100% available capacity. They may
* either be pods that are running but not yet available or pods that still have not been
* created.
*/
readonly unavailableReplicas: number
/**
* Total number of non-terminated pods targeted by this deployment that have the desired
* template spec.
*/
readonly updatedReplicas: number
}
/**
* DeploymentStrategy describes how to replace existing pods with new ones.
*/
export interface DeploymentStrategy {
/**
* Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
*/
readonly rollingUpdate: apps.v1.RollingUpdateDeployment
/**
* Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
*/
readonly type: string
}
/**
* ReplicaSet ensures that a specified number of pod replicas are running at any given time.
*/
export interface ReplicaSet {
/**
* 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
*/
readonly apiVersion: "apps/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/api-conventions.md#types-kinds
*/
readonly kind: "ReplicaSet"
/**
* If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s)
* that the ReplicaSet manages. Standard object's metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Spec defines the specification of the desired behavior of the ReplicaSet. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
*/
readonly spec: apps.v1.ReplicaSetSpec
/**
* Status is the most recently observed status of the ReplicaSet. This data may be out of date
* by some window of time. Populated by the system. Read-only. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
*/
readonly status: apps.v1.ReplicaSetStatus
}
/**
* ReplicaSetCondition describes the state of a replica set at a certain point.
*/
export interface ReplicaSetCondition {
/**
* The last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* A human readable message indicating details about the transition.
*/
readonly message: string
/**
* The reason for the condition's last transition.
*/
readonly reason: string
/**
* Status of the condition, one of True, False, Unknown.
*/
readonly status: string
/**
* Type of replica set condition.
*/
readonly type: string
}
/**
* ReplicaSetList is a collection of ReplicaSets.
*/
export interface ReplicaSetList {
/**
* 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
*/
readonly apiVersion: "apps/v1"
/**
* List of ReplicaSets. More info:
* https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller
*/
readonly items: apps.v1.ReplicaSet[]
/**
* 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
*/
readonly kind: "ReplicaSetList"
/**
* Standard list metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
*/
readonly metadata: meta.v1.ListMeta
}
/**
* ReplicaSetSpec is the specification of a ReplicaSet.
*/
export interface ReplicaSetSpec {
/**
* Minimum number of seconds for which a newly created pod should be ready without any of its
* container crashing, for it to be considered available. Defaults to 0 (pod will be
* considered available as soon as it is ready)
*/
readonly minReadySeconds: number
/**
* Replicas is the number of desired replicas. This is a pointer to distinguish between
* explicit zero and unspecified. Defaults to 1. More info:
* https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
*/
readonly replicas: number
/**
* Selector is a label query over pods that should match the replica count. Label keys and
* values that must match in order to be controlled by this replica set. It must match the pod
* template's labels. More info:
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
*/
readonly selector: meta.v1.LabelSelector
/**
* Template is the object that describes the pod that will be created if insufficient replicas
* are detected. More info:
* https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
*/
readonly template: core.v1.PodTemplateSpec
}
/**
* ReplicaSetStatus represents the current status of a ReplicaSet.
*/
export interface ReplicaSetStatus {
/**
* The number of available replicas (ready for at least minReadySeconds) for this replica set.
*/
readonly availableReplicas: number
/**
* Represents the latest available observations of a replica set's current state.
*/
readonly conditions: apps.v1.ReplicaSetCondition[]
/**
* The number of pods that have labels matching the labels of the pod template of the
* replicaset.
*/
readonly fullyLabeledReplicas: number
/**
* ObservedGeneration reflects the generation of the most recently observed ReplicaSet.
*/
readonly observedGeneration: number
/**
* The number of ready replicas for this replica set.
*/
readonly readyReplicas: number
/**
* Replicas is the most recently oberved number of replicas. More info:
* https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
*/
readonly replicas: number
}
/**
* Spec to control the desired behavior of daemon set rolling update.
*/
export interface RollingUpdateDaemonSet {
/**
* The maximum number of DaemonSet pods that can be unavailable during the update. Value can
* be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the
* start of the update (ex: 10%). Absolute number is calculated from percentage by rounding
* up. This cannot be 0. Default value is 1. Example: when this is set to 30%, at most 30% of
* the total number of nodes that should be running the daemon pod (i.e.
* status.desiredNumberScheduled) can have their pods stopped for an update at any given time.
* The update starts by stopping at most 30% of those DaemonSet pods and then brings up new
* DaemonSet pods in their place. Once the new pods are available, it then proceeds onto other
* DaemonSet pods, thus ensuring that at least 70% of original number of DaemonSet pods are
* available at all times during the update.
*/
readonly maxUnavailable: number | string
}
/**
* Spec to control the desired behavior of rolling update.
*/
export interface RollingUpdateDeployment {
/**
* The maximum number of pods that can be scheduled above the desired number of pods. Value
* can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not
* be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up.
* Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up
* immediately when the rolling update starts, such that the total number of old and new pods
* do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be
* scaled up further, ensuring that total number of pods running at any time during the update
* is at most 130% of desired pods.
*/
readonly maxSurge: number | string
/**
* The maximum number of pods that can be unavailable during the update. Value can be an
* absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is
* calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults
* to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of
* desired pods immediately when the rolling update starts. Once new pods are ready, old
* ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
* that the total number of pods available at all times during the update is at least 70% of
* desired pods.
*/
readonly maxUnavailable: number | string
}
/**
* RollingUpdateStatefulSetStrategy is used to communicate parameter for
* RollingUpdateStatefulSetStrategyType.
*/
export interface RollingUpdateStatefulSetStrategy {
/**
* Partition indicates the ordinal at which the StatefulSet should be partitioned. Default
* value is 0.
*/
readonly partition: number
}
/**
* StatefulSet represents a set of pods with consistent identities. Identities are defined as:
* - Network: A single stable DNS and hostname.
* - Storage: As many VolumeClaims as requested.
* The StatefulSet guarantees that a given network identity will always map to the same storage
* identity.
*/
export interface StatefulSet {
/**
* 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
*/
readonly apiVersion: "apps/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/api-conventions.md#types-kinds
*/
readonly kind: "StatefulSet"
readonly metadata: meta.v1.ObjectMeta
/**
* Spec defines the desired identities of pods in this set.
*/
readonly spec: apps.v1.StatefulSetSpec
/**
* Status is the current status of Pods in this StatefulSet. This data may be out of date by
* some window of time.
*/
readonly status: apps.v1.StatefulSetStatus
}
/**
* StatefulSetCondition describes the state of a statefulset at a certain point.
*/
export interface StatefulSetCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* A human readable message indicating details about the transition.
*/
readonly message: string
/**
* The reason for the condition's last transition.
*/
readonly reason: string
/**
* Status of the condition, one of True, False, Unknown.
*/
readonly status: string
/**
* Type of statefulset condition.
*/
readonly type: string
}
/**
* StatefulSetList is a collection of StatefulSets.
*/
export interface StatefulSetList {
/**
* 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
*/
readonly apiVersion: "apps/v1"
readonly items: apps.v1.StatefulSet[]
/**
* 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
*/
readonly kind: "StatefulSetList"
readonly metadata: meta.v1.ListMeta
}
/**
* A StatefulSetSpec is the specification of a StatefulSet.
*/
export interface StatefulSetSpec {
/**
* podManagementPolicy controls how pods are created during initial scale up, when replacing
* pods on nodes, or when scaling down. The default policy is `OrderedReady`, where pods are
* created in increasing order (pod-0, then pod-1, etc) and the controller will wait until
* each pod is ready before continuing. When scaling down, the pods are removed in the
* opposite order. The alternative policy is `Parallel` which will create pods in parallel to
* match the desired scale without waiting, and on scale down will delete all pods at once.
*/
readonly podManagementPolicy: string
/**
* replicas is the desired number of replicas of the given Template. These are replicas in the
* sense that they are instantiations of the same Template, but individual replicas also have
* a consistent identity. If unspecified, defaults to 1.
*/
readonly replicas: number
/**
* revisionHistoryLimit is the maximum number of revisions that will be maintained in the
* StatefulSet's revision history. The revision history consists of all revisions not
* represented by a currently applied StatefulSetSpec version. The default value is 10.
*/
readonly revisionHistoryLimit: number
/**
* selector is a label query over pods that should match the replica count. It must match the
* pod template's labels. More info:
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
*/
readonly selector: meta.v1.LabelSelector
/**
* serviceName is the name of the service that governs this StatefulSet. This service must
* exist before the StatefulSet, and is responsible for the network identity of the set. Pods
* get DNS/hostnames that follow the pattern:
* pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is
* managed by the StatefulSet controller.
*/
readonly serviceName: string
/**
* template is the object that describes the pod that will be created if insufficient replicas
* are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have
* a unique identity from the rest of the StatefulSet.
*/
readonly template: core.v1.PodTemplateSpec
/**
* updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods
* in the StatefulSet when a revision is made to Template.
*/
readonly updateStrategy: apps.v1.StatefulSetUpdateStrategy
/**
* volumeClaimTemplates is a list of claims that pods are allowed to reference. The
* StatefulSet controller is responsible for mapping network identities to claims in a way
* that maintains the identity of a pod. Every claim in this list must have at least one
* matching (by name) volumeMount in one container in the template. A claim in this list takes
* precedence over any volumes in the template, with the same name.
*/
readonly volumeClaimTemplates: core.v1.PersistentVolumeClaim[]
}
/**
* StatefulSetStatus represents the current state of a StatefulSet.
*/
export interface StatefulSetStatus {
/**
* collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet
* controller uses this field as a collision avoidance mechanism when it needs to create the
* name for the newest ControllerRevision.
*/
readonly collisionCount: number
/**
* Represents the latest available observations of a statefulset's current state.
*/
readonly conditions: apps.v1.StatefulSetCondition[]
/**
* currentReplicas is the number of Pods created by the StatefulSet controller from the
* StatefulSet version indicated by currentRevision.
*/
readonly currentReplicas: number
/**
* currentRevision, if not empty, indicates the version of the StatefulSet used to generate
* Pods in the sequence [0,currentReplicas).
*/
readonly currentRevision: string
/**
* observedGeneration is the most recent generation observed for this StatefulSet. It
* corresponds to the StatefulSet's generation, which is updated on mutation by the API
* Server.
*/
readonly observedGeneration: number
/**
* readyReplicas is the number of Pods created by the StatefulSet controller that have a Ready
* Condition.
*/
readonly readyReplicas: number
/**
* replicas is the number of Pods created by the StatefulSet controller.
*/
readonly replicas: number
/**
* updateRevision, if not empty, indicates the version of the StatefulSet used to generate
* Pods in the sequence [replicas-updatedReplicas,replicas)
*/
readonly updateRevision: string
/**
* updatedReplicas is the number of Pods created by the StatefulSet controller from the
* StatefulSet version indicated by updateRevision.
*/
readonly updatedReplicas: number
}
/**
* StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to
* perform updates. It includes any additional parameters necessary to perform the update for
* the indicated strategy.
*/
export interface StatefulSetUpdateStrategy {
/**
* RollingUpdate is used to communicate parameters when Type is
* RollingUpdateStatefulSetStrategyType.
*/
readonly rollingUpdate: apps.v1.RollingUpdateStatefulSetStrategy
/**
* Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate.
*/
readonly type: string
}
}
export namespace v1beta1 {
/**
* DEPRECATED - This group version of ControllerRevision is deprecated by
* apps/v1beta2/ControllerRevision. See the release notes for more information.
* ControllerRevision implements an immutable snapshot of state data. Clients are responsible
* for serializing and deserializing the objects that contain their internal state. Once a
* ControllerRevision has been successfully created, it can not be updated. The API Server will
* fail validation of all requests that attempt to mutate the Data field. ControllerRevisions
* may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet
* controllers for update and rollback, this object is beta. However, it may be subject to name
* and representation changes in future releases, and clients should not depend on its
* stability. It is primarily for internal use by controllers.
*/
export interface ControllerRevision {
/**
* 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
*/
readonly apiVersion: "apps/v1beta1"
/**
* Data is the serialized representation of the state.
*/
readonly data: pkg.runtime.RawExtension
/**
* 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
*/
readonly kind: "ControllerRevision"
/**
* Standard object's metadata. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Revision indicates the revision of the state represented by Data.
*/
readonly revision: number
}
/**
* ControllerRevisionList is a resource containing a list of ControllerRevision objects.
*/
export interface ControllerRevisionList {
/**
* 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
*/
readonly apiVersion: "apps/v1beta1"
/**
* Items is the list of ControllerRevisions
*/
readonly items: apps.v1beta1.ControllerRevision[]
/**
* 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
*/
readonly kind: "ControllerRevisionList"
/**
* More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ListMeta
}
/**
* DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See
* the release notes for more information. Deployment enables declarative updates for Pods and
* ReplicaSets.
*/
export interface Deployment {
/**
* 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
*/
readonly apiVersion: "apps/v1beta1"
/**
* 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
*/
readonly kind: "Deployment"
/**
* Standard object metadata.
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Specification of the desired behavior of the Deployment.
*/
readonly spec: apps.v1beta1.DeploymentSpec
/**
* Most recently observed status of the Deployment.
*/
readonly status: apps.v1beta1.DeploymentStatus
}
/**
* DeploymentCondition describes the state of a deployment at a certain point.
*/
export interface DeploymentCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* The last time this condition was updated.
*/
readonly lastUpdateTime: string
/**
* A human readable message indicating details about the transition.
*/
readonly message: string
/**
* The reason for the condition's last transition.
*/
readonly reason: string
/**
* Status of the condition, one of True, False, Unknown.
*/
readonly status: string
/**
* Type of deployment condition.
*/
readonly type: string
}
/**
* DeploymentList is a list of Deployments.
*/
export interface DeploymentList {
/**
* 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
*/
readonly apiVersion: "apps/v1beta1"
/**
* Items is the list of Deployments.
*/
readonly items: apps.v1beta1.Deployment[]
/**
* 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
*/
readonly kind: "DeploymentList"
/**
* Standard list metadata.
*/
readonly metadata: meta.v1.ListMeta
}
/**
* DEPRECATED. DeploymentRollback stores the information required to rollback a deployment.
*/
export interface DeploymentRollback {
/**
* 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
*/
readonly 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
*/
readonly kind: string
/**
* Required: This must match the Name of a deployment.
*/
readonly name: string
/**
* The config of this deployment rollback.
*/
readonly rollbackTo: apps.v1beta1.RollbackConfig
/**
* The annotations to be updated to a deployment
*/
readonly updatedAnnotations: {[key: string]: string}
}
/**
* DeploymentSpec is the specification of the desired behavior of the Deployment.
*/
export interface DeploymentSpec {
/**
* Minimum number of seconds for which a newly created pod should be ready without any of its
* container crashing, for it to be considered available. Defaults to 0 (pod will be
* considered available as soon as it is ready)
*/
readonly minReadySeconds: number
/**
* Indicates that the deployment is paused.
*/
readonly paused: boolean
/**
* The maximum time in seconds for a deployment to make progress before it is considered to be
* failed. The deployment controller will continue to process failed deployments and a
* condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status.
* Note that progress will not be estimated during the time a deployment is paused. Defaults
* to 600s.
*/
readonly progressDeadlineSeconds: number
/**
* Number of desired pods. This is a pointer to distinguish between explicit zero and not
* specified. Defaults to 1.
*/
readonly replicas: number
/**
* The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish
* between explicit zero and not specified. Defaults to 2.
*/
readonly revisionHistoryLimit: number
/**
* DEPRECATED. The config this deployment is rolling back to. Will be cleared after rollback
* is done.
*/
readonly rollbackTo: apps.v1beta1.RollbackConfig
/**
* Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the
* ones affected by this deployment.
*/
readonly selector: meta.v1.LabelSelector
/**
* The deployment strategy to use to replace existing pods with new ones.
*/
readonly strategy: apps.v1beta1.DeploymentStrategy
/**
* Template describes the pods that will be created.
*/
readonly template: core.v1.PodTemplateSpec
}
/**
* DeploymentStatus is the most recently observed status of the Deployment.
*/
export interface DeploymentStatus {
/**
* Total number of available pods (ready for at least minReadySeconds) targeted by this
* deployment.
*/
readonly availableReplicas: number
/**
* Count of hash collisions for the Deployment. The Deployment controller uses this field as a
* collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.
*/
readonly collisionCount: number
/**
* Represents the latest available observations of a deployment's current state.
*/
readonly conditions: apps.v1beta1.DeploymentCondition[]
/**
* The generation observed by the deployment controller.
*/
readonly observedGeneration: number
/**
* Total number of ready pods targeted by this deployment.
*/
readonly readyReplicas: number
/**
* Total number of non-terminated pods targeted by this deployment (their labels match the
* selector).
*/
readonly replicas: number
/**
* Total number of unavailable pods targeted by this deployment. This is the total number of
* pods that are still required for the deployment to have 100% available capacity. They may
* either be pods that are running but not yet available or pods that still have not been
* created.
*/
readonly unavailableReplicas: number
/**
* Total number of non-terminated pods targeted by this deployment that have the desired
* template spec.
*/
readonly updatedReplicas: number
}
/**
* DeploymentStrategy describes how to replace existing pods with new ones.
*/
export interface DeploymentStrategy {
/**
* Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
*/
readonly rollingUpdate: apps.v1beta1.RollingUpdateDeployment
/**
* Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
*/
readonly type: string
}
/**
* DEPRECATED.
*/
export interface RollbackConfig {
/**
* The revision to rollback to. If set to 0, rollback to the last revision.
*/
readonly revision: number
}
/**
* Spec to control the desired behavior of rolling update.
*/
export interface RollingUpdateDeployment {
/**
* The maximum number of pods that can be scheduled above the desired number of pods. Value
* can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not
* be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up.
* Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up
* immediately when the rolling update starts, such that the total number of old and new pods
* do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be
* scaled up further, ensuring that total number of pods running at any time during the update
* is at most 130% of desired pods.
*/
readonly maxSurge: number | string
/**
* The maximum number of pods that can be unavailable during the update. Value can be an
* absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is
* calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults
* to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of
* desired pods immediately when the rolling update starts. Once new pods are ready, old
* ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
* that the total number of pods available at all times during the update is at least 70% of
* desired pods.
*/
readonly maxUnavailable: number | string
}
/**
* RollingUpdateStatefulSetStrategy is used to communicate parameter for
* RollingUpdateStatefulSetStrategyType.
*/
export interface RollingUpdateStatefulSetStrategy {
/**
* Partition indicates the ordinal at which the StatefulSet should be partitioned.
*/
readonly partition: number
}
/**
* Scale represents a scaling request for a resource.
*/
export interface Scale {
/**
* 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
*/
readonly 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
*/
readonly kind: string
/**
* Standard object metadata; More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
*/
readonly metadata: meta.v1.ObjectMeta
/**
* defines the behavior of the scale. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
*/
readonly spec: apps.v1beta1.ScaleSpec
/**
* current status of the scale. More info:
* https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
* Read-only.
*/
readonly status: apps.v1beta1.ScaleStatus
}
/**
* ScaleSpec describes the attributes of a scale subresource
*/
export interface ScaleSpec {
/**
* desired number of instances for the scaled object.
*/
readonly replicas: number
}
/**
* ScaleStatus represents the current status of a scale subresource.
*/
export interface ScaleStatus {
/**
* actual number of observed instances of the scaled object.
*/
readonly replicas: number
/**
* label query over pods that should match the replicas count. More info:
* http://kubernetes.io/docs/user-guide/labels#label-selectors
*/
readonly selector: {[key: string]: string}
/**
* label selector for pods that should match the replicas count. This is a serializated
* version of both map-based and more expressive set-based selectors. This is done to avoid
* introspection in the clients. The string will be in the same format as the query-param
* syntax. If the target type only supports map-based selectors, both this field and map-based
* selector field are populated. More info:
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
*/
readonly targetSelector: string
}
/**
* DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See
* the release notes for more information. StatefulSet represents a set of pods with consistent
* identities. Identities are defined as:
* - Network: A single stable DNS and hostname.
* - Storage: As many VolumeClaims as requested.
* The StatefulSet guarantees that a given network identity will always map to the same storage
* identity.
*/
export interface StatefulSet {
/**
* 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
*/
readonly apiVersion: "apps/v1beta1"
/**
* 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
*/
readonly kind: "StatefulSet"
readonly metadata: meta.v1.ObjectMeta
/**
* Spec defines the desired identities of pods in this set.
*/
readonly spec: apps.v1beta1.StatefulSetSpec
/**
* Status is the current status of Pods in this StatefulSet. This data may be out of date by
* some window of time.
*/
readonly status: apps.v1beta1.StatefulSetStatus
}
/**
* StatefulSetCondition describes the state of a statefulset at a certain point.
*/
export interface StatefulSetCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* A human readable message indicating details about the transition.
*/
readonly message: string
/**
* The reason for the condition's last transition.
*/
readonly reason: string
/**
* Status of the condition, one of True, False, Unknown.
*/
readonly status: string
/**
* Type of statefulset condition.
*/
readonly type: string
}
/**
* StatefulSetList is a collection of StatefulSets.
*/
export interface StatefulSetList {
/**
* 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
*/
readonly apiVersion: "apps/v1beta1"
readonly items: apps.v1beta1.StatefulSet[]
/**
* 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
*/
readonly kind: "StatefulSetList"
readonly metadata: meta.v1.ListMeta
}
/**
* A StatefulSetSpec is the specification of a StatefulSet.
*/
export interface StatefulSetSpec {
/**
* podManagementPolicy controls how pods are created during initial scale up, when replacing
* pods on nodes, or when scaling down. The default policy is `OrderedReady`, where pods are
* created in increasing order (pod-0, then pod-1, etc) and the controller will wait until
* each pod is ready before continuing. When scaling down, the pods are removed in the
* opposite order. The alternative policy is `Parallel` which will create pods in parallel to
* match the desired scale without waiting, and on scale down will delete all pods at once.
*/
readonly podManagementPolicy: string
/**
* replicas is the desired number of replicas of the given Template. These are replicas in the
* sense that they are instantiations of the same Template, but individual replicas also have
* a consistent identity. If unspecified, defaults to 1.
*/
readonly replicas: number
/**
* revisionHistoryLimit is the maximum number of revisions that will be maintained in the
* StatefulSet's revision history. The revision history consists of all revisions not
* represented by a currently applied StatefulSetSpec version. The default value is 10.
*/
readonly revisionHistoryLimit: number
/**
* selector is a label query over pods that should match the replica count. If empty,
* defaulted to labels on the pod template. More info:
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
*/
readonly selector: meta.v1.LabelSelector
/**
* serviceName is the name of the service that governs this StatefulSet. This service must
* exist before the StatefulSet, and is responsible for the network identity of the set. Pods
* get DNS/hostnames that follow the pattern:
* pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is
* managed by the StatefulSet controller.
*/
readonly serviceName: string
/**
* template is the object that describes the pod that will be created if insufficient replicas
* are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have
* a unique identity from the rest of the StatefulSet.
*/
readonly template: core.v1.PodTemplateSpec
/**
* updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods
* in the StatefulSet when a revision is made to Template.
*/
readonly updateStrategy: apps.v1beta1.StatefulSetUpdateStrategy
/**
* volumeClaimTemplates is a list of claims that pods are allowed to reference. The
* StatefulSet controller is responsible for mapping network identities to claims in a way
* that maintains the identity of a pod. Every claim in this list must have at least one
* matching (by name) volumeMount in one container in the template. A claim in this list takes
* precedence over any volumes in the template, with the same name.
*/
readonly volumeClaimTemplates: core.v1.PersistentVolumeClaim[]
}
/**
* StatefulSetStatus represents the current state of a StatefulSet.
*/
export interface StatefulSetStatus {
/**
* collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet
* controller uses this field as a collision avoidance mechanism when it needs to create the
* name for the newest ControllerRevision.
*/
readonly collisionCount: number
/**
* Represents the latest available observations of a statefulset's current state.
*/
readonly conditions: apps.v1beta1.StatefulSetCondition[]
/**
* currentReplicas is the number of Pods created by the StatefulSet controller from the
* StatefulSet version indicated by currentRevision.
*/
readonly currentReplicas: number
/**
* currentRevision, if not empty, indicates the version of the StatefulSet used to generate
* Pods in the sequence [0,currentReplicas).
*/
readonly currentRevision: string
/**
* observedGeneration is the most recent generation observed for this StatefulSet. It
* corresponds to the StatefulSet's generation, which is updated on mutation by the API
* Server.
*/
readonly observedGeneration: number
/**
* readyReplicas is the number of Pods created by the StatefulSet controller that have a Ready
* Condition.
*/
readonly readyReplicas: number
/**
* replicas is the number of Pods created by the StatefulSet controller.
*/
readonly replicas: number
/**
* updateRevision, if not empty, indicates the version of the StatefulSet used to generate
* Pods in the sequence [replicas-updatedReplicas,replicas)
*/
readonly updateRevision: string
/**
* updatedReplicas is the number of Pods created by the StatefulSet controller from the
* StatefulSet version indicated by updateRevision.
*/
readonly updatedReplicas: number
}
/**
* StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to
* perform updates. It includes any additional parameters necessary to perform the update for
* the indicated strategy.
*/
export interface StatefulSetUpdateStrategy {
/**
* RollingUpdate is used to communicate parameters when Type is
* RollingUpdateStatefulSetStrategyType.
*/
readonly rollingUpdate: apps.v1beta1.RollingUpdateStatefulSetStrategy
/**
* Type indicates the type of the StatefulSetUpdateStrategy.
*/
readonly type: string
}
}
export namespace v1beta2 {
/**
* DEPRECATED - This group version of ControllerRevision is deprecated by
* apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision
* implements an immutable snapshot of state data. Clients are responsible for serializing and
* deserializing the objects that contain their internal state. Once a ControllerRevision has
* been successfully created, it can not be updated. The API Server will fail validation of all
* requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted.
* Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and
* rollback, this object is beta. However, it may be subject to name and representation changes
* in future releases, and clients should not depend on its stability. It is primarily for
* internal use by controllers.
*/
export interface ControllerRevision {
/**
* 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
*/
readonly apiVersion: "apps/v1beta2"
/**
* Data is the serialized representation of the state.
*/
readonly data: pkg.runtime.RawExtension
/**
* 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
*/
readonly kind: "ControllerRevision"
/**
* Standard object's metadata. More info:
* https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Revision indicates the revision of the state represented by Data.
*/
readonly revision: number
}
/**
* ControllerRevisionList is a resource containing a list of ControllerRevision objects.
*/
export interface ControllerRevisionList {
/**
* 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
*/
readonly apiVersion: "apps/v1beta2"
/**
* Items is the list of ControllerRevisions
*/
readonly items: apps.v1beta2.ControllerRevision[]
/**
* 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
*/
readonly kind: "ControllerRevisionList"
/**
* More info:
* https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ListMeta
}
/**
* DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the
* release notes for more information. DaemonSet represents the configuration of a daemon set.
*/
export interface DaemonSet {
/**
* 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
*/
readonly apiVersion: "apps/v1beta2"
/**
* 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
*/
readonly kind: "DaemonSet"
/**
* Standard object's metadata. More info:
* https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ObjectMeta
/**
* The desired behavior of this daemon set. More info:
* https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
*/
readonly spec: apps.v1beta2.DaemonSetSpec
/**
* The current status of this daemon set. This data may be out of date by some window of time.
* Populated by the system. Read-only. More info:
* https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
*/
readonly status: apps.v1beta2.DaemonSetStatus
}
/**
* DaemonSetCondition describes the state of a DaemonSet at a certain point.
*/
export interface DaemonSetCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* A human readable message indicating details about the transition.
*/
readonly message: string
/**
* The reason for the condition's last transition.
*/
readonly reason: string
/**
* Status of the condition, one of True, False, Unknown.
*/
readonly status: string
/**
* Type of DaemonSet condition.
*/
readonly type: string
}
/**
* DaemonSetList is a collection of daemon sets.
*/
export interface DaemonSetList {
/**
* 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
*/
readonly apiVersion: "apps/v1beta2"
/**
* A list of daemon sets.
*/
readonly items: apps.v1beta2.DaemonSet[]
/**
* 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
*/
readonly kind: "DaemonSetList"
/**
* Standard list metadata. More info:
* https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: meta.v1.ListMeta
}
/**
* DaemonSetSpec is the specification of a daemon set.
*/
export interface DaemonSetSpec {
/**
* The minimum number of seconds for which a newly created DaemonSet pod should be ready
* without any of its container crashing, for it to be considered available. Defaults to 0
* (pod will be considered available as soon as it is ready).
*/
readonly minReadySeconds: number
/**
* The number of old history to retain to allow rollback. This is a pointer to distinguish
* between explicit zero and not specified. Defaults to 10.
*/
readonly revisionHistoryLimit: number
/**
* A label query over pods that are managed by the daemon set. Must match in order to be
* controlled. It must match the pod template's labels. More info:
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
*/
readonly selector: meta.v1.LabelSelector
/**
* An object that describes the pod that will be created. The DaemonSet will create exactly
* one copy of this pod on every node that matches the template's node selector (or on every
* node if no node selector is specified). More info:
* https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
*/
readonly template: core.v1.PodTemplateSpec
/**
* An update strategy to replace existing DaemonSet pods with new pods.
*/
readonly updateStrategy: apps.v1beta2.DaemonSetUpdateStrategy
}
/**
* DaemonSetStatus represents the current status of a daemon set.
*/
export interface DaemonSetStatus {
/**
* Count of hash collisions for the DaemonSet. The DaemonSet controller uses this field as a
* collision avoidance mechanism when it needs to create the name for the newest
* ControllerRevision.
*/
readonly collisionCount: number
/**
* Represents the latest available observations of a DaemonSet's current state.
*/
readonly conditions: apps.v1beta2.DaemonSetCondition[]
/**
* The number of nodes that are running at least 1 daemon pod and are supposed to run the
* daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
*/
readonly currentNumberScheduled: number
/**
* The total number of nodes that should be running the daemon pod (including nodes correctly
* running the daemon pod). More info:
* https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
*/
readonly desiredNumberScheduled: number
/**
* The number of nodes that should be running the daemon pod and have one or more of the
* daemon pod running and available (ready for at least spec.minReadySeconds)
*/
readonly numberAvailable: number
/**
* The number of nodes that are running the daemon pod, but are not supposed to run the daemon
* pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
*/
readonly numberMisscheduled: number
/**
* The number of nodes that should be running the daemon pod and have one or more of the
* daemon pod running and ready.
*/
readonly numberReady: number
/**
* The number of nodes that should be running the daemon pod and have none of the daemon pod
* running and available (ready for at least spec.minReadySeconds)
*/
readonly numberUnavailable: number
/**
* The most recent generation observed by the daemon set controller.
*/
readonly observedGeneration: number
/**
* The total number of nodes that are running updated daemon pod
*/
readonly updatedNumberScheduled: number
}
/**
* DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.
*/
export interface DaemonSetUpdateStrategy {
/**
* Rolling update config params. Present only if type = "RollingUpdate".
*/
readonly rollingUpdate: apps.v1beta2.RollingUpdateDaemonSet
/**
* Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is RollingUpdate.
*/
readonly type: string
}
/**
* DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the
* release notes for more information. Deployment enables declarative updates for Pods and
* ReplicaSets.
*/
export interface Deployment {
/**
* 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
*/
readonly apiVersion: "apps/v1beta2"
/**
* 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
*/
readonly kind: "Deployment"
/**
* Standard object metadata.
*/
readonly metadata: meta.v1.ObjectMeta
/**
* Specification of the desired behavior of the Deployment.
*/
readonly spec: apps.v1beta2.DeploymentSpec
/**
* Most recently observed status of the Deployment.
*/
readonly status: apps.v1beta2.DeploymentStatus
}
/**
* DeploymentCondition describes the state of a deployment at a certain point.
*/
export interface DeploymentCondition {
/**
* Last time the condition transitioned from one status to another.
*/
readonly lastTransitionTime: string
/**
* The last time this condition was updated.
*/
readonly lastUpdateTime: string
/**
* A human readable message indicating details about the transition.
*/
readonly message: string
/**
* The reason for the condition's last transition.
*/
readonly reason: string
/**
* Status of the condition, one of True, False, Unknown.
*/
readonly status: string
/**
* Type of deployment condition.
*/
readonly type: string
}
/**
* DeploymentList is a list of Deployments.
*/
export interface DeploymentList {
/**
* 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
*/
readonly apiVersion: "apps/v1beta2"
/**
* Items is the list of Deployments.
*/
readonly items: apps.v1beta2.Deployment[]
/**
* 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
*/
readonly kind: "DeploymentList"
/**
* Standard list metadata.
*/
readonly metadata: meta.v1.ListMeta
}
/**
* DeploymentSpec is the specification of the desired behavior of the Deployment.
*/
export interface DeploymentSpec {
/**
* Minimum number of seconds for which a newly created pod should be ready without any of its
* container crashing, for it to be considered available. Defaults to 0 (pod will be
* considered available as soon as it is ready)
*/
readonly minReadySeconds: number
/**
* Indicates that the deployment is paused.
*/
readonly paused: boolean
/**