sigs.k8s.io/cluster-api/bootstrap/kubeadm@v0.0.0-20191016155141-23a891785b60/config-capi/crd/bases/cluster.x-k8s.io_machinesets.yaml (about)

     1  
     2  ---
     3  apiVersion: apiextensions.k8s.io/v1beta1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    creationTimestamp: null
     7    name: machinesets.cluster.x-k8s.io
     8  spec:
     9    group: cluster.x-k8s.io
    10    names:
    11      kind: MachineSet
    12      plural: machinesets
    13      shortNames:
    14      - ms
    15    scope: Namespaced
    16    subresources:
    17      scale:
    18        labelSelectorPath: .status.labelSelector
    19        specReplicasPath: .spec.replicas
    20        statusReplicasPath: .status.replicas
    21      status: {}
    22    validation:
    23      openAPIV3Schema:
    24        description: / [MachineSet] MachineSet is the Schema for the machinesets API
    25        properties:
    26          apiVersion:
    27            description: 'APIVersion defines the versioned schema of this representation
    28              of an object. Servers should convert recognized schemas to the latest
    29              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
    30            type: string
    31          kind:
    32            description: 'Kind is a string value representing the REST resource this
    33              object represents. Servers may infer this from the endpoint the client
    34              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
    35            type: string
    36          metadata:
    37            type: object
    38          spec:
    39            description: / [MachineSetSpec] MachineSetSpec defines the desired state
    40              of MachineSet
    41            properties:
    42              deletePolicy:
    43                description: DeletePolicy defines the policy used to identify nodes
    44                  to delete when downscaling. Defaults to "Random".  Valid values are
    45                  "Random, "Newest", "Oldest"
    46                enum:
    47                - Random
    48                - Newest
    49                - Oldest
    50                type: string
    51              minReadySeconds:
    52                description: MinReadySeconds is the minimum number of seconds for which
    53                  a newly created machine should be ready. Defaults to 0 (machine will
    54                  be considered available as soon as it is ready)
    55                format: int32
    56                type: integer
    57              replicas:
    58                description: Replicas is the number of desired replicas. This is a pointer
    59                  to distinguish between explicit zero and unspecified. Defaults to
    60                  1.
    61                format: int32
    62                type: integer
    63              selector:
    64                description: 'Selector is a label query over machines that should match
    65                  the replica count. Label keys and values that must match in order
    66                  to be controlled by this MachineSet. It must match the machine template''s
    67                  labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors'
    68                properties:
    69                  matchExpressions:
    70                    description: matchExpressions is a list of label selector requirements.
    71                      The requirements are ANDed.
    72                    items:
    73                      description: A label selector requirement is a selector that contains
    74                        values, a key, and an operator that relates the key and values.
    75                      properties:
    76                        key:
    77                          description: key is the label key that the selector applies
    78                            to.
    79                          type: string
    80                        operator:
    81                          description: operator represents a key's relationship to a
    82                            set of values. Valid operators are In, NotIn, Exists and
    83                            DoesNotExist.
    84                          type: string
    85                        values:
    86                          description: values is an array of string values. If the operator
    87                            is In or NotIn, the values array must be non-empty. If the
    88                            operator is Exists or DoesNotExist, the values array must
    89                            be empty. This array is replaced during a strategic merge
    90                            patch.
    91                          items:
    92                            type: string
    93                          type: array
    94                      required:
    95                      - key
    96                      - operator
    97                      type: object
    98                    type: array
    99                  matchLabels:
   100                    additionalProperties:
   101                      type: string
   102                    description: matchLabels is a map of {key,value} pairs. A single
   103                      {key,value} in the matchLabels map is equivalent to an element
   104                      of matchExpressions, whose key field is "key", the operator is
   105                      "In", and the values array contains only "value". The requirements
   106                      are ANDed.
   107                    type: object
   108                type: object
   109              template:
   110                description: Template is the object that describes the machine that
   111                  will be created if insufficient replicas are detected. Object references
   112                  to custom resources resources are treated as templates.
   113                properties:
   114                  metadata:
   115                    description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata'
   116                    properties:
   117                      annotations:
   118                        additionalProperties:
   119                          type: string
   120                        description: 'Annotations is an unstructured key value map stored
   121                          with a resource that may be set by external tools to store
   122                          and retrieve arbitrary metadata. They are not queryable and
   123                          should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
   124                        type: object
   125                      generateName:
   126                        description: "GenerateName is an optional prefix, used by the
   127                          server, to generate a unique name ONLY IF the Name field has
   128                          not been provided. If this field is used, the name returned
   129                          to the client will be different than the name passed. This
   130                          value will also be combined with a unique suffix. The provided
   131                          value has the same validation rules as the Name field, and
   132                          may be truncated by the length of the suffix required to make
   133                          the value unique on the server. \n If this field is specified
   134                          and the generated name exists, the server will NOT return
   135                          a 409 - instead, it will either return 201 Created or 500
   136                          with Reason ServerTimeout indicating a unique name could not
   137                          be found in the time allotted, and the client should retry
   138                          (optionally after the time indicated in the Retry-After header).
   139                          \n Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency"
   140                        type: string
   141                      labels:
   142                        additionalProperties:
   143                          type: string
   144                        description: 'Map of string keys and values that can be used
   145                          to organize and categorize (scope and select) objects. May
   146                          match selectors of replication controllers and services. More
   147                          info: http://kubernetes.io/docs/user-guide/labels'
   148                        type: object
   149                      name:
   150                        description: 'Name must be unique within a namespace. Is required
   151                          when creating resources, although some resources may allow
   152                          a client to request the generation of an appropriate name
   153                          automatically. Name is primarily intended for creation idempotence
   154                          and configuration definition. Cannot be updated. More info:
   155                          http://kubernetes.io/docs/user-guide/identifiers#names'
   156                        type: string
   157                      namespace:
   158                        description: "Namespace defines the space within each name must
   159                          be unique. An empty namespace is equivalent to the \"default\"
   160                          namespace, but \"default\" is the canonical representation.
   161                          Not all objects are required to be scoped to a namespace -
   162                          the value of this field for those objects will be empty. \n
   163                          Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"
   164                        type: string
   165                      ownerReferences:
   166                        description: List of objects depended by this object. If ALL
   167                          objects in the list have been deleted, this object will be
   168                          garbage collected. If this object is managed by a controller,
   169                          then an entry in this list will point to this controller,
   170                          with the controller field set to true. There cannot be more
   171                          than one managing controller.
   172                        items:
   173                          description: OwnerReference contains enough information to
   174                            let you identify an owning object. An owning object must
   175                            be in the same namespace as the dependent, or be cluster-scoped,
   176                            so there is no namespace field.
   177                          properties:
   178                            apiVersion:
   179                              description: API version of the referent.
   180                              type: string
   181                            blockOwnerDeletion:
   182                              description: If true, AND if the owner has the "foregroundDeletion"
   183                                finalizer, then the owner cannot be deleted from the
   184                                key-value store until this reference is removed. Defaults
   185                                to false. To set this field, a user needs "delete" permission
   186                                of the owner, otherwise 422 (Unprocessable Entity) will
   187                                be returned.
   188                              type: boolean
   189                            controller:
   190                              description: If true, this reference points to the managing
   191                                controller.
   192                              type: boolean
   193                            kind:
   194                              description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   195                              type: string
   196                            name:
   197                              description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
   198                              type: string
   199                            uid:
   200                              description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
   201                              type: string
   202                          required:
   203                          - apiVersion
   204                          - kind
   205                          - name
   206                          - uid
   207                          type: object
   208                        type: array
   209                    type: object
   210                  spec:
   211                    description: 'Specification of the desired behavior of the machine.
   212                      More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
   213                    properties:
   214                      bootstrap:
   215                        description: Bootstrap is a reference to a local struct which
   216                          encapsulates fields to configure the Machine’s bootstrapping
   217                          mechanism.
   218                        properties:
   219                          configRef:
   220                            description: ConfigRef is a reference to a bootstrap provider-specific
   221                              resource that holds configuration details. The reference
   222                              is optional to allow users/operators to specify Bootstrap.Data
   223                              without the need of a controller.
   224                            properties:
   225                              apiVersion:
   226                                description: API version of the referent.
   227                                type: string
   228                              fieldPath:
   229                                description: 'If referring to a piece of an object instead
   230                                  of an entire object, this string should contain a
   231                                  valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
   232                                  For example, if the object reference is to a container
   233                                  within a pod, this would take on a value like: "spec.containers{name}"
   234                                  (where "name" refers to the name of the container
   235                                  that triggered the event) or if no container name
   236                                  is specified "spec.containers[2]" (container with
   237                                  index 2 in this pod). This syntax is chosen only to
   238                                  have some well-defined way of referencing a part of
   239                                  an object. TODO: this design is not final and this
   240                                  field is subject to change in the future.'
   241                                type: string
   242                              kind:
   243                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   244                                type: string
   245                              name:
   246                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   247                                type: string
   248                              namespace:
   249                                description: 'Namespace of the referent. More info:
   250                                  https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   251                                type: string
   252                              resourceVersion:
   253                                description: 'Specific resourceVersion to which this
   254                                  reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
   255                                type: string
   256                              uid:
   257                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   258                                type: string
   259                            type: object
   260                          data:
   261                            description: Data contains the bootstrap data, such as cloud-init
   262                              details scripts. If nil, the Machine should remain in
   263                              the Pending state.
   264                            type: string
   265                        type: object
   266                      infrastructureRef:
   267                        description: InfrastructureRef is a required reference to a
   268                          custom resource offered by an infrastructure provider.
   269                        properties:
   270                          apiVersion:
   271                            description: API version of the referent.
   272                            type: string
   273                          fieldPath:
   274                            description: 'If referring to a piece of an object instead
   275                              of an entire object, this string should contain a valid
   276                              JSON/Go field access statement, such as desiredState.manifest.containers[2].
   277                              For example, if the object reference is to a container
   278                              within a pod, this would take on a value like: "spec.containers{name}"
   279                              (where "name" refers to the name of the container that
   280                              triggered the event) or if no container name is specified
   281                              "spec.containers[2]" (container with index 2 in this pod).
   282                              This syntax is chosen only to have some well-defined way
   283                              of referencing a part of an object. TODO: this design
   284                              is not final and this field is subject to change in the
   285                              future.'
   286                            type: string
   287                          kind:
   288                            description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   289                            type: string
   290                          name:
   291                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   292                            type: string
   293                          namespace:
   294                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   295                            type: string
   296                          resourceVersion:
   297                            description: 'Specific resourceVersion to which this reference
   298                              is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
   299                            type: string
   300                          uid:
   301                            description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   302                            type: string
   303                        type: object
   304                      metadata:
   305                        description: ObjectMeta will autopopulate the Node created.
   306                          Use this to indicate what labels, annotations, name prefix,
   307                          etc., should be used when creating the Node.
   308                        properties:
   309                          annotations:
   310                            additionalProperties:
   311                              type: string
   312                            description: 'Annotations is an unstructured key value map
   313                              stored with a resource that may be set by external tools
   314                              to store and retrieve arbitrary metadata. They are not
   315                              queryable and should be preserved when modifying objects.
   316                              More info: http://kubernetes.io/docs/user-guide/annotations'
   317                            type: object
   318                          generateName:
   319                            description: "GenerateName is an optional prefix, used by
   320                              the server, to generate a unique name ONLY IF the Name
   321                              field has not been provided. If this field is used, the
   322                              name returned to the client will be different than the
   323                              name passed. This value will also be combined with a unique
   324                              suffix. The provided value has the same validation rules
   325                              as the Name field, and may be truncated by the length
   326                              of the suffix required to make the value unique on the
   327                              server. \n If this field is specified and the generated
   328                              name exists, the server will NOT return a 409 - instead,
   329                              it will either return 201 Created or 500 with Reason ServerTimeout
   330                              indicating a unique name could not be found in the time
   331                              allotted, and the client should retry (optionally after
   332                              the time indicated in the Retry-After header). \n Applied
   333                              only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency"
   334                            type: string
   335                          labels:
   336                            additionalProperties:
   337                              type: string
   338                            description: 'Map of string keys and values that can be
   339                              used to organize and categorize (scope and select) objects.
   340                              May match selectors of replication controllers and services.
   341                              More info: http://kubernetes.io/docs/user-guide/labels'
   342                            type: object
   343                          name:
   344                            description: 'Name must be unique within a namespace. Is
   345                              required when creating resources, although some resources
   346                              may allow a client to request the generation of an appropriate
   347                              name automatically. Name is primarily intended for creation
   348                              idempotence and configuration definition. Cannot be updated.
   349                              More info: http://kubernetes.io/docs/user-guide/identifiers#names'
   350                            type: string
   351                          namespace:
   352                            description: "Namespace defines the space within each name
   353                              must be unique. An empty namespace is equivalent to the
   354                              \"default\" namespace, but \"default\" is the canonical
   355                              representation. Not all objects are required to be scoped
   356                              to a namespace - the value of this field for those objects
   357                              will be empty. \n Must be a DNS_LABEL. Cannot be updated.
   358                              More info: http://kubernetes.io/docs/user-guide/namespaces"
   359                            type: string
   360                          ownerReferences:
   361                            description: List of objects depended by this object. If
   362                              ALL objects in the list have been deleted, this object
   363                              will be garbage collected. If this object is managed by
   364                              a controller, then an entry in this list will point to
   365                              this controller, with the controller field set to true.
   366                              There cannot be more than one managing controller.
   367                            items:
   368                              description: OwnerReference contains enough information
   369                                to let you identify an owning object. An owning object
   370                                must be in the same namespace as the dependent, or be
   371                                cluster-scoped, so there is no namespace field.
   372                              properties:
   373                                apiVersion:
   374                                  description: API version of the referent.
   375                                  type: string
   376                                blockOwnerDeletion:
   377                                  description: If true, AND if the owner has the "foregroundDeletion"
   378                                    finalizer, then the owner cannot be deleted from
   379                                    the key-value store until this reference is removed.
   380                                    Defaults to false. To set this field, a user needs
   381                                    "delete" permission of the owner, otherwise 422
   382                                    (Unprocessable Entity) will be returned.
   383                                  type: boolean
   384                                controller:
   385                                  description: If true, this reference points to the
   386                                    managing controller.
   387                                  type: boolean
   388                                kind:
   389                                  description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   390                                  type: string
   391                                name:
   392                                  description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
   393                                  type: string
   394                                uid:
   395                                  description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
   396                                  type: string
   397                              required:
   398                              - apiVersion
   399                              - kind
   400                              - name
   401                              - uid
   402                              type: object
   403                            type: array
   404                        type: object
   405                      providerID:
   406                        description: ProviderID is the identification ID of the machine
   407                          provided by the provider. This field must match the provider
   408                          ID as seen on the node object corresponding to this machine.
   409                          This field is required by higher level consumers of cluster-api.
   410                          Example use case is cluster autoscaler with cluster-api as
   411                          provider. Clean-up logic in the autoscaler compares machines
   412                          to nodes to find out machines at provider which could not
   413                          get registered as Kubernetes nodes. With cluster-api as a
   414                          generic out-of-tree provider for autoscaler, this field is
   415                          required by autoscaler to be able to have a provider view
   416                          of the list of machines. Another list of nodes is queried
   417                          from the k8s apiserver and then a comparison is done to find
   418                          out unregistered machines and are marked for delete. This
   419                          field will be set by the actuators and consumed by higher
   420                          level entities like autoscaler that will be interfacing with
   421                          cluster-api as generic provider.
   422                        type: string
   423                      version:
   424                        description: Version defines the desired Kubernetes version.
   425                          This field is meant to be optionally used by bootstrap providers.
   426                        type: string
   427                    required:
   428                    - bootstrap
   429                    - infrastructureRef
   430                    type: object
   431                type: object
   432            required:
   433            - selector
   434            type: object
   435          status:
   436            description: / [MachineSetStatus] MachineSetStatus defines the observed
   437              state of MachineSet
   438            properties:
   439              availableReplicas:
   440                description: The number of available replicas (ready for at least minReadySeconds)
   441                  for this MachineSet.
   442                format: int32
   443                type: integer
   444              errorMessage:
   445                type: string
   446              errorReason:
   447                description: "In the event that there is a terminal problem reconciling
   448                  the replicas, both ErrorReason and ErrorMessage will be set. ErrorReason
   449                  will be populated with a succinct value suitable for machine interpretation,
   450                  while ErrorMessage will contain a more verbose string suitable for
   451                  logging and human consumption. \n These fields should not be set for
   452                  transitive errors that a controller faces that are expected to be
   453                  fixed automatically over time (like service outages), but instead
   454                  indicate that something is fundamentally wrong with the MachineTemplate's
   455                  spec or the configuration of the machine controller, and that manual
   456                  intervention is required. Examples of terminal errors would be invalid
   457                  combinations of settings in the spec, values that are unsupported
   458                  by the machine controller, or the responsible machine controller itself
   459                  being critically misconfigured. \n Any transient errors that occur
   460                  during the reconciliation of Machines can be added as events to the
   461                  MachineSet object and/or logged in the controller's output."
   462                type: string
   463              fullyLabeledReplicas:
   464                description: The number of replicas that have labels matching the labels
   465                  of the machine template of the MachineSet.
   466                format: int32
   467                type: integer
   468              observedGeneration:
   469                description: ObservedGeneration reflects the generation of the most
   470                  recently observed MachineSet.
   471                format: int64
   472                type: integer
   473              readyReplicas:
   474                description: The number of ready replicas for this MachineSet. A machine
   475                  is considered ready when the node has been created and is "Ready".
   476                format: int32
   477                type: integer
   478              replicas:
   479                description: Replicas is the most recently observed number of replicas.
   480                format: int32
   481                type: integer
   482            required:
   483            - replicas
   484            type: object
   485        type: object
   486    version: v1alpha2
   487    versions:
   488    - name: v1alpha2
   489      served: true
   490      storage: true
   491  status:
   492    acceptedNames:
   493      kind: ""
   494      plural: ""
   495    conditions: []
   496    storedVersions: []