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