config/crds/v1/resources/autoscaling.k8s.elastic.co_elasticsearchautoscalers.yaml (243 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.3
name: elasticsearchautoscalers.autoscaling.k8s.elastic.co
spec:
group: autoscaling.k8s.elastic.co
names:
categories:
- elastic
kind: ElasticsearchAutoscaler
listKind: ElasticsearchAutoscalerList
plural: elasticsearchautoscalers
shortNames:
- esa
singular: elasticsearchautoscaler
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.elasticsearchRef.name
name: Target
type: string
- jsonPath: .status.conditions[?(@.type=='Active')].status
name: Active
type: string
- jsonPath: .status.conditions[?(@.type=='Healthy')].status
name: Healthy
type: string
- jsonPath: .status.conditions[?(@.type=='Limited')].status
name: Limited
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: ElasticsearchAutoscaler represents an ElasticsearchAutoscaler
resource in a Kubernetes cluster.
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: ElasticsearchAutoscalerSpec holds the specification of an
Elasticsearch autoscaler resource.
properties:
elasticsearchRef:
description: ElasticsearchRef is a reference to an Elasticsearch cluster
that exists in the same namespace.
properties:
name:
description: Name is the name of the Elasticsearch resource to
scale automatically.
minLength: 1
type: string
type: object
policies:
items:
description: AutoscalingPolicySpec holds a named autoscaling policy
and the associated resources limits (cpu, memory, storage).
properties:
deciders:
additionalProperties:
additionalProperties:
type: string
description: |-
DeciderSettings allow the user to tweak autoscaling deciders.
The map data structure complies with the <key,value> format expected by Elasticsearch.
type: object
description: Deciders allow the user to override default settings
for autoscaling deciders.
type: object
name:
description: Name identifies the autoscaling policy in the autoscaling
specification.
type: string
resources:
description: |-
AutoscalingResources model the limits, submitted by the user, for the supported resources in an autoscaling policy.
Only the node count range is mandatory. For other resources, a limit range is required only
if the Elasticsearch autoscaling capacity API returns a requirement for a given resource.
For example, the memory limit range is only required if the autoscaling API response contains a memory requirement.
If there is no limit range for a resource, and if that resource is not mandatory, then the resources in the NodeSets
managed by the autoscaling policy are left untouched.
properties:
cpu:
description: QuantityRange models a resource limit range
for resources which can be expressed with resource.Quantity.
properties:
max:
anyOf:
- type: integer
- type: string
description: Max represents the upper limit for the
resources managed by the autoscaler.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
min:
anyOf:
- type: integer
- type: string
description: Min represents the lower limit for the
resources managed by the autoscaler.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
requestsToLimitsRatio:
anyOf:
- type: integer
- type: string
description: RequestsToLimitsRatio allows to customize
Kubernetes resource Limit based on the Request.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
required:
- max
- min
type: object
memory:
description: QuantityRange models a resource limit range
for resources which can be expressed with resource.Quantity.
properties:
max:
anyOf:
- type: integer
- type: string
description: Max represents the upper limit for the
resources managed by the autoscaler.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
min:
anyOf:
- type: integer
- type: string
description: Min represents the lower limit for the
resources managed by the autoscaler.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
requestsToLimitsRatio:
anyOf:
- type: integer
- type: string
description: RequestsToLimitsRatio allows to customize
Kubernetes resource Limit based on the Request.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
required:
- max
- min
type: object
nodeCount:
description: NodeCountRange is used to model the minimum
and the maximum number of nodes over all the NodeSets
managed by the same autoscaling policy.
properties:
max:
description: Max represents the maximum number of nodes
in a tier.
format: int32
type: integer
min:
description: Min represents the minimum number of nodes
in a tier.
format: int32
type: integer
required:
- max
- min
type: object
storage:
description: QuantityRange models a resource limit range
for resources which can be expressed with resource.Quantity.
properties:
max:
anyOf:
- type: integer
- type: string
description: Max represents the upper limit for the
resources managed by the autoscaler.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
min:
anyOf:
- type: integer
- type: string
description: Min represents the lower limit for the
resources managed by the autoscaler.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
requestsToLimitsRatio:
anyOf:
- type: integer
- type: string
description: RequestsToLimitsRatio allows to customize
Kubernetes resource Limit based on the Request.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
required:
- max
- min
type: object
required:
- nodeCount
type: object
roles:
description: An autoscaling policy must target a unique set
of roles.
items:
type: string
type: array
required:
- resources
type: object
type: array
pollingPeriod:
description: PollingPeriod is the period at which to synchronize with
the Elasticsearch autoscaling API.
type: string
required:
- elasticsearchRef
- policies
type: object
status:
properties:
conditions:
description: Conditions holds the current service state of the autoscaling
controller.
items:
description: |-
Condition represents Elasticsearch resource's condition.
**This API is in technical preview and may be changed or removed in a future release.**
properties:
lastTransitionTime:
format: date-time
type: string
message:
type: string
status:
type: string
type:
description: ConditionType defines the condition of an Elasticsearch
resource.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: ObservedGeneration is the last observed generation by
the controller.
format: int64
type: integer
policies:
description: AutoscalingPolicyStatuses is used to expose state messages
to user or external system.
items:
properties:
lastModificationTime:
description: LastModificationTime is the last time the resources
have been updated, used by the cooldown algorithm.
format: date-time
type: string
name:
description: Name is the name of the autoscaling policy
type: string
nodeSets:
description: NodeSetNodeCount holds the number of nodes for
each nodeSet.
items:
description: NodeSetNodeCount models the number of nodes expected
in a given NodeSet.
properties:
name:
description: Name of the Nodeset.
type: string
nodeCount:
description: NodeCount is the number of nodes, as computed
by the autoscaler, expected in this NodeSet.
format: int32
type: integer
required:
- name
- nodeCount
type: object
type: array
resources:
description: |-
ResourcesSpecification holds the resource values common to all the nodeSets managed by a same autoscaling policy.
Only the resources managed by the autoscaling controller are saved in the Status.
properties:
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: ResourceList is a set of (resource name, quantity)
pairs.
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: ResourceList is a set of (resource name, quantity)
pairs.
type: object
type: object
state:
description: PolicyStates may contain various messages regarding
the current state of this autoscaling policy.
items:
properties:
messages:
items:
type: string
type: array
type:
type: string
required:
- messages
- type
type: object
type: array
required:
- name
type: object
type: array
type: object
type: object
served: true
storage: true
subresources:
status: {}