github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/neon/crds/neonvm-crd.yaml (about)

     1  ---
     2  apiVersion: apiextensions.k8s.io/v1
     3  kind: CustomResourceDefinition
     4  metadata:
     5    annotations:
     6      controller-gen.kubebuilder.io/version: v0.10.0
     7    creationTimestamp: null
     8    name: ippools.vm.neon.tech
     9  spec:
    10    group: vm.neon.tech
    11    names:
    12      kind: IPPool
    13      listKind: IPPoolList
    14      plural: ippools
    15      singular: ippool
    16    scope: Namespaced
    17    versions:
    18      - name: v1
    19        schema:
    20          openAPIV3Schema:
    21            description: IPPool is the Schema for the ippools API
    22            properties:
    23              apiVersion:
    24                description: 'APIVersion defines the versioned schema of this representation
    25                of an object. Servers should convert recognized schemas to the latest
    26                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    27                type: string
    28              kind:
    29                description: 'Kind is a string value representing the REST resource this
    30                object represents. Servers may infer this from the endpoint the client
    31                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    32                type: string
    33              metadata:
    34                type: object
    35              spec:
    36                description: IPPoolSpec defines the desired state of IPPool
    37                properties:
    38                  allocations:
    39                    additionalProperties:
    40                      description: IPAllocation represents metadata about the pod/container
    41                        owner of a specific IP coped from Whereabout CNI as their allocation
    42                        functions used
    43                      properties:
    44                        id:
    45                          type: string
    46                        podref:
    47                          type: string
    48                      required:
    49                        - id
    50                      type: object
    51                    description: Allocations is the set of allocated IPs for the given
    52                      range. Its` indices are a direct mapping to the IP with the same
    53                      index/offset for the pool's range.
    54                    type: object
    55                  range:
    56                    description: Range is a RFC 4632/4291-style string that represents
    57                      an IP address and prefix length in CIDR notation
    58                    type: string
    59                required:
    60                  - allocations
    61                  - range
    62                type: object
    63            type: object
    64        served: true
    65        storage: true
    66  ---
    67  apiVersion: apiextensions.k8s.io/v1
    68  kind: CustomResourceDefinition
    69  metadata:
    70    annotations:
    71      cert-manager.io/inject-ca-from: neonvm-system/neonvm-serving-cert
    72      controller-gen.kubebuilder.io/version: v0.10.0
    73    name: virtualmachinemigrations.vm.neon.tech
    74  spec:
    75    conversion:
    76      strategy: Webhook
    77      webhook:
    78        clientConfig:
    79          service:
    80            name: neonvm-webhook-service
    81            namespace: neonvm-system
    82            path: /convert
    83        conversionReviewVersions:
    84          - v1
    85    group: vm.neon.tech
    86    names:
    87      kind: VirtualMachineMigration
    88      listKind: VirtualMachineMigrationList
    89      plural: virtualmachinemigrations
    90      singular: neonvmm
    91    scope: Namespaced
    92    versions:
    93      - additionalPrinterColumns:
    94          - jsonPath: .spec.vmName
    95            name: VM
    96            type: string
    97          - jsonPath: .status.sourcePodName
    98            name: Source
    99            type: string
   100          - jsonPath: .status.sourcePodIP
   101            name: SourceIP
   102            priority: 1
   103            type: string
   104          - jsonPath: .status.targetPodName
   105            name: Target
   106            type: string
   107          - jsonPath: .status.targetPodIP
   108            name: TargetIP
   109            priority: 1
   110            type: string
   111          - jsonPath: .status.phase
   112            name: Status
   113            type: string
   114          - jsonPath: .metadata.creationTimestamp
   115            name: Age
   116            type: date
   117        name: v1
   118        schema:
   119          openAPIV3Schema:
   120            description: VirtualMachineMigration is the Schema for the virtualmachinemigrations
   121              API
   122            properties:
   123              apiVersion:
   124                description: 'APIVersion defines the versioned schema of this representation
   125                of an object. Servers should convert recognized schemas to the latest
   126                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   127                type: string
   128              kind:
   129                description: 'Kind is a string value representing the REST resource this
   130                object represents. Servers may infer this from the endpoint the client
   131                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   132                type: string
   133              metadata:
   134                type: object
   135              spec:
   136                description: VirtualMachineMigrationSpec defines the desired state of
   137                  VirtualMachineMigration
   138                properties:
   139                  allowPostCopy:
   140                    default: false
   141                    description: Use PostCopy migration by default
   142                    type: boolean
   143                  autoConverge:
   144                    default: true
   145                    description: Use Auto converge by default
   146                    type: boolean
   147                  completionTimeout:
   148                    default: 3600
   149                    description: 'TODO: not implemented Set 1 hour as default timeout
   150                    for migration'
   151                    format: int32
   152                    type: integer
   153                  incremental:
   154                    default: true
   155                    description: Trigger incremental disk copy migration by default, otherwise
   156                      full disk copy used in migration
   157                    type: boolean
   158                  maxBandwidth:
   159                    anyOf:
   160                      - type: integer
   161                      - type: string
   162                    default: 1Gi
   163                    description: Set 1 Gbyte/sec as default for migration bandwidth
   164                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   165                    x-kubernetes-int-or-string: true
   166                  nodeAffinity:
   167                    description: 'TODO: not implemented'
   168                    properties:
   169                      preferredDuringSchedulingIgnoredDuringExecution:
   170                        description: The scheduler will prefer to schedule pods to nodes
   171                          that satisfy the affinity expressions specified by this field,
   172                          but it may choose a node that violates one or more of the expressions.
   173                          The node that is most preferred is the one with the greatest
   174                          sum of weights, i.e. for each node that meets all of the scheduling
   175                          requirements (resource request, requiredDuringScheduling affinity
   176                          expressions, etc.), compute a sum by iterating through the elements
   177                          of this field and adding "weight" to the sum if the node matches
   178                          the corresponding matchExpressions; the node(s) with the highest
   179                          sum are the most preferred.
   180                        items:
   181                          description: An empty preferred scheduling term matches all
   182                            objects with implicit weight 0 (i.e. it's a no-op). A null
   183                            preferred scheduling term matches no objects (i.e. is also
   184                            a no-op).
   185                          properties:
   186                            preference:
   187                              description: A node selector term, associated with the corresponding
   188                                weight.
   189                              properties:
   190                                matchExpressions:
   191                                  description: A list of node selector requirements by
   192                                    node's labels.
   193                                  items:
   194                                    description: A node selector requirement is a selector
   195                                      that contains values, a key, and an operator that
   196                                      relates the key and values.
   197                                    properties:
   198                                      key:
   199                                        description: The label key that the selector applies
   200                                          to.
   201                                        type: string
   202                                      operator:
   203                                        description: Represents a key's relationship to
   204                                          a set of values. Valid operators are In, NotIn,
   205                                          Exists, DoesNotExist. Gt, and Lt.
   206                                        type: string
   207                                      values:
   208                                        description: An array of string values. If the
   209                                          operator is In or NotIn, the values array must
   210                                          be non-empty. If the operator is Exists or DoesNotExist,
   211                                          the values array must be empty. If the operator
   212                                          is Gt or Lt, the values array must have a single
   213                                          element, which will be interpreted as an integer.
   214                                          This array is replaced during a strategic merge
   215                                          patch.
   216                                        items:
   217                                          type: string
   218                                        type: array
   219                                    required:
   220                                      - key
   221                                      - operator
   222                                    type: object
   223                                  type: array
   224                                matchFields:
   225                                  description: A list of node selector requirements by
   226                                    node's fields.
   227                                  items:
   228                                    description: A node selector requirement is a selector
   229                                      that contains values, a key, and an operator that
   230                                      relates the key and values.
   231                                    properties:
   232                                      key:
   233                                        description: The label key that the selector applies
   234                                          to.
   235                                        type: string
   236                                      operator:
   237                                        description: Represents a key's relationship to
   238                                          a set of values. Valid operators are In, NotIn,
   239                                          Exists, DoesNotExist. Gt, and Lt.
   240                                        type: string
   241                                      values:
   242                                        description: An array of string values. If the
   243                                          operator is In or NotIn, the values array must
   244                                          be non-empty. If the operator is Exists or DoesNotExist,
   245                                          the values array must be empty. If the operator
   246                                          is Gt or Lt, the values array must have a single
   247                                          element, which will be interpreted as an integer.
   248                                          This array is replaced during a strategic merge
   249                                          patch.
   250                                        items:
   251                                          type: string
   252                                        type: array
   253                                    required:
   254                                      - key
   255                                      - operator
   256                                    type: object
   257                                  type: array
   258                              type: object
   259                              x-kubernetes-map-type: atomic
   260                            weight:
   261                              description: Weight associated with matching the corresponding
   262                                nodeSelectorTerm, in the range 1-100.
   263                              format: int32
   264                              type: integer
   265                          required:
   266                            - preference
   267                            - weight
   268                          type: object
   269                        type: array
   270                      requiredDuringSchedulingIgnoredDuringExecution:
   271                        description: If the affinity requirements specified by this field
   272                          are not met at scheduling time, the pod will not be scheduled
   273                          onto the node. If the affinity requirements specified by this
   274                          field cease to be met at some point during pod execution (e.g.
   275                          due to an update), the system may or may not try to eventually
   276                          evict the pod from its node.
   277                        properties:
   278                          nodeSelectorTerms:
   279                            description: Required. A list of node selector terms. The
   280                              terms are ORed.
   281                            items:
   282                              description: A null or empty node selector term matches
   283                                no objects. The requirements of them are ANDed. The TopologySelectorTerm
   284                                type implements a subset of the NodeSelectorTerm.
   285                              properties:
   286                                matchExpressions:
   287                                  description: A list of node selector requirements by
   288                                    node's labels.
   289                                  items:
   290                                    description: A node selector requirement is a selector
   291                                      that contains values, a key, and an operator that
   292                                      relates the key and values.
   293                                    properties:
   294                                      key:
   295                                        description: The label key that the selector applies
   296                                          to.
   297                                        type: string
   298                                      operator:
   299                                        description: Represents a key's relationship to
   300                                          a set of values. Valid operators are In, NotIn,
   301                                          Exists, DoesNotExist. Gt, and Lt.
   302                                        type: string
   303                                      values:
   304                                        description: An array of string values. If the
   305                                          operator is In or NotIn, the values array must
   306                                          be non-empty. If the operator is Exists or DoesNotExist,
   307                                          the values array must be empty. If the operator
   308                                          is Gt or Lt, the values array must have a single
   309                                          element, which will be interpreted as an integer.
   310                                          This array is replaced during a strategic merge
   311                                          patch.
   312                                        items:
   313                                          type: string
   314                                        type: array
   315                                    required:
   316                                      - key
   317                                      - operator
   318                                    type: object
   319                                  type: array
   320                                matchFields:
   321                                  description: A list of node selector requirements by
   322                                    node's fields.
   323                                  items:
   324                                    description: A node selector requirement is a selector
   325                                      that contains values, a key, and an operator that
   326                                      relates the key and values.
   327                                    properties:
   328                                      key:
   329                                        description: The label key that the selector applies
   330                                          to.
   331                                        type: string
   332                                      operator:
   333                                        description: Represents a key's relationship to
   334                                          a set of values. Valid operators are In, NotIn,
   335                                          Exists, DoesNotExist. Gt, and Lt.
   336                                        type: string
   337                                      values:
   338                                        description: An array of string values. If the
   339                                          operator is In or NotIn, the values array must
   340                                          be non-empty. If the operator is Exists or DoesNotExist,
   341                                          the values array must be empty. If the operator
   342                                          is Gt or Lt, the values array must have a single
   343                                          element, which will be interpreted as an integer.
   344                                          This array is replaced during a strategic merge
   345                                          patch.
   346                                        items:
   347                                          type: string
   348                                        type: array
   349                                    required:
   350                                      - key
   351                                      - operator
   352                                    type: object
   353                                  type: array
   354                              type: object
   355                              x-kubernetes-map-type: atomic
   356                            type: array
   357                        required:
   358                          - nodeSelectorTerms
   359                        type: object
   360                        x-kubernetes-map-type: atomic
   361                    type: object
   362                  nodeSelector:
   363                    additionalProperties:
   364                      type: string
   365                    description: 'TODO: not implemented'
   366                    type: object
   367                  preventMigrationToSameHost:
   368                    default: true
   369                    type: boolean
   370                  vmName:
   371                    type: string
   372                required:
   373                  - vmName
   374                type: object
   375              status:
   376                description: VirtualMachineMigrationStatus defines the observed state
   377                  of VirtualMachineMigration
   378                properties:
   379                  conditions:
   380                    items:
   381                      description: "Condition contains details for one aspect of the current
   382                      state of this API Resource. --- This struct is intended for direct
   383                      use as an array at the field path .status.conditions.  For example,
   384                      \n type FooStatus struct{ // Represents the observations of a
   385                      foo's current state. // Known .status.conditions.type are: \"Available\",
   386                      \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
   387                      // +listType=map // +listMapKey=type Conditions []metav1.Condition
   388                      `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
   389                      protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
   390                      properties:
   391                        lastTransitionTime:
   392                          description: lastTransitionTime is the last time the condition
   393                            transitioned from one status to another. This should be when
   394                            the underlying condition changed.  If that is not known, then
   395                            using the time when the API field changed is acceptable.
   396                          format: date-time
   397                          type: string
   398                        message:
   399                          description: message is a human readable message indicating
   400                            details about the transition. This may be an empty string.
   401                          maxLength: 32768
   402                          type: string
   403                        observedGeneration:
   404                          description: observedGeneration represents the .metadata.generation
   405                            that the condition was set based upon. For instance, if .metadata.generation
   406                            is currently 12, but the .status.conditions[x].observedGeneration
   407                            is 9, the condition is out of date with respect to the current
   408                            state of the instance.
   409                          format: int64
   410                          minimum: 0
   411                          type: integer
   412                        reason:
   413                          description: reason contains a programmatic identifier indicating
   414                            the reason for the condition's last transition. Producers
   415                            of specific condition types may define expected values and
   416                            meanings for this field, and whether the values are considered
   417                            a guaranteed API. The value should be a CamelCase string.
   418                            This field may not be empty.
   419                          maxLength: 1024
   420                          minLength: 1
   421                          pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   422                          type: string
   423                        status:
   424                          description: status of the condition, one of True, False, Unknown.
   425                          enum:
   426                            - "True"
   427                            - "False"
   428                            - Unknown
   429                          type: string
   430                        type:
   431                          description: type of condition in CamelCase or in foo.example.com/CamelCase.
   432                            --- Many .condition.type values are consistent across resources
   433                            like Available, but because arbitrary conditions can be useful
   434                            (see .node.status.conditions), the ability to deconflict is
   435                            important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   436                          maxLength: 316
   437                          pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
   438                          type: string
   439                      required:
   440                        - lastTransitionTime
   441                        - message
   442                        - reason
   443                        - status
   444                        - type
   445                      type: object
   446                    type: array
   447                  info:
   448                    properties:
   449                      compression:
   450                        properties:
   451                          compressedSize:
   452                            format: int64
   453                            type: integer
   454                          compressionRate:
   455                            format: int64
   456                            type: integer
   457                        type: object
   458                      downtimeMs:
   459                        format: int64
   460                        type: integer
   461                      ram:
   462                        properties:
   463                          remaining:
   464                            format: int64
   465                            type: integer
   466                          total:
   467                            format: int64
   468                            type: integer
   469                          transferred:
   470                            format: int64
   471                            type: integer
   472                        type: object
   473                      setupTimeMs:
   474                        format: int64
   475                        type: integer
   476                      status:
   477                        type: string
   478                      totalTimeMs:
   479                        format: int64
   480                        type: integer
   481                    type: object
   482                  phase:
   483                    description: The phase of a VM is a simple, high-level summary of
   484                      where the VM is in its lifecycle.
   485                    type: string
   486                  sourceNode:
   487                    type: string
   488                  sourcePodIP:
   489                    type: string
   490                  sourcePodName:
   491                    type: string
   492                  targetNode:
   493                    type: string
   494                  targetPodIP:
   495                    type: string
   496                  targetPodName:
   497                    type: string
   498                type: object
   499            type: object
   500        served: true
   501        storage: true
   502        subresources:
   503          status: {}
   504  ---
   505  apiVersion: apiextensions.k8s.io/v1
   506  kind: CustomResourceDefinition
   507  metadata:
   508    annotations:
   509      cert-manager.io/inject-ca-from: neonvm-system/neonvm-serving-cert
   510      controller-gen.kubebuilder.io/version: v0.10.0
   511    name: virtualmachines.vm.neon.tech
   512  spec:
   513    conversion:
   514      strategy: Webhook
   515      webhook:
   516        clientConfig:
   517          service:
   518            name: neonvm-webhook-service
   519            namespace: neonvm-system
   520            path: /convert
   521        conversionReviewVersions:
   522          - v1
   523    group: vm.neon.tech
   524    names:
   525      kind: VirtualMachine
   526      listKind: VirtualMachineList
   527      plural: virtualmachines
   528      singular: neonvm
   529    scope: Namespaced
   530    versions:
   531      - additionalPrinterColumns:
   532          - jsonPath: .status.cpus
   533            name: Cpus
   534            type: string
   535          - jsonPath: .status.memorySize
   536            name: Memory
   537            type: string
   538          - jsonPath: .status.podName
   539            name: Pod
   540            type: string
   541          - jsonPath: .status.extraNetIP
   542            name: ExtraIP
   543            type: string
   544          - jsonPath: .status.phase
   545            name: Status
   546            type: string
   547          - jsonPath: .metadata.creationTimestamp
   548            name: Age
   549            type: date
   550          - jsonPath: .status.node
   551            name: Node
   552            priority: 1
   553            type: string
   554          - jsonPath: .spec.guest.rootDisk.image
   555            name: Image
   556            priority: 1
   557            type: string
   558        name: v1
   559        schema:
   560          openAPIV3Schema:
   561            description: VirtualMachine is the Schema for the virtualmachines API
   562            properties:
   563              apiVersion:
   564                description: 'APIVersion defines the versioned schema of this representation
   565                of an object. Servers should convert recognized schemas to the latest
   566                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   567                type: string
   568              kind:
   569                description: 'Kind is a string value representing the REST resource this
   570                object represents. Servers may infer this from the endpoint the client
   571                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   572                type: string
   573              metadata:
   574                type: object
   575              spec:
   576                description: VirtualMachineSpec defines the desired state of VirtualMachine
   577                properties:
   578                  affinity:
   579                    description: Affinity is a group of affinity scheduling rules.
   580                    properties:
   581                      nodeAffinity:
   582                        description: Describes node affinity scheduling rules for the
   583                          pod.
   584                        properties:
   585                          preferredDuringSchedulingIgnoredDuringExecution:
   586                            description: The scheduler will prefer to schedule pods to
   587                              nodes that satisfy the affinity expressions specified by
   588                              this field, but it may choose a node that violates one or
   589                              more of the expressions. The node that is most preferred
   590                              is the one with the greatest sum of weights, i.e. for each
   591                              node that meets all of the scheduling requirements (resource
   592                              request, requiredDuringScheduling affinity expressions,
   593                              etc.), compute a sum by iterating through the elements of
   594                              this field and adding "weight" to the sum if the node matches
   595                              the corresponding matchExpressions; the node(s) with the
   596                              highest sum are the most preferred.
   597                            items:
   598                              description: An empty preferred scheduling term matches
   599                                all objects with implicit weight 0 (i.e. it's a no-op).
   600                                A null preferred scheduling term matches no objects (i.e.
   601                                is also a no-op).
   602                              properties:
   603                                preference:
   604                                  description: A node selector term, associated with the
   605                                    corresponding weight.
   606                                  properties:
   607                                    matchExpressions:
   608                                      description: A list of node selector requirements
   609                                        by node's labels.
   610                                      items:
   611                                        description: A node selector requirement is a
   612                                          selector that contains values, a key, and an
   613                                          operator that relates the key and values.
   614                                        properties:
   615                                          key:
   616                                            description: The label key that the selector
   617                                              applies to.
   618                                            type: string
   619                                          operator:
   620                                            description: Represents a key's relationship
   621                                              to a set of values. Valid operators are
   622                                              In, NotIn, Exists, DoesNotExist. Gt, and
   623                                              Lt.
   624                                            type: string
   625                                          values:
   626                                            description: An array of string values. If
   627                                              the operator is In or NotIn, the values
   628                                              array must be non-empty. If the operator
   629                                              is Exists or DoesNotExist, the values array
   630                                              must be empty. If the operator is Gt or
   631                                              Lt, the values array must have a single
   632                                              element, which will be interpreted as an
   633                                              integer. This array is replaced during a
   634                                              strategic merge patch.
   635                                            items:
   636                                              type: string
   637                                            type: array
   638                                        required:
   639                                          - key
   640                                          - operator
   641                                        type: object
   642                                      type: array
   643                                    matchFields:
   644                                      description: A list of node selector requirements
   645                                        by node's fields.
   646                                      items:
   647                                        description: A node selector requirement is a
   648                                          selector that contains values, a key, and an
   649                                          operator that relates the key and values.
   650                                        properties:
   651                                          key:
   652                                            description: The label key that the selector
   653                                              applies to.
   654                                            type: string
   655                                          operator:
   656                                            description: Represents a key's relationship
   657                                              to a set of values. Valid operators are
   658                                              In, NotIn, Exists, DoesNotExist. Gt, and
   659                                              Lt.
   660                                            type: string
   661                                          values:
   662                                            description: An array of string values. If
   663                                              the operator is In or NotIn, the values
   664                                              array must be non-empty. If the operator
   665                                              is Exists or DoesNotExist, the values array
   666                                              must be empty. If the operator is Gt or
   667                                              Lt, the values array must have a single
   668                                              element, which will be interpreted as an
   669                                              integer. This array is replaced during a
   670                                              strategic merge patch.
   671                                            items:
   672                                              type: string
   673                                            type: array
   674                                        required:
   675                                          - key
   676                                          - operator
   677                                        type: object
   678                                      type: array
   679                                  type: object
   680                                  x-kubernetes-map-type: atomic
   681                                weight:
   682                                  description: Weight associated with matching the corresponding
   683                                    nodeSelectorTerm, in the range 1-100.
   684                                  format: int32
   685                                  type: integer
   686                              required:
   687                                - preference
   688                                - weight
   689                              type: object
   690                            type: array
   691                          requiredDuringSchedulingIgnoredDuringExecution:
   692                            description: If the affinity requirements specified by this
   693                              field are not met at scheduling time, the pod will not be
   694                              scheduled onto the node. If the affinity requirements specified
   695                              by this field cease to be met at some point during pod execution
   696                              (e.g. due to an update), the system may or may not try to
   697                              eventually evict the pod from its node.
   698                            properties:
   699                              nodeSelectorTerms:
   700                                description: Required. A list of node selector terms.
   701                                  The terms are ORed.
   702                                items:
   703                                  description: A null or empty node selector term matches
   704                                    no objects. The requirements of them are ANDed. The
   705                                    TopologySelectorTerm type implements a subset of the
   706                                    NodeSelectorTerm.
   707                                  properties:
   708                                    matchExpressions:
   709                                      description: A list of node selector requirements
   710                                        by node's labels.
   711                                      items:
   712                                        description: A node selector requirement is a
   713                                          selector that contains values, a key, and an
   714                                          operator that relates the key and values.
   715                                        properties:
   716                                          key:
   717                                            description: The label key that the selector
   718                                              applies to.
   719                                            type: string
   720                                          operator:
   721                                            description: Represents a key's relationship
   722                                              to a set of values. Valid operators are
   723                                              In, NotIn, Exists, DoesNotExist. Gt, and
   724                                              Lt.
   725                                            type: string
   726                                          values:
   727                                            description: An array of string values. If
   728                                              the operator is In or NotIn, the values
   729                                              array must be non-empty. If the operator
   730                                              is Exists or DoesNotExist, the values array
   731                                              must be empty. If the operator is Gt or
   732                                              Lt, the values array must have a single
   733                                              element, which will be interpreted as an
   734                                              integer. This array is replaced during a
   735                                              strategic merge patch.
   736                                            items:
   737                                              type: string
   738                                            type: array
   739                                        required:
   740                                          - key
   741                                          - operator
   742                                        type: object
   743                                      type: array
   744                                    matchFields:
   745                                      description: A list of node selector requirements
   746                                        by node's fields.
   747                                      items:
   748                                        description: A node selector requirement is a
   749                                          selector that contains values, a key, and an
   750                                          operator that relates the key and values.
   751                                        properties:
   752                                          key:
   753                                            description: The label key that the selector
   754                                              applies to.
   755                                            type: string
   756                                          operator:
   757                                            description: Represents a key's relationship
   758                                              to a set of values. Valid operators are
   759                                              In, NotIn, Exists, DoesNotExist. Gt, and
   760                                              Lt.
   761                                            type: string
   762                                          values:
   763                                            description: An array of string values. If
   764                                              the operator is In or NotIn, the values
   765                                              array must be non-empty. If the operator
   766                                              is Exists or DoesNotExist, the values array
   767                                              must be empty. If the operator is Gt or
   768                                              Lt, the values array must have a single
   769                                              element, which will be interpreted as an
   770                                              integer. This array is replaced during a
   771                                              strategic merge patch.
   772                                            items:
   773                                              type: string
   774                                            type: array
   775                                        required:
   776                                          - key
   777                                          - operator
   778                                        type: object
   779                                      type: array
   780                                  type: object
   781                                  x-kubernetes-map-type: atomic
   782                                type: array
   783                            required:
   784                              - nodeSelectorTerms
   785                            type: object
   786                            x-kubernetes-map-type: atomic
   787                        type: object
   788                      podAffinity:
   789                        description: Describes pod affinity scheduling rules (e.g. co-locate
   790                          this pod in the same node, zone, etc. as some other pod(s)).
   791                        properties:
   792                          preferredDuringSchedulingIgnoredDuringExecution:
   793                            description: The scheduler will prefer to schedule pods to
   794                              nodes that satisfy the affinity expressions specified by
   795                              this field, but it may choose a node that violates one or
   796                              more of the expressions. The node that is most preferred
   797                              is the one with the greatest sum of weights, i.e. for each
   798                              node that meets all of the scheduling requirements (resource
   799                              request, requiredDuringScheduling affinity expressions,
   800                              etc.), compute a sum by iterating through the elements of
   801                              this field and adding "weight" to the sum if the node has
   802                              pods which matches the corresponding podAffinityTerm; the
   803                              node(s) with the highest sum are the most preferred.
   804                            items:
   805                              description: The weights of all of the matched WeightedPodAffinityTerm
   806                                fields are added per-node to find the most preferred node(s)
   807                              properties:
   808                                podAffinityTerm:
   809                                  description: Required. A pod affinity term, associated
   810                                    with the corresponding weight.
   811                                  properties:
   812                                    labelSelector:
   813                                      description: A label query over a set of resources,
   814                                        in this case pods.
   815                                      properties:
   816                                        matchExpressions:
   817                                          description: matchExpressions is a list of label
   818                                            selector requirements. The requirements are
   819                                            ANDed.
   820                                          items:
   821                                            description: A label selector requirement
   822                                              is a selector that contains values, a key,
   823                                              and an operator that relates the key and
   824                                              values.
   825                                            properties:
   826                                              key:
   827                                                description: key is the label key that
   828                                                  the selector applies to.
   829                                                type: string
   830                                              operator:
   831                                                description: operator represents a key's
   832                                                  relationship to a set of values. Valid
   833                                                  operators are In, NotIn, Exists and
   834                                                  DoesNotExist.
   835                                                type: string
   836                                              values:
   837                                                description: values is an array of string
   838                                                  values. If the operator is In or NotIn,
   839                                                  the values array must be non-empty.
   840                                                  If the operator is Exists or DoesNotExist,
   841                                                  the values array must be empty. This
   842                                                  array is replaced during a strategic
   843                                                  merge patch.
   844                                                items:
   845                                                  type: string
   846                                                type: array
   847                                            required:
   848                                              - key
   849                                              - operator
   850                                            type: object
   851                                          type: array
   852                                        matchLabels:
   853                                          additionalProperties:
   854                                            type: string
   855                                          description: matchLabels is a map of {key,value}
   856                                            pairs. A single {key,value} in the matchLabels
   857                                            map is equivalent to an element of matchExpressions,
   858                                            whose key field is "key", the operator is
   859                                            "In", and the values array contains only "value".
   860                                            The requirements are ANDed.
   861                                          type: object
   862                                      type: object
   863                                      x-kubernetes-map-type: atomic
   864                                    namespaceSelector:
   865                                      description: A label query over the set of namespaces
   866                                        that the term applies to. The term is applied
   867                                        to the union of the namespaces selected by this
   868                                        field and the ones listed in the namespaces field.
   869                                        null selector and null or empty namespaces list
   870                                        means "this pod's namespace". An empty selector
   871                                        ({}) matches all namespaces.
   872                                      properties:
   873                                        matchExpressions:
   874                                          description: matchExpressions is a list of label
   875                                            selector requirements. The requirements are
   876                                            ANDed.
   877                                          items:
   878                                            description: A label selector requirement
   879                                              is a selector that contains values, a key,
   880                                              and an operator that relates the key and
   881                                              values.
   882                                            properties:
   883                                              key:
   884                                                description: key is the label key that
   885                                                  the selector applies to.
   886                                                type: string
   887                                              operator:
   888                                                description: operator represents a key's
   889                                                  relationship to a set of values. Valid
   890                                                  operators are In, NotIn, Exists and
   891                                                  DoesNotExist.
   892                                                type: string
   893                                              values:
   894                                                description: values is an array of string
   895                                                  values. If the operator is In or NotIn,
   896                                                  the values array must be non-empty.
   897                                                  If the operator is Exists or DoesNotExist,
   898                                                  the values array must be empty. This
   899                                                  array is replaced during a strategic
   900                                                  merge patch.
   901                                                items:
   902                                                  type: string
   903                                                type: array
   904                                            required:
   905                                              - key
   906                                              - operator
   907                                            type: object
   908                                          type: array
   909                                        matchLabels:
   910                                          additionalProperties:
   911                                            type: string
   912                                          description: matchLabels is a map of {key,value}
   913                                            pairs. A single {key,value} in the matchLabels
   914                                            map is equivalent to an element of matchExpressions,
   915                                            whose key field is "key", the operator is
   916                                            "In", and the values array contains only "value".
   917                                            The requirements are ANDed.
   918                                          type: object
   919                                      type: object
   920                                      x-kubernetes-map-type: atomic
   921                                    namespaces:
   922                                      description: namespaces specifies a static list
   923                                        of namespace names that the term applies to. The
   924                                        term is applied to the union of the namespaces
   925                                        listed in this field and the ones selected by
   926                                        namespaceSelector. null or empty namespaces list
   927                                        and null namespaceSelector means "this pod's namespace".
   928                                      items:
   929                                        type: string
   930                                      type: array
   931                                    topologyKey:
   932                                      description: This pod should be co-located (affinity)
   933                                        or not co-located (anti-affinity) with the pods
   934                                        matching the labelSelector in the specified namespaces,
   935                                        where co-located is defined as running on a node
   936                                        whose value of the label with key topologyKey
   937                                        matches that of any node on which any of the selected
   938                                        pods is running. Empty topologyKey is not allowed.
   939                                      type: string
   940                                  required:
   941                                    - topologyKey
   942                                  type: object
   943                                weight:
   944                                  description: weight associated with matching the corresponding
   945                                    podAffinityTerm, in the range 1-100.
   946                                  format: int32
   947                                  type: integer
   948                              required:
   949                                - podAffinityTerm
   950                                - weight
   951                              type: object
   952                            type: array
   953                          requiredDuringSchedulingIgnoredDuringExecution:
   954                            description: If the affinity requirements specified by this
   955                              field are not met at scheduling time, the pod will not be
   956                              scheduled onto the node. If the affinity requirements specified
   957                              by this field cease to be met at some point during pod execution
   958                              (e.g. due to a pod label update), the system may or may
   959                              not try to eventually evict the pod from its node. When
   960                              there are multiple elements, the lists of nodes corresponding
   961                              to each podAffinityTerm are intersected, i.e. all terms
   962                              must be satisfied.
   963                            items:
   964                              description: Defines a set of pods (namely those matching
   965                                the labelSelector relative to the given namespace(s))
   966                                that this pod should be co-located (affinity) or not co-located
   967                                (anti-affinity) with, where co-located is defined as running
   968                                on a node whose value of the label with key <topologyKey>
   969                                matches that of any node on which a pod of the set of
   970                                pods is running
   971                              properties:
   972                                labelSelector:
   973                                  description: A label query over a set of resources,
   974                                    in this case pods.
   975                                  properties:
   976                                    matchExpressions:
   977                                      description: matchExpressions is a list of label
   978                                        selector requirements. The requirements are ANDed.
   979                                      items:
   980                                        description: A label selector requirement is a
   981                                          selector that contains values, a key, and an
   982                                          operator that relates the key and values.
   983                                        properties:
   984                                          key:
   985                                            description: key is the label key that the
   986                                              selector applies to.
   987                                            type: string
   988                                          operator:
   989                                            description: operator represents a key's relationship
   990                                              to a set of values. Valid operators are
   991                                              In, NotIn, Exists and DoesNotExist.
   992                                            type: string
   993                                          values:
   994                                            description: values is an array of string
   995                                              values. If the operator is In or NotIn,
   996                                              the values array must be non-empty. If the
   997                                              operator is Exists or DoesNotExist, the
   998                                              values array must be empty. This array is
   999                                              replaced during a strategic merge patch.
  1000                                            items:
  1001                                              type: string
  1002                                            type: array
  1003                                        required:
  1004                                          - key
  1005                                          - operator
  1006                                        type: object
  1007                                      type: array
  1008                                    matchLabels:
  1009                                      additionalProperties:
  1010                                        type: string
  1011                                      description: matchLabels is a map of {key,value}
  1012                                        pairs. A single {key,value} in the matchLabels
  1013                                        map is equivalent to an element of matchExpressions,
  1014                                        whose key field is "key", the operator is "In",
  1015                                        and the values array contains only "value". The
  1016                                        requirements are ANDed.
  1017                                      type: object
  1018                                  type: object
  1019                                  x-kubernetes-map-type: atomic
  1020                                namespaceSelector:
  1021                                  description: A label query over the set of namespaces
  1022                                    that the term applies to. The term is applied to the
  1023                                    union of the namespaces selected by this field and
  1024                                    the ones listed in the namespaces field. null selector
  1025                                    and null or empty namespaces list means "this pod's
  1026                                    namespace". An empty selector ({}) matches all namespaces.
  1027                                  properties:
  1028                                    matchExpressions:
  1029                                      description: matchExpressions is a list of label
  1030                                        selector requirements. The requirements are ANDed.
  1031                                      items:
  1032                                        description: A label selector requirement is a
  1033                                          selector that contains values, a key, and an
  1034                                          operator that relates the key and values.
  1035                                        properties:
  1036                                          key:
  1037                                            description: key is the label key that the
  1038                                              selector applies to.
  1039                                            type: string
  1040                                          operator:
  1041                                            description: operator represents a key's relationship
  1042                                              to a set of values. Valid operators are
  1043                                              In, NotIn, Exists and DoesNotExist.
  1044                                            type: string
  1045                                          values:
  1046                                            description: values is an array of string
  1047                                              values. If the operator is In or NotIn,
  1048                                              the values array must be non-empty. If the
  1049                                              operator is Exists or DoesNotExist, the
  1050                                              values array must be empty. This array is
  1051                                              replaced during a strategic merge patch.
  1052                                            items:
  1053                                              type: string
  1054                                            type: array
  1055                                        required:
  1056                                          - key
  1057                                          - operator
  1058                                        type: object
  1059                                      type: array
  1060                                    matchLabels:
  1061                                      additionalProperties:
  1062                                        type: string
  1063                                      description: matchLabels is a map of {key,value}
  1064                                        pairs. A single {key,value} in the matchLabels
  1065                                        map is equivalent to an element of matchExpressions,
  1066                                        whose key field is "key", the operator is "In",
  1067                                        and the values array contains only "value". The
  1068                                        requirements are ANDed.
  1069                                      type: object
  1070                                  type: object
  1071                                  x-kubernetes-map-type: atomic
  1072                                namespaces:
  1073                                  description: namespaces specifies a static list of namespace
  1074                                    names that the term applies to. The term is applied
  1075                                    to the union of the namespaces listed in this field
  1076                                    and the ones selected by namespaceSelector. null or
  1077                                    empty namespaces list and null namespaceSelector means
  1078                                    "this pod's namespace".
  1079                                  items:
  1080                                    type: string
  1081                                  type: array
  1082                                topologyKey:
  1083                                  description: This pod should be co-located (affinity)
  1084                                    or not co-located (anti-affinity) with the pods matching
  1085                                    the labelSelector in the specified namespaces, where
  1086                                    co-located is defined as running on a node whose value
  1087                                    of the label with key topologyKey matches that of
  1088                                    any node on which any of the selected pods is running.
  1089                                    Empty topologyKey is not allowed.
  1090                                  type: string
  1091                              required:
  1092                                - topologyKey
  1093                              type: object
  1094                            type: array
  1095                        type: object
  1096                      podAntiAffinity:
  1097                        description: Describes pod anti-affinity scheduling rules (e.g.
  1098                          avoid putting this pod in the same node, zone, etc. as some
  1099                          other pod(s)).
  1100                        properties:
  1101                          preferredDuringSchedulingIgnoredDuringExecution:
  1102                            description: The scheduler will prefer to schedule pods to
  1103                              nodes that satisfy the anti-affinity expressions specified
  1104                              by this field, but it may choose a node that violates one
  1105                              or more of the expressions. The node that is most preferred
  1106                              is the one with the greatest sum of weights, i.e. for each
  1107                              node that meets all of the scheduling requirements (resource
  1108                              request, requiredDuringScheduling anti-affinity expressions,
  1109                              etc.), compute a sum by iterating through the elements of
  1110                              this field and adding "weight" to the sum if the node has
  1111                              pods which matches the corresponding podAffinityTerm; the
  1112                              node(s) with the highest sum are the most preferred.
  1113                            items:
  1114                              description: The weights of all of the matched WeightedPodAffinityTerm
  1115                                fields are added per-node to find the most preferred node(s)
  1116                              properties:
  1117                                podAffinityTerm:
  1118                                  description: Required. A pod affinity term, associated
  1119                                    with the corresponding weight.
  1120                                  properties:
  1121                                    labelSelector:
  1122                                      description: A label query over a set of resources,
  1123                                        in this case pods.
  1124                                      properties:
  1125                                        matchExpressions:
  1126                                          description: matchExpressions is a list of label
  1127                                            selector requirements. The requirements are
  1128                                            ANDed.
  1129                                          items:
  1130                                            description: A label selector requirement
  1131                                              is a selector that contains values, a key,
  1132                                              and an operator that relates the key and
  1133                                              values.
  1134                                            properties:
  1135                                              key:
  1136                                                description: key is the label key that
  1137                                                  the selector applies to.
  1138                                                type: string
  1139                                              operator:
  1140                                                description: operator represents a key's
  1141                                                  relationship to a set of values. Valid
  1142                                                  operators are In, NotIn, Exists and
  1143                                                  DoesNotExist.
  1144                                                type: string
  1145                                              values:
  1146                                                description: values is an array of string
  1147                                                  values. If the operator is In or NotIn,
  1148                                                  the values array must be non-empty.
  1149                                                  If the operator is Exists or DoesNotExist,
  1150                                                  the values array must be empty. This
  1151                                                  array is replaced during a strategic
  1152                                                  merge patch.
  1153                                                items:
  1154                                                  type: string
  1155                                                type: array
  1156                                            required:
  1157                                              - key
  1158                                              - operator
  1159                                            type: object
  1160                                          type: array
  1161                                        matchLabels:
  1162                                          additionalProperties:
  1163                                            type: string
  1164                                          description: matchLabels is a map of {key,value}
  1165                                            pairs. A single {key,value} in the matchLabels
  1166                                            map is equivalent to an element of matchExpressions,
  1167                                            whose key field is "key", the operator is
  1168                                            "In", and the values array contains only "value".
  1169                                            The requirements are ANDed.
  1170                                          type: object
  1171                                      type: object
  1172                                      x-kubernetes-map-type: atomic
  1173                                    namespaceSelector:
  1174                                      description: A label query over the set of namespaces
  1175                                        that the term applies to. The term is applied
  1176                                        to the union of the namespaces selected by this
  1177                                        field and the ones listed in the namespaces field.
  1178                                        null selector and null or empty namespaces list
  1179                                        means "this pod's namespace". An empty selector
  1180                                        ({}) matches all namespaces.
  1181                                      properties:
  1182                                        matchExpressions:
  1183                                          description: matchExpressions is a list of label
  1184                                            selector requirements. The requirements are
  1185                                            ANDed.
  1186                                          items:
  1187                                            description: A label selector requirement
  1188                                              is a selector that contains values, a key,
  1189                                              and an operator that relates the key and
  1190                                              values.
  1191                                            properties:
  1192                                              key:
  1193                                                description: key is the label key that
  1194                                                  the selector applies to.
  1195                                                type: string
  1196                                              operator:
  1197                                                description: operator represents a key's
  1198                                                  relationship to a set of values. Valid
  1199                                                  operators are In, NotIn, Exists and
  1200                                                  DoesNotExist.
  1201                                                type: string
  1202                                              values:
  1203                                                description: values is an array of string
  1204                                                  values. If the operator is In or NotIn,
  1205                                                  the values array must be non-empty.
  1206                                                  If the operator is Exists or DoesNotExist,
  1207                                                  the values array must be empty. This
  1208                                                  array is replaced during a strategic
  1209                                                  merge patch.
  1210                                                items:
  1211                                                  type: string
  1212                                                type: array
  1213                                            required:
  1214                                              - key
  1215                                              - operator
  1216                                            type: object
  1217                                          type: array
  1218                                        matchLabels:
  1219                                          additionalProperties:
  1220                                            type: string
  1221                                          description: matchLabels is a map of {key,value}
  1222                                            pairs. A single {key,value} in the matchLabels
  1223                                            map is equivalent to an element of matchExpressions,
  1224                                            whose key field is "key", the operator is
  1225                                            "In", and the values array contains only "value".
  1226                                            The requirements are ANDed.
  1227                                          type: object
  1228                                      type: object
  1229                                      x-kubernetes-map-type: atomic
  1230                                    namespaces:
  1231                                      description: namespaces specifies a static list
  1232                                        of namespace names that the term applies to. The
  1233                                        term is applied to the union of the namespaces
  1234                                        listed in this field and the ones selected by
  1235                                        namespaceSelector. null or empty namespaces list
  1236                                        and null namespaceSelector means "this pod's namespace".
  1237                                      items:
  1238                                        type: string
  1239                                      type: array
  1240                                    topologyKey:
  1241                                      description: This pod should be co-located (affinity)
  1242                                        or not co-located (anti-affinity) with the pods
  1243                                        matching the labelSelector in the specified namespaces,
  1244                                        where co-located is defined as running on a node
  1245                                        whose value of the label with key topologyKey
  1246                                        matches that of any node on which any of the selected
  1247                                        pods is running. Empty topologyKey is not allowed.
  1248                                      type: string
  1249                                  required:
  1250                                    - topologyKey
  1251                                  type: object
  1252                                weight:
  1253                                  description: weight associated with matching the corresponding
  1254                                    podAffinityTerm, in the range 1-100.
  1255                                  format: int32
  1256                                  type: integer
  1257                              required:
  1258                                - podAffinityTerm
  1259                                - weight
  1260                              type: object
  1261                            type: array
  1262                          requiredDuringSchedulingIgnoredDuringExecution:
  1263                            description: If the anti-affinity requirements specified by
  1264                              this field are not met at scheduling time, the pod will
  1265                              not be scheduled onto the node. If the anti-affinity requirements
  1266                              specified by this field cease to be met at some point during
  1267                              pod execution (e.g. due to a pod label update), the system
  1268                              may or may not try to eventually evict the pod from its
  1269                              node. When there are multiple elements, the lists of nodes
  1270                              corresponding to each podAffinityTerm are intersected, i.e.
  1271                              all terms must be satisfied.
  1272                            items:
  1273                              description: Defines a set of pods (namely those matching
  1274                                the labelSelector relative to the given namespace(s))
  1275                                that this pod should be co-located (affinity) or not co-located
  1276                                (anti-affinity) with, where co-located is defined as running
  1277                                on a node whose value of the label with key <topologyKey>
  1278                                matches that of any node on which a pod of the set of
  1279                                pods is running
  1280                              properties:
  1281                                labelSelector:
  1282                                  description: A label query over a set of resources,
  1283                                    in this case pods.
  1284                                  properties:
  1285                                    matchExpressions:
  1286                                      description: matchExpressions is a list of label
  1287                                        selector requirements. The requirements are ANDed.
  1288                                      items:
  1289                                        description: A label selector requirement is a
  1290                                          selector that contains values, a key, and an
  1291                                          operator that relates the key and values.
  1292                                        properties:
  1293                                          key:
  1294                                            description: key is the label key that the
  1295                                              selector applies to.
  1296                                            type: string
  1297                                          operator:
  1298                                            description: operator represents a key's relationship
  1299                                              to a set of values. Valid operators are
  1300                                              In, NotIn, Exists and DoesNotExist.
  1301                                            type: string
  1302                                          values:
  1303                                            description: values is an array of string
  1304                                              values. If the operator is In or NotIn,
  1305                                              the values array must be non-empty. If the
  1306                                              operator is Exists or DoesNotExist, the
  1307                                              values array must be empty. This array is
  1308                                              replaced during a strategic merge patch.
  1309                                            items:
  1310                                              type: string
  1311                                            type: array
  1312                                        required:
  1313                                          - key
  1314                                          - operator
  1315                                        type: object
  1316                                      type: array
  1317                                    matchLabels:
  1318                                      additionalProperties:
  1319                                        type: string
  1320                                      description: matchLabels is a map of {key,value}
  1321                                        pairs. A single {key,value} in the matchLabels
  1322                                        map is equivalent to an element of matchExpressions,
  1323                                        whose key field is "key", the operator is "In",
  1324                                        and the values array contains only "value". The
  1325                                        requirements are ANDed.
  1326                                      type: object
  1327                                  type: object
  1328                                  x-kubernetes-map-type: atomic
  1329                                namespaceSelector:
  1330                                  description: A label query over the set of namespaces
  1331                                    that the term applies to. The term is applied to the
  1332                                    union of the namespaces selected by this field and
  1333                                    the ones listed in the namespaces field. null selector
  1334                                    and null or empty namespaces list means "this pod's
  1335                                    namespace". An empty selector ({}) matches all namespaces.
  1336                                  properties:
  1337                                    matchExpressions:
  1338                                      description: matchExpressions is a list of label
  1339                                        selector requirements. The requirements are ANDed.
  1340                                      items:
  1341                                        description: A label selector requirement is a
  1342                                          selector that contains values, a key, and an
  1343                                          operator that relates the key and values.
  1344                                        properties:
  1345                                          key:
  1346                                            description: key is the label key that the
  1347                                              selector applies to.
  1348                                            type: string
  1349                                          operator:
  1350                                            description: operator represents a key's relationship
  1351                                              to a set of values. Valid operators are
  1352                                              In, NotIn, Exists and DoesNotExist.
  1353                                            type: string
  1354                                          values:
  1355                                            description: values is an array of string
  1356                                              values. If the operator is In or NotIn,
  1357                                              the values array must be non-empty. If the
  1358                                              operator is Exists or DoesNotExist, the
  1359                                              values array must be empty. This array is
  1360                                              replaced during a strategic merge patch.
  1361                                            items:
  1362                                              type: string
  1363                                            type: array
  1364                                        required:
  1365                                          - key
  1366                                          - operator
  1367                                        type: object
  1368                                      type: array
  1369                                    matchLabels:
  1370                                      additionalProperties:
  1371                                        type: string
  1372                                      description: matchLabels is a map of {key,value}
  1373                                        pairs. A single {key,value} in the matchLabels
  1374                                        map is equivalent to an element of matchExpressions,
  1375                                        whose key field is "key", the operator is "In",
  1376                                        and the values array contains only "value". The
  1377                                        requirements are ANDed.
  1378                                      type: object
  1379                                  type: object
  1380                                  x-kubernetes-map-type: atomic
  1381                                namespaces:
  1382                                  description: namespaces specifies a static list of namespace
  1383                                    names that the term applies to. The term is applied
  1384                                    to the union of the namespaces listed in this field
  1385                                    and the ones selected by namespaceSelector. null or
  1386                                    empty namespaces list and null namespaceSelector means
  1387                                    "this pod's namespace".
  1388                                  items:
  1389                                    type: string
  1390                                  type: array
  1391                                topologyKey:
  1392                                  description: This pod should be co-located (affinity)
  1393                                    or not co-located (anti-affinity) with the pods matching
  1394                                    the labelSelector in the specified namespaces, where
  1395                                    co-located is defined as running on a node whose value
  1396                                    of the label with key topologyKey matches that of
  1397                                    any node on which any of the selected pods is running.
  1398                                    Empty topologyKey is not allowed.
  1399                                  type: string
  1400                              required:
  1401                                - topologyKey
  1402                              type: object
  1403                            type: array
  1404                        type: object
  1405                    type: object
  1406                  disks:
  1407                    description: List of disk that can be mounted by virtual machine.
  1408                    items:
  1409                      properties:
  1410                        configMap:
  1411                          description: configMap represents a configMap that should populate
  1412                            this disk
  1413                          properties:
  1414                            defaultMode:
  1415                              description: 'defaultMode is optional: mode bits used to
  1416                              set permissions on created files by default. Must be an
  1417                              octal value between 0000 and 0777 or a decimal value between
  1418                              0 and 511. YAML accepts both octal and decimal values,
  1419                              JSON requires decimal values for mode bits. Defaults to
  1420                              0644. Directories within the path are not affected by
  1421                              this setting. This might be in conflict with other options
  1422                              that affect the file mode, like fsGroup, and the result
  1423                              can be other mode bits set.'
  1424                              format: int32
  1425                              type: integer
  1426                            items:
  1427                              description: items if unspecified, each key-value pair in
  1428                                the Data field of the referenced ConfigMap will be projected
  1429                                into the volume as a file whose name is the key and content
  1430                                is the value. If specified, the listed keys will be projected
  1431                                into the specified paths, and unlisted keys will not be
  1432                                present. If a key is specified which is not present in
  1433                                the ConfigMap, the volume setup will error unless it is
  1434                                marked optional. Paths must be relative and may not contain
  1435                                the '..' path or start with '..'.
  1436                              items:
  1437                                description: Maps a string key to a path within a volume.
  1438                                properties:
  1439                                  key:
  1440                                    description: key is the key to project.
  1441                                    type: string
  1442                                  mode:
  1443                                    description: 'mode is Optional: mode bits used to
  1444                                    set permissions on this file. Must be an octal value
  1445                                    between 0000 and 0777 or a decimal value between
  1446                                    0 and 511. YAML accepts both octal and decimal values,
  1447                                    JSON requires decimal values for mode bits. If not
  1448                                    specified, the volume defaultMode will be used.
  1449                                    This might be in conflict with other options that
  1450                                    affect the file mode, like fsGroup, and the result
  1451                                    can be other mode bits set.'
  1452                                    format: int32
  1453                                    type: integer
  1454                                  path:
  1455                                    description: path is the relative path of the file
  1456                                      to map the key to. May not be an absolute path.
  1457                                      May not contain the path element '..'. May not start
  1458                                      with the string '..'.
  1459                                    type: string
  1460                                required:
  1461                                  - key
  1462                                  - path
  1463                                type: object
  1464                              type: array
  1465                            name:
  1466                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1467                              TODO: Add other useful fields. apiVersion, kind, uid?'
  1468                              type: string
  1469                            optional:
  1470                              description: optional specify whether the ConfigMap or its
  1471                                keys must be defined
  1472                              type: boolean
  1473                          type: object
  1474                          x-kubernetes-map-type: atomic
  1475                        emptyDisk:
  1476                          description: EmptyDisk represents a temporary empty qcow2 disk
  1477                            that shares a vm's lifetime.
  1478                          properties:
  1479                            size:
  1480                              anyOf:
  1481                                - type: integer
  1482                                - type: string
  1483                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1484                              x-kubernetes-int-or-string: true
  1485                          required:
  1486                            - size
  1487                          type: object
  1488                        mountPath:
  1489                          description: Path within the virtual machine at which the disk
  1490                            should be mounted.  Must not contain ':'.
  1491                          type: string
  1492                        name:
  1493                          description: Disk's name. Must be a DNS_LABEL and unique within
  1494                            the virtual machine.
  1495                          type: string
  1496                        readOnly:
  1497                          default: false
  1498                          description: Mounted read-only if true, read-write otherwise
  1499                            (false or unspecified). Defaults to false.
  1500                          type: boolean
  1501                        secret:
  1502                          description: Secret represents a secret that should populate
  1503                            this disk.
  1504                          properties:
  1505                            defaultMode:
  1506                              description: 'defaultMode is Optional: mode bits used to
  1507                              set permissions on created files by default. Must be an
  1508                              octal value between 0000 and 0777 or a decimal value between
  1509                              0 and 511. YAML accepts both octal and decimal values,
  1510                              JSON requires decimal values for mode bits. Defaults to
  1511                              0644. Directories within the path are not affected by
  1512                              this setting. This might be in conflict with other options
  1513                              that affect the file mode, like fsGroup, and the result
  1514                              can be other mode bits set.'
  1515                              format: int32
  1516                              type: integer
  1517                            items:
  1518                              description: items If unspecified, each key-value pair in
  1519                                the Data field of the referenced Secret will be projected
  1520                                into the volume as a file whose name is the key and content
  1521                                is the value. If specified, the listed keys will be projected
  1522                                into the specified paths, and unlisted keys will not be
  1523                                present. If a key is specified which is not present in
  1524                                the Secret, the volume setup will error unless it is marked
  1525                                optional. Paths must be relative and may not contain the
  1526                                '..' path or start with '..'.
  1527                              items:
  1528                                description: Maps a string key to a path within a volume.
  1529                                properties:
  1530                                  key:
  1531                                    description: key is the key to project.
  1532                                    type: string
  1533                                  mode:
  1534                                    description: 'mode is Optional: mode bits used to
  1535                                    set permissions on this file. Must be an octal value
  1536                                    between 0000 and 0777 or a decimal value between
  1537                                    0 and 511. YAML accepts both octal and decimal values,
  1538                                    JSON requires decimal values for mode bits. If not
  1539                                    specified, the volume defaultMode will be used.
  1540                                    This might be in conflict with other options that
  1541                                    affect the file mode, like fsGroup, and the result
  1542                                    can be other mode bits set.'
  1543                                    format: int32
  1544                                    type: integer
  1545                                  path:
  1546                                    description: path is the relative path of the file
  1547                                      to map the key to. May not be an absolute path.
  1548                                      May not contain the path element '..'. May not start
  1549                                      with the string '..'.
  1550                                    type: string
  1551                                required:
  1552                                  - key
  1553                                  - path
  1554                                type: object
  1555                              type: array
  1556                            optional:
  1557                              description: optional field specify whether the Secret or
  1558                                its keys must be defined
  1559                              type: boolean
  1560                            secretName:
  1561                              description: 'secretName is the name of the secret in the
  1562                              pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  1563                              type: string
  1564                          type: object
  1565                        tmpfs:
  1566                          description: TmpfsDisk represents a tmpfs.
  1567                          properties:
  1568                            size:
  1569                              anyOf:
  1570                                - type: integer
  1571                                - type: string
  1572                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1573                              x-kubernetes-int-or-string: true
  1574                          required:
  1575                            - size
  1576                          type: object
  1577                      required:
  1578                        - mountPath
  1579                        - name
  1580                      type: object
  1581                    type: array
  1582                  enableAcceleration:
  1583                    default: true
  1584                    description: Use KVM acceleation
  1585                    type: boolean
  1586                  extraInitContainers:
  1587                    items:
  1588                      description: A single application container that you want to run
  1589                        within a pod.
  1590                      properties:
  1591                        args:
  1592                          description: 'Arguments to the entrypoint. The container image''s
  1593                          CMD is used if this is not provided. Variable references $(VAR_NAME)
  1594                          are expanded using the container''s environment. If a variable
  1595                          cannot be resolved, the reference in the input string will
  1596                          be unchanged. Double $$ are reduced to a single $, which allows
  1597                          for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  1598                          produce the string literal "$(VAR_NAME)". Escaped references
  1599                          will never be expanded, regardless of whether the variable
  1600                          exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  1601                          items:
  1602                            type: string
  1603                          type: array
  1604                        command:
  1605                          description: 'Entrypoint array. Not executed within a shell.
  1606                          The container image''s ENTRYPOINT is used if this is not provided.
  1607                          Variable references $(VAR_NAME) are expanded using the container''s
  1608                          environment. If a variable cannot be resolved, the reference
  1609                          in the input string will be unchanged. Double $$ are reduced
  1610                          to a single $, which allows for escaping the $(VAR_NAME) syntax:
  1611                          i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  1612                          Escaped references will never be expanded, regardless of whether
  1613                          the variable exists or not. Cannot be updated. More info:
  1614                          https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  1615                          items:
  1616                            type: string
  1617                          type: array
  1618                        env:
  1619                          description: List of environment variables to set in the container.
  1620                            Cannot be updated.
  1621                          items:
  1622                            description: EnvVar represents an environment variable present
  1623                              in a Container.
  1624                            properties:
  1625                              name:
  1626                                description: Name of the environment variable. Must be
  1627                                  a C_IDENTIFIER.
  1628                                type: string
  1629                              value:
  1630                                description: 'Variable references $(VAR_NAME) are expanded
  1631                                using the previously defined environment variables in
  1632                                the container and any service environment variables.
  1633                                If a variable cannot be resolved, the reference in the
  1634                                input string will be unchanged. Double $$ are reduced
  1635                                to a single $, which allows for escaping the $(VAR_NAME)
  1636                                syntax: i.e. "$$(VAR_NAME)" will produce the string
  1637                                literal "$(VAR_NAME)". Escaped references will never
  1638                                be expanded, regardless of whether the variable exists
  1639                                or not. Defaults to "".'
  1640                                type: string
  1641                              valueFrom:
  1642                                description: Source for the environment variable's value.
  1643                                  Cannot be used if value is not empty.
  1644                                properties:
  1645                                  configMapKeyRef:
  1646                                    description: Selects a key of a ConfigMap.
  1647                                    properties:
  1648                                      key:
  1649                                        description: The key to select.
  1650                                        type: string
  1651                                      name:
  1652                                        description: 'Name of the referent. More info:
  1653                                        https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1654                                        TODO: Add other useful fields. apiVersion, kind,
  1655                                        uid?'
  1656                                        type: string
  1657                                      optional:
  1658                                        description: Specify whether the ConfigMap or
  1659                                          its key must be defined
  1660                                        type: boolean
  1661                                    required:
  1662                                      - key
  1663                                    type: object
  1664                                    x-kubernetes-map-type: atomic
  1665                                  fieldRef:
  1666                                    description: 'Selects a field of the pod: supports
  1667                                    metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  1668                                    `metadata.annotations[''<KEY>'']`, spec.nodeName,
  1669                                    spec.serviceAccountName, status.hostIP, status.podIP,
  1670                                    status.podIPs.'
  1671                                    properties:
  1672                                      apiVersion:
  1673                                        description: Version of the schema the FieldPath
  1674                                          is written in terms of, defaults to "v1".
  1675                                        type: string
  1676                                      fieldPath:
  1677                                        description: Path of the field to select in the
  1678                                          specified API version.
  1679                                        type: string
  1680                                    required:
  1681                                      - fieldPath
  1682                                    type: object
  1683                                    x-kubernetes-map-type: atomic
  1684                                  resourceFieldRef:
  1685                                    description: 'Selects a resource of the container:
  1686                                    only resources limits and requests (limits.cpu,
  1687                                    limits.memory, limits.ephemeral-storage, requests.cpu,
  1688                                    requests.memory and requests.ephemeral-storage)
  1689                                    are currently supported.'
  1690                                    properties:
  1691                                      containerName:
  1692                                        description: 'Container name: required for volumes,
  1693                                        optional for env vars'
  1694                                        type: string
  1695                                      divisor:
  1696                                        anyOf:
  1697                                          - type: integer
  1698                                          - type: string
  1699                                        description: Specifies the output format of the
  1700                                          exposed resources, defaults to "1"
  1701                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1702                                        x-kubernetes-int-or-string: true
  1703                                      resource:
  1704                                        description: 'Required: resource to select'
  1705                                        type: string
  1706                                    required:
  1707                                      - resource
  1708                                    type: object
  1709                                    x-kubernetes-map-type: atomic
  1710                                  secretKeyRef:
  1711                                    description: Selects a key of a secret in the pod's
  1712                                      namespace
  1713                                    properties:
  1714                                      key:
  1715                                        description: The key of the secret to select from.  Must
  1716                                          be a valid secret key.
  1717                                        type: string
  1718                                      name:
  1719                                        description: 'Name of the referent. More info:
  1720                                        https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1721                                        TODO: Add other useful fields. apiVersion, kind,
  1722                                        uid?'
  1723                                        type: string
  1724                                      optional:
  1725                                        description: Specify whether the Secret or its
  1726                                          key must be defined
  1727                                        type: boolean
  1728                                    required:
  1729                                      - key
  1730                                    type: object
  1731                                    x-kubernetes-map-type: atomic
  1732                                type: object
  1733                            required:
  1734                              - name
  1735                            type: object
  1736                          type: array
  1737                        envFrom:
  1738                          description: List of sources to populate environment variables
  1739                            in the container. The keys defined within a source must be
  1740                            a C_IDENTIFIER. All invalid keys will be reported as an event
  1741                            when the container is starting. When a key exists in multiple
  1742                            sources, the value associated with the last source will take
  1743                            precedence. Values defined by an Env with a duplicate key
  1744                            will take precedence. Cannot be updated.
  1745                          items:
  1746                            description: EnvFromSource represents the source of a set
  1747                              of ConfigMaps
  1748                            properties:
  1749                              configMapRef:
  1750                                description: The ConfigMap to select from
  1751                                properties:
  1752                                  name:
  1753                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1754                                    TODO: Add other useful fields. apiVersion, kind,
  1755                                    uid?'
  1756                                    type: string
  1757                                  optional:
  1758                                    description: Specify whether the ConfigMap must be
  1759                                      defined
  1760                                    type: boolean
  1761                                type: object
  1762                                x-kubernetes-map-type: atomic
  1763                              prefix:
  1764                                description: An optional identifier to prepend to each
  1765                                  key in the ConfigMap. Must be a C_IDENTIFIER.
  1766                                type: string
  1767                              secretRef:
  1768                                description: The Secret to select from
  1769                                properties:
  1770                                  name:
  1771                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1772                                    TODO: Add other useful fields. apiVersion, kind,
  1773                                    uid?'
  1774                                    type: string
  1775                                  optional:
  1776                                    description: Specify whether the Secret must be defined
  1777                                    type: boolean
  1778                                type: object
  1779                                x-kubernetes-map-type: atomic
  1780                            type: object
  1781                          type: array
  1782                        image:
  1783                          description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  1784                          This field is optional to allow higher level config management
  1785                          to default or override container images in workload controllers
  1786                          like Deployments and StatefulSets.'
  1787                          type: string
  1788                        imagePullPolicy:
  1789                          description: 'Image pull policy. One of Always, Never, IfNotPresent.
  1790                          Defaults to Always if :latest tag is specified, or IfNotPresent
  1791                          otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  1792                          type: string
  1793                        lifecycle:
  1794                          description: Actions that the management system should take
  1795                            in response to container lifecycle events. Cannot be updated.
  1796                          properties:
  1797                            postStart:
  1798                              description: 'PostStart is called immediately after a container
  1799                              is created. If the handler fails, the container is terminated
  1800                              and restarted according to its restart policy. Other management
  1801                              of the container blocks until the hook completes. More
  1802                              info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1803                              properties:
  1804                                exec:
  1805                                  description: Exec specifies the action to take.
  1806                                  properties:
  1807                                    command:
  1808                                      description: Command is the command line to execute
  1809                                        inside the container, the working directory for
  1810                                        the command  is root ('/') in the container's
  1811                                        filesystem. The command is simply exec'd, it is
  1812                                        not run inside a shell, so traditional shell instructions
  1813                                        ('|', etc) won't work. To use a shell, you need
  1814                                        to explicitly call out to that shell. Exit status
  1815                                        of 0 is treated as live/healthy and non-zero is
  1816                                        unhealthy.
  1817                                      items:
  1818                                        type: string
  1819                                      type: array
  1820                                  type: object
  1821                                httpGet:
  1822                                  description: HTTPGet specifies the http request to perform.
  1823                                  properties:
  1824                                    host:
  1825                                      description: Host name to connect to, defaults to
  1826                                        the pod IP. You probably want to set "Host" in
  1827                                        httpHeaders instead.
  1828                                      type: string
  1829                                    httpHeaders:
  1830                                      description: Custom headers to set in the request.
  1831                                        HTTP allows repeated headers.
  1832                                      items:
  1833                                        description: HTTPHeader describes a custom header
  1834                                          to be used in HTTP probes
  1835                                        properties:
  1836                                          name:
  1837                                            description: The header field name. This will
  1838                                              be canonicalized upon output, so case-variant
  1839                                              names will be understood as the same header.
  1840                                            type: string
  1841                                          value:
  1842                                            description: The header field value
  1843                                            type: string
  1844                                        required:
  1845                                          - name
  1846                                          - value
  1847                                        type: object
  1848                                      type: array
  1849                                    path:
  1850                                      description: Path to access on the HTTP server.
  1851                                      type: string
  1852                                    port:
  1853                                      anyOf:
  1854                                        - type: integer
  1855                                        - type: string
  1856                                      description: Name or number of the port to access
  1857                                        on the container. Number must be in the range
  1858                                        1 to 65535. Name must be an IANA_SVC_NAME.
  1859                                      x-kubernetes-int-or-string: true
  1860                                    scheme:
  1861                                      description: Scheme to use for connecting to the
  1862                                        host. Defaults to HTTP.
  1863                                      type: string
  1864                                  required:
  1865                                    - port
  1866                                  type: object
  1867                                tcpSocket:
  1868                                  description: Deprecated. TCPSocket is NOT supported
  1869                                    as a LifecycleHandler and kept for the backward compatibility.
  1870                                    There are no validation of this field and lifecycle
  1871                                    hooks will fail in runtime when tcp handler is specified.
  1872                                  properties:
  1873                                    host:
  1874                                      description: 'Optional: Host name to connect to,
  1875                                      defaults to the pod IP.'
  1876                                      type: string
  1877                                    port:
  1878                                      anyOf:
  1879                                        - type: integer
  1880                                        - type: string
  1881                                      description: Number or name of the port to access
  1882                                        on the container. Number must be in the range
  1883                                        1 to 65535. Name must be an IANA_SVC_NAME.
  1884                                      x-kubernetes-int-or-string: true
  1885                                  required:
  1886                                    - port
  1887                                  type: object
  1888                              type: object
  1889                            preStop:
  1890                              description: 'PreStop is called immediately before a container
  1891                              is terminated due to an API request or management event
  1892                              such as liveness/startup probe failure, preemption, resource
  1893                              contention, etc. The handler is not called if the container
  1894                              crashes or exits. The Pod''s termination grace period
  1895                              countdown begins before the PreStop hook is executed.
  1896                              Regardless of the outcome of the handler, the container
  1897                              will eventually terminate within the Pod''s termination
  1898                              grace period (unless delayed by finalizers). Other management
  1899                              of the container blocks until the hook completes or until
  1900                              the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1901                              properties:
  1902                                exec:
  1903                                  description: Exec specifies the action to take.
  1904                                  properties:
  1905                                    command:
  1906                                      description: Command is the command line to execute
  1907                                        inside the container, the working directory for
  1908                                        the command  is root ('/') in the container's
  1909                                        filesystem. The command is simply exec'd, it is
  1910                                        not run inside a shell, so traditional shell instructions
  1911                                        ('|', etc) won't work. To use a shell, you need
  1912                                        to explicitly call out to that shell. Exit status
  1913                                        of 0 is treated as live/healthy and non-zero is
  1914                                        unhealthy.
  1915                                      items:
  1916                                        type: string
  1917                                      type: array
  1918                                  type: object
  1919                                httpGet:
  1920                                  description: HTTPGet specifies the http request to perform.
  1921                                  properties:
  1922                                    host:
  1923                                      description: Host name to connect to, defaults to
  1924                                        the pod IP. You probably want to set "Host" in
  1925                                        httpHeaders instead.
  1926                                      type: string
  1927                                    httpHeaders:
  1928                                      description: Custom headers to set in the request.
  1929                                        HTTP allows repeated headers.
  1930                                      items:
  1931                                        description: HTTPHeader describes a custom header
  1932                                          to be used in HTTP probes
  1933                                        properties:
  1934                                          name:
  1935                                            description: The header field name. This will
  1936                                              be canonicalized upon output, so case-variant
  1937                                              names will be understood as the same header.
  1938                                            type: string
  1939                                          value:
  1940                                            description: The header field value
  1941                                            type: string
  1942                                        required:
  1943                                          - name
  1944                                          - value
  1945                                        type: object
  1946                                      type: array
  1947                                    path:
  1948                                      description: Path to access on the HTTP server.
  1949                                      type: string
  1950                                    port:
  1951                                      anyOf:
  1952                                        - type: integer
  1953                                        - type: string
  1954                                      description: Name or number of the port to access
  1955                                        on the container. Number must be in the range
  1956                                        1 to 65535. Name must be an IANA_SVC_NAME.
  1957                                      x-kubernetes-int-or-string: true
  1958                                    scheme:
  1959                                      description: Scheme to use for connecting to the
  1960                                        host. Defaults to HTTP.
  1961                                      type: string
  1962                                  required:
  1963                                    - port
  1964                                  type: object
  1965                                tcpSocket:
  1966                                  description: Deprecated. TCPSocket is NOT supported
  1967                                    as a LifecycleHandler and kept for the backward compatibility.
  1968                                    There are no validation of this field and lifecycle
  1969                                    hooks will fail in runtime when tcp handler is specified.
  1970                                  properties:
  1971                                    host:
  1972                                      description: 'Optional: Host name to connect to,
  1973                                      defaults to the pod IP.'
  1974                                      type: string
  1975                                    port:
  1976                                      anyOf:
  1977                                        - type: integer
  1978                                        - type: string
  1979                                      description: Number or name of the port to access
  1980                                        on the container. Number must be in the range
  1981                                        1 to 65535. Name must be an IANA_SVC_NAME.
  1982                                      x-kubernetes-int-or-string: true
  1983                                  required:
  1984                                    - port
  1985                                  type: object
  1986                              type: object
  1987                          type: object
  1988                        livenessProbe:
  1989                          description: 'Periodic probe of container liveness. Container
  1990                          will be restarted if the probe fails. Cannot be updated. More
  1991                          info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1992                          properties:
  1993                            exec:
  1994                              description: Exec specifies the action to take.
  1995                              properties:
  1996                                command:
  1997                                  description: Command is the command line to execute
  1998                                    inside the container, the working directory for the
  1999                                    command  is root ('/') in the container's filesystem.
  2000                                    The command is simply exec'd, it is not run inside
  2001                                    a shell, so traditional shell instructions ('|', etc)
  2002                                    won't work. To use a shell, you need to explicitly
  2003                                    call out to that shell. Exit status of 0 is treated
  2004                                    as live/healthy and non-zero is unhealthy.
  2005                                  items:
  2006                                    type: string
  2007                                  type: array
  2008                              type: object
  2009                            failureThreshold:
  2010                              description: Minimum consecutive failures for the probe
  2011                                to be considered failed after having succeeded. Defaults
  2012                                to 3. Minimum value is 1.
  2013                              format: int32
  2014                              type: integer
  2015                            grpc:
  2016                              description: GRPC specifies an action involving a GRPC port.
  2017                                This is a beta field and requires enabling GRPCContainerProbe
  2018                                feature gate.
  2019                              properties:
  2020                                port:
  2021                                  description: Port number of the gRPC service. Number
  2022                                    must be in the range 1 to 65535.
  2023                                  format: int32
  2024                                  type: integer
  2025                                service:
  2026                                  description: "Service is the name of the service to
  2027                                  place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2028                                  \n If this is not specified, the default behavior
  2029                                  is defined by gRPC."
  2030                                  type: string
  2031                              required:
  2032                                - port
  2033                              type: object
  2034                            httpGet:
  2035                              description: HTTPGet specifies the http request to perform.
  2036                              properties:
  2037                                host:
  2038                                  description: Host name to connect to, defaults to the
  2039                                    pod IP. You probably want to set "Host" in httpHeaders
  2040                                    instead.
  2041                                  type: string
  2042                                httpHeaders:
  2043                                  description: Custom headers to set in the request. HTTP
  2044                                    allows repeated headers.
  2045                                  items:
  2046                                    description: HTTPHeader describes a custom header
  2047                                      to be used in HTTP probes
  2048                                    properties:
  2049                                      name:
  2050                                        description: The header field name. This will
  2051                                          be canonicalized upon output, so case-variant
  2052                                          names will be understood as the same header.
  2053                                        type: string
  2054                                      value:
  2055                                        description: The header field value
  2056                                        type: string
  2057                                    required:
  2058                                      - name
  2059                                      - value
  2060                                    type: object
  2061                                  type: array
  2062                                path:
  2063                                  description: Path to access on the HTTP server.
  2064                                  type: string
  2065                                port:
  2066                                  anyOf:
  2067                                    - type: integer
  2068                                    - type: string
  2069                                  description: Name or number of the port to access on
  2070                                    the container. Number must be in the range 1 to 65535.
  2071                                    Name must be an IANA_SVC_NAME.
  2072                                  x-kubernetes-int-or-string: true
  2073                                scheme:
  2074                                  description: Scheme to use for connecting to the host.
  2075                                    Defaults to HTTP.
  2076                                  type: string
  2077                              required:
  2078                                - port
  2079                              type: object
  2080                            initialDelaySeconds:
  2081                              description: 'Number of seconds after the container has
  2082                              started before liveness probes are initiated. More info:
  2083                              https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2084                              format: int32
  2085                              type: integer
  2086                            periodSeconds:
  2087                              description: How often (in seconds) to perform the probe.
  2088                                Default to 10 seconds. Minimum value is 1.
  2089                              format: int32
  2090                              type: integer
  2091                            successThreshold:
  2092                              description: Minimum consecutive successes for the probe
  2093                                to be considered successful after having failed. Defaults
  2094                                to 1. Must be 1 for liveness and startup. Minimum value
  2095                                is 1.
  2096                              format: int32
  2097                              type: integer
  2098                            tcpSocket:
  2099                              description: TCPSocket specifies an action involving a TCP
  2100                                port.
  2101                              properties:
  2102                                host:
  2103                                  description: 'Optional: Host name to connect to, defaults
  2104                                  to the pod IP.'
  2105                                  type: string
  2106                                port:
  2107                                  anyOf:
  2108                                    - type: integer
  2109                                    - type: string
  2110                                  description: Number or name of the port to access on
  2111                                    the container. Number must be in the range 1 to 65535.
  2112                                    Name must be an IANA_SVC_NAME.
  2113                                  x-kubernetes-int-or-string: true
  2114                              required:
  2115                                - port
  2116                              type: object
  2117                            terminationGracePeriodSeconds:
  2118                              description: Optional duration in seconds the pod needs
  2119                                to terminate gracefully upon probe failure. The grace
  2120                                period is the duration in seconds after the processes
  2121                                running in the pod are sent a termination signal and the
  2122                                time when the processes are forcibly halted with a kill
  2123                                signal. Set this value longer than the expected cleanup
  2124                                time for your process. If this value is nil, the pod's
  2125                                terminationGracePeriodSeconds will be used. Otherwise,
  2126                                this value overrides the value provided by the pod spec.
  2127                                Value must be non-negative integer. The value zero indicates
  2128                                stop immediately via the kill signal (no opportunity to
  2129                                shut down). This is a beta field and requires enabling
  2130                                ProbeTerminationGracePeriod feature gate. Minimum value
  2131                                is 1. spec.terminationGracePeriodSeconds is used if unset.
  2132                              format: int64
  2133                              type: integer
  2134                            timeoutSeconds:
  2135                              description: 'Number of seconds after which the probe times
  2136                              out. Defaults to 1 second. Minimum value is 1. More info:
  2137                              https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2138                              format: int32
  2139                              type: integer
  2140                          type: object
  2141                        name:
  2142                          description: Name of the container specified as a DNS_LABEL.
  2143                            Each container in a pod must have a unique name (DNS_LABEL).
  2144                            Cannot be updated.
  2145                          type: string
  2146                        ports:
  2147                          description: List of ports to expose from the container. Not
  2148                            specifying a port here DOES NOT prevent that port from being
  2149                            exposed. Any port which is listening on the default "0.0.0.0"
  2150                            address inside a container will be accessible from the network.
  2151                            Modifying this array with strategic merge patch may corrupt
  2152                            the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255.
  2153                            Cannot be updated.
  2154                          items:
  2155                            description: ContainerPort represents a network port in a
  2156                              single container.
  2157                            properties:
  2158                              containerPort:
  2159                                description: Number of port to expose on the pod's IP
  2160                                  address. This must be a valid port number, 0 < x < 65536.
  2161                                format: int32
  2162                                type: integer
  2163                              hostIP:
  2164                                description: What host IP to bind the external port to.
  2165                                type: string
  2166                              hostPort:
  2167                                description: Number of port to expose on the host. If
  2168                                  specified, this must be a valid port number, 0 < x <
  2169                                  65536. If HostNetwork is specified, this must match
  2170                                  ContainerPort. Most containers do not need this.
  2171                                format: int32
  2172                                type: integer
  2173                              name:
  2174                                description: If specified, this must be an IANA_SVC_NAME
  2175                                  and unique within the pod. Each named port in a pod
  2176                                  must have a unique name. Name for the port that can
  2177                                  be referred to by services.
  2178                                type: string
  2179                              protocol:
  2180                                default: TCP
  2181                                description: Protocol for port. Must be UDP, TCP, or SCTP.
  2182                                  Defaults to "TCP".
  2183                                type: string
  2184                            required:
  2185                              - containerPort
  2186                            type: object
  2187                          type: array
  2188                          x-kubernetes-list-map-keys:
  2189                            - containerPort
  2190                            - protocol
  2191                          x-kubernetes-list-type: map
  2192                        readinessProbe:
  2193                          description: 'Periodic probe of container service readiness.
  2194                          Container will be removed from service endpoints if the probe
  2195                          fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2196                          properties:
  2197                            exec:
  2198                              description: Exec specifies the action to take.
  2199                              properties:
  2200                                command:
  2201                                  description: Command is the command line to execute
  2202                                    inside the container, the working directory for the
  2203                                    command  is root ('/') in the container's filesystem.
  2204                                    The command is simply exec'd, it is not run inside
  2205                                    a shell, so traditional shell instructions ('|', etc)
  2206                                    won't work. To use a shell, you need to explicitly
  2207                                    call out to that shell. Exit status of 0 is treated
  2208                                    as live/healthy and non-zero is unhealthy.
  2209                                  items:
  2210                                    type: string
  2211                                  type: array
  2212                              type: object
  2213                            failureThreshold:
  2214                              description: Minimum consecutive failures for the probe
  2215                                to be considered failed after having succeeded. Defaults
  2216                                to 3. Minimum value is 1.
  2217                              format: int32
  2218                              type: integer
  2219                            grpc:
  2220                              description: GRPC specifies an action involving a GRPC port.
  2221                                This is a beta field and requires enabling GRPCContainerProbe
  2222                                feature gate.
  2223                              properties:
  2224                                port:
  2225                                  description: Port number of the gRPC service. Number
  2226                                    must be in the range 1 to 65535.
  2227                                  format: int32
  2228                                  type: integer
  2229                                service:
  2230                                  description: "Service is the name of the service to
  2231                                  place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2232                                  \n If this is not specified, the default behavior
  2233                                  is defined by gRPC."
  2234                                  type: string
  2235                              required:
  2236                                - port
  2237                              type: object
  2238                            httpGet:
  2239                              description: HTTPGet specifies the http request to perform.
  2240                              properties:
  2241                                host:
  2242                                  description: Host name to connect to, defaults to the
  2243                                    pod IP. You probably want to set "Host" in httpHeaders
  2244                                    instead.
  2245                                  type: string
  2246                                httpHeaders:
  2247                                  description: Custom headers to set in the request. HTTP
  2248                                    allows repeated headers.
  2249                                  items:
  2250                                    description: HTTPHeader describes a custom header
  2251                                      to be used in HTTP probes
  2252                                    properties:
  2253                                      name:
  2254                                        description: The header field name. This will
  2255                                          be canonicalized upon output, so case-variant
  2256                                          names will be understood as the same header.
  2257                                        type: string
  2258                                      value:
  2259                                        description: The header field value
  2260                                        type: string
  2261                                    required:
  2262                                      - name
  2263                                      - value
  2264                                    type: object
  2265                                  type: array
  2266                                path:
  2267                                  description: Path to access on the HTTP server.
  2268                                  type: string
  2269                                port:
  2270                                  anyOf:
  2271                                    - type: integer
  2272                                    - type: string
  2273                                  description: Name or number of the port to access on
  2274                                    the container. Number must be in the range 1 to 65535.
  2275                                    Name must be an IANA_SVC_NAME.
  2276                                  x-kubernetes-int-or-string: true
  2277                                scheme:
  2278                                  description: Scheme to use for connecting to the host.
  2279                                    Defaults to HTTP.
  2280                                  type: string
  2281                              required:
  2282                                - port
  2283                              type: object
  2284                            initialDelaySeconds:
  2285                              description: 'Number of seconds after the container has
  2286                              started before liveness probes are initiated. More info:
  2287                              https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2288                              format: int32
  2289                              type: integer
  2290                            periodSeconds:
  2291                              description: How often (in seconds) to perform the probe.
  2292                                Default to 10 seconds. Minimum value is 1.
  2293                              format: int32
  2294                              type: integer
  2295                            successThreshold:
  2296                              description: Minimum consecutive successes for the probe
  2297                                to be considered successful after having failed. Defaults
  2298                                to 1. Must be 1 for liveness and startup. Minimum value
  2299                                is 1.
  2300                              format: int32
  2301                              type: integer
  2302                            tcpSocket:
  2303                              description: TCPSocket specifies an action involving a TCP
  2304                                port.
  2305                              properties:
  2306                                host:
  2307                                  description: 'Optional: Host name to connect to, defaults
  2308                                  to the pod IP.'
  2309                                  type: string
  2310                                port:
  2311                                  anyOf:
  2312                                    - type: integer
  2313                                    - type: string
  2314                                  description: Number or name of the port to access on
  2315                                    the container. Number must be in the range 1 to 65535.
  2316                                    Name must be an IANA_SVC_NAME.
  2317                                  x-kubernetes-int-or-string: true
  2318                              required:
  2319                                - port
  2320                              type: object
  2321                            terminationGracePeriodSeconds:
  2322                              description: Optional duration in seconds the pod needs
  2323                                to terminate gracefully upon probe failure. The grace
  2324                                period is the duration in seconds after the processes
  2325                                running in the pod are sent a termination signal and the
  2326                                time when the processes are forcibly halted with a kill
  2327                                signal. Set this value longer than the expected cleanup
  2328                                time for your process. If this value is nil, the pod's
  2329                                terminationGracePeriodSeconds will be used. Otherwise,
  2330                                this value overrides the value provided by the pod spec.
  2331                                Value must be non-negative integer. The value zero indicates
  2332                                stop immediately via the kill signal (no opportunity to
  2333                                shut down). This is a beta field and requires enabling
  2334                                ProbeTerminationGracePeriod feature gate. Minimum value
  2335                                is 1. spec.terminationGracePeriodSeconds is used if unset.
  2336                              format: int64
  2337                              type: integer
  2338                            timeoutSeconds:
  2339                              description: 'Number of seconds after which the probe times
  2340                              out. Defaults to 1 second. Minimum value is 1. More info:
  2341                              https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2342                              format: int32
  2343                              type: integer
  2344                          type: object
  2345                        resources:
  2346                          description: 'Compute Resources required by this container.
  2347                          Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2348                          properties:
  2349                            limits:
  2350                              additionalProperties:
  2351                                anyOf:
  2352                                  - type: integer
  2353                                  - type: string
  2354                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2355                                x-kubernetes-int-or-string: true
  2356                              description: 'Limits describes the maximum amount of compute
  2357                              resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2358                              type: object
  2359                            requests:
  2360                              additionalProperties:
  2361                                anyOf:
  2362                                  - type: integer
  2363                                  - type: string
  2364                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2365                                x-kubernetes-int-or-string: true
  2366                              description: 'Requests describes the minimum amount of compute
  2367                              resources required. If Requests is omitted for a container,
  2368                              it defaults to Limits if that is explicitly specified,
  2369                              otherwise to an implementation-defined value. More info:
  2370                              https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2371                              type: object
  2372                          type: object
  2373                        securityContext:
  2374                          description: 'SecurityContext defines the security options the
  2375                          container should be run with. If set, the fields of SecurityContext
  2376                          override the equivalent fields of PodSecurityContext. More
  2377                          info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  2378                          properties:
  2379                            allowPrivilegeEscalation:
  2380                              description: 'AllowPrivilegeEscalation controls whether
  2381                              a process can gain more privileges than its parent process.
  2382                              This bool directly controls if the no_new_privs flag will
  2383                              be set on the container process. AllowPrivilegeEscalation
  2384                              is true always when the container is: 1) run as Privileged
  2385                              2) has CAP_SYS_ADMIN Note that this field cannot be set
  2386                              when spec.os.name is windows.'
  2387                              type: boolean
  2388                            capabilities:
  2389                              description: The capabilities to add/drop when running containers.
  2390                                Defaults to the default set of capabilities granted by
  2391                                the container runtime. Note that this field cannot be
  2392                                set when spec.os.name is windows.
  2393                              properties:
  2394                                add:
  2395                                  description: Added capabilities
  2396                                  items:
  2397                                    description: Capability represent POSIX capabilities
  2398                                      type
  2399                                    type: string
  2400                                  type: array
  2401                                drop:
  2402                                  description: Removed capabilities
  2403                                  items:
  2404                                    description: Capability represent POSIX capabilities
  2405                                      type
  2406                                    type: string
  2407                                  type: array
  2408                              type: object
  2409                            privileged:
  2410                              description: Run container in privileged mode. Processes
  2411                                in privileged containers are essentially equivalent to
  2412                                root on the host. Defaults to false. Note that this field
  2413                                cannot be set when spec.os.name is windows.
  2414                              type: boolean
  2415                            procMount:
  2416                              description: procMount denotes the type of proc mount to
  2417                                use for the containers. The default is DefaultProcMount
  2418                                which uses the container runtime defaults for readonly
  2419                                paths and masked paths. This requires the ProcMountType
  2420                                feature flag to be enabled. Note that this field cannot
  2421                                be set when spec.os.name is windows.
  2422                              type: string
  2423                            readOnlyRootFilesystem:
  2424                              description: Whether this container has a read-only root
  2425                                filesystem. Default is false. Note that this field cannot
  2426                                be set when spec.os.name is windows.
  2427                              type: boolean
  2428                            runAsGroup:
  2429                              description: The GID to run the entrypoint of the container
  2430                                process. Uses runtime default if unset. May also be set
  2431                                in PodSecurityContext.  If set in both SecurityContext
  2432                                and PodSecurityContext, the value specified in SecurityContext
  2433                                takes precedence. Note that this field cannot be set when
  2434                                spec.os.name is windows.
  2435                              format: int64
  2436                              type: integer
  2437                            runAsNonRoot:
  2438                              description: Indicates that the container must run as a
  2439                                non-root user. If true, the Kubelet will validate the
  2440                                image at runtime to ensure that it does not run as UID
  2441                                0 (root) and fail to start the container if it does. If
  2442                                unset or false, no such validation will be performed.
  2443                                May also be set in PodSecurityContext.  If set in both
  2444                                SecurityContext and PodSecurityContext, the value specified
  2445                                in SecurityContext takes precedence.
  2446                              type: boolean
  2447                            runAsUser:
  2448                              description: The UID to run the entrypoint of the container
  2449                                process. Defaults to user specified in image metadata
  2450                                if unspecified. May also be set in PodSecurityContext.  If
  2451                                set in both SecurityContext and PodSecurityContext, the
  2452                                value specified in SecurityContext takes precedence. Note
  2453                                that this field cannot be set when spec.os.name is windows.
  2454                              format: int64
  2455                              type: integer
  2456                            seLinuxOptions:
  2457                              description: The SELinux context to be applied to the container.
  2458                                If unspecified, the container runtime will allocate a
  2459                                random SELinux context for each container.  May also be
  2460                                set in PodSecurityContext.  If set in both SecurityContext
  2461                                and PodSecurityContext, the value specified in SecurityContext
  2462                                takes precedence. Note that this field cannot be set when
  2463                                spec.os.name is windows.
  2464                              properties:
  2465                                level:
  2466                                  description: Level is SELinux level label that applies
  2467                                    to the container.
  2468                                  type: string
  2469                                role:
  2470                                  description: Role is a SELinux role label that applies
  2471                                    to the container.
  2472                                  type: string
  2473                                type:
  2474                                  description: Type is a SELinux type label that applies
  2475                                    to the container.
  2476                                  type: string
  2477                                user:
  2478                                  description: User is a SELinux user label that applies
  2479                                    to the container.
  2480                                  type: string
  2481                              type: object
  2482                            seccompProfile:
  2483                              description: The seccomp options to use by this container.
  2484                                If seccomp options are provided at both the pod & container
  2485                                level, the container options override the pod options.
  2486                                Note that this field cannot be set when spec.os.name is
  2487                                windows.
  2488                              properties:
  2489                                localhostProfile:
  2490                                  description: localhostProfile indicates a profile defined
  2491                                    in a file on the node should be used. The profile
  2492                                    must be preconfigured on the node to work. Must be
  2493                                    a descending path, relative to the kubelet's configured
  2494                                    seccomp profile location. Must only be set if type
  2495                                    is "Localhost".
  2496                                  type: string
  2497                                type:
  2498                                  description: "type indicates which kind of seccomp profile
  2499                                  will be applied. Valid options are: \n Localhost -
  2500                                  a profile defined in a file on the node should be
  2501                                  used. RuntimeDefault - the container runtime default
  2502                                  profile should be used. Unconfined - no profile should
  2503                                  be applied."
  2504                                  type: string
  2505                              required:
  2506                                - type
  2507                              type: object
  2508                            windowsOptions:
  2509                              description: The Windows specific settings applied to all
  2510                                containers. If unspecified, the options from the PodSecurityContext
  2511                                will be used. If set in both SecurityContext and PodSecurityContext,
  2512                                the value specified in SecurityContext takes precedence.
  2513                                Note that this field cannot be set when spec.os.name is
  2514                                linux.
  2515                              properties:
  2516                                gmsaCredentialSpec:
  2517                                  description: GMSACredentialSpec is where the GMSA admission
  2518                                    webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  2519                                    inlines the contents of the GMSA credential spec named
  2520                                    by the GMSACredentialSpecName field.
  2521                                  type: string
  2522                                gmsaCredentialSpecName:
  2523                                  description: GMSACredentialSpecName is the name of the
  2524                                    GMSA credential spec to use.
  2525                                  type: string
  2526                                hostProcess:
  2527                                  description: HostProcess determines if a container should
  2528                                    be run as a 'Host Process' container. This field is
  2529                                    alpha-level and will only be honored by components
  2530                                    that enable the WindowsHostProcessContainers feature
  2531                                    flag. Setting this field without the feature flag
  2532                                    will result in errors when validating the Pod. All
  2533                                    of a Pod's containers must have the same effective
  2534                                    HostProcess value (it is not allowed to have a mix
  2535                                    of HostProcess containers and non-HostProcess containers).  In
  2536                                    addition, if HostProcess is true then HostNetwork
  2537                                    must also be set to true.
  2538                                  type: boolean
  2539                                runAsUserName:
  2540                                  description: The UserName in Windows to run the entrypoint
  2541                                    of the container process. Defaults to the user specified
  2542                                    in image metadata if unspecified. May also be set
  2543                                    in PodSecurityContext. If set in both SecurityContext
  2544                                    and PodSecurityContext, the value specified in SecurityContext
  2545                                    takes precedence.
  2546                                  type: string
  2547                              type: object
  2548                          type: object
  2549                        startupProbe:
  2550                          description: 'StartupProbe indicates that the Pod has successfully
  2551                          initialized. If specified, no other probes are executed until
  2552                          this completes successfully. If this probe fails, the Pod
  2553                          will be restarted, just as if the livenessProbe failed. This
  2554                          can be used to provide different probe parameters at the beginning
  2555                          of a Pod''s lifecycle, when it might take a long time to load
  2556                          data or warm a cache, than during steady-state operation.
  2557                          This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2558                          properties:
  2559                            exec:
  2560                              description: Exec specifies the action to take.
  2561                              properties:
  2562                                command:
  2563                                  description: Command is the command line to execute
  2564                                    inside the container, the working directory for the
  2565                                    command  is root ('/') in the container's filesystem.
  2566                                    The command is simply exec'd, it is not run inside
  2567                                    a shell, so traditional shell instructions ('|', etc)
  2568                                    won't work. To use a shell, you need to explicitly
  2569                                    call out to that shell. Exit status of 0 is treated
  2570                                    as live/healthy and non-zero is unhealthy.
  2571                                  items:
  2572                                    type: string
  2573                                  type: array
  2574                              type: object
  2575                            failureThreshold:
  2576                              description: Minimum consecutive failures for the probe
  2577                                to be considered failed after having succeeded. Defaults
  2578                                to 3. Minimum value is 1.
  2579                              format: int32
  2580                              type: integer
  2581                            grpc:
  2582                              description: GRPC specifies an action involving a GRPC port.
  2583                                This is a beta field and requires enabling GRPCContainerProbe
  2584                                feature gate.
  2585                              properties:
  2586                                port:
  2587                                  description: Port number of the gRPC service. Number
  2588                                    must be in the range 1 to 65535.
  2589                                  format: int32
  2590                                  type: integer
  2591                                service:
  2592                                  description: "Service is the name of the service to
  2593                                  place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2594                                  \n If this is not specified, the default behavior
  2595                                  is defined by gRPC."
  2596                                  type: string
  2597                              required:
  2598                                - port
  2599                              type: object
  2600                            httpGet:
  2601                              description: HTTPGet specifies the http request to perform.
  2602                              properties:
  2603                                host:
  2604                                  description: Host name to connect to, defaults to the
  2605                                    pod IP. You probably want to set "Host" in httpHeaders
  2606                                    instead.
  2607                                  type: string
  2608                                httpHeaders:
  2609                                  description: Custom headers to set in the request. HTTP
  2610                                    allows repeated headers.
  2611                                  items:
  2612                                    description: HTTPHeader describes a custom header
  2613                                      to be used in HTTP probes
  2614                                    properties:
  2615                                      name:
  2616                                        description: The header field name. This will
  2617                                          be canonicalized upon output, so case-variant
  2618                                          names will be understood as the same header.
  2619                                        type: string
  2620                                      value:
  2621                                        description: The header field value
  2622                                        type: string
  2623                                    required:
  2624                                      - name
  2625                                      - value
  2626                                    type: object
  2627                                  type: array
  2628                                path:
  2629                                  description: Path to access on the HTTP server.
  2630                                  type: string
  2631                                port:
  2632                                  anyOf:
  2633                                    - type: integer
  2634                                    - type: string
  2635                                  description: Name or number of the port to access on
  2636                                    the container. Number must be in the range 1 to 65535.
  2637                                    Name must be an IANA_SVC_NAME.
  2638                                  x-kubernetes-int-or-string: true
  2639                                scheme:
  2640                                  description: Scheme to use for connecting to the host.
  2641                                    Defaults to HTTP.
  2642                                  type: string
  2643                              required:
  2644                                - port
  2645                              type: object
  2646                            initialDelaySeconds:
  2647                              description: 'Number of seconds after the container has
  2648                              started before liveness probes are initiated. More info:
  2649                              https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2650                              format: int32
  2651                              type: integer
  2652                            periodSeconds:
  2653                              description: How often (in seconds) to perform the probe.
  2654                                Default to 10 seconds. Minimum value is 1.
  2655                              format: int32
  2656                              type: integer
  2657                            successThreshold:
  2658                              description: Minimum consecutive successes for the probe
  2659                                to be considered successful after having failed. Defaults
  2660                                to 1. Must be 1 for liveness and startup. Minimum value
  2661                                is 1.
  2662                              format: int32
  2663                              type: integer
  2664                            tcpSocket:
  2665                              description: TCPSocket specifies an action involving a TCP
  2666                                port.
  2667                              properties:
  2668                                host:
  2669                                  description: 'Optional: Host name to connect to, defaults
  2670                                  to the pod IP.'
  2671                                  type: string
  2672                                port:
  2673                                  anyOf:
  2674                                    - type: integer
  2675                                    - type: string
  2676                                  description: Number or name of the port to access on
  2677                                    the container. Number must be in the range 1 to 65535.
  2678                                    Name must be an IANA_SVC_NAME.
  2679                                  x-kubernetes-int-or-string: true
  2680                              required:
  2681                                - port
  2682                              type: object
  2683                            terminationGracePeriodSeconds:
  2684                              description: Optional duration in seconds the pod needs
  2685                                to terminate gracefully upon probe failure. The grace
  2686                                period is the duration in seconds after the processes
  2687                                running in the pod are sent a termination signal and the
  2688                                time when the processes are forcibly halted with a kill
  2689                                signal. Set this value longer than the expected cleanup
  2690                                time for your process. If this value is nil, the pod's
  2691                                terminationGracePeriodSeconds will be used. Otherwise,
  2692                                this value overrides the value provided by the pod spec.
  2693                                Value must be non-negative integer. The value zero indicates
  2694                                stop immediately via the kill signal (no opportunity to
  2695                                shut down). This is a beta field and requires enabling
  2696                                ProbeTerminationGracePeriod feature gate. Minimum value
  2697                                is 1. spec.terminationGracePeriodSeconds is used if unset.
  2698                              format: int64
  2699                              type: integer
  2700                            timeoutSeconds:
  2701                              description: 'Number of seconds after which the probe times
  2702                              out. Defaults to 1 second. Minimum value is 1. More info:
  2703                              https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2704                              format: int32
  2705                              type: integer
  2706                          type: object
  2707                        stdin:
  2708                          description: Whether this container should allocate a buffer
  2709                            for stdin in the container runtime. If this is not set, reads
  2710                            from stdin in the container will always result in EOF. Default
  2711                            is false.
  2712                          type: boolean
  2713                        stdinOnce:
  2714                          description: Whether the container runtime should close the
  2715                            stdin channel after it has been opened by a single attach.
  2716                            When stdin is true the stdin stream will remain open across
  2717                            multiple attach sessions. If stdinOnce is set to true, stdin
  2718                            is opened on container start, is empty until the first client
  2719                            attaches to stdin, and then remains open and accepts data
  2720                            until the client disconnects, at which time stdin is closed
  2721                            and remains closed until the container is restarted. If this
  2722                            flag is false, a container processes that reads from stdin
  2723                            will never receive an EOF. Default is false
  2724                          type: boolean
  2725                        terminationMessagePath:
  2726                          description: 'Optional: Path at which the file to which the
  2727                          container''s termination message will be written is mounted
  2728                          into the container''s filesystem. Message written is intended
  2729                          to be brief final status, such as an assertion failure message.
  2730                          Will be truncated by the node if greater than 4096 bytes.
  2731                          The total message length across all containers will be limited
  2732                          to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  2733                          type: string
  2734                        terminationMessagePolicy:
  2735                          description: Indicate how the termination message should be
  2736                            populated. File will use the contents of terminationMessagePath
  2737                            to populate the container status message on both success and
  2738                            failure. FallbackToLogsOnError will use the last chunk of
  2739                            container log output if the termination message file is empty
  2740                            and the container exited with an error. The log output is
  2741                            limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
  2742                            to File. Cannot be updated.
  2743                          type: string
  2744                        tty:
  2745                          description: Whether this container should allocate a TTY for
  2746                            itself, also requires 'stdin' to be true. Default is false.
  2747                          type: boolean
  2748                        volumeDevices:
  2749                          description: volumeDevices is the list of block devices to be
  2750                            used by the container.
  2751                          items:
  2752                            description: volumeDevice describes a mapping of a raw block
  2753                              device within a container.
  2754                            properties:
  2755                              devicePath:
  2756                                description: devicePath is the path inside of the container
  2757                                  that the device will be mapped to.
  2758                                type: string
  2759                              name:
  2760                                description: name must match the name of a persistentVolumeClaim
  2761                                  in the pod
  2762                                type: string
  2763                            required:
  2764                              - devicePath
  2765                              - name
  2766                            type: object
  2767                          type: array
  2768                        volumeMounts:
  2769                          description: Pod volumes to mount into the container's filesystem.
  2770                            Cannot be updated.
  2771                          items:
  2772                            description: VolumeMount describes a mounting of a Volume
  2773                              within a container.
  2774                            properties:
  2775                              mountPath:
  2776                                description: Path within the container at which the volume
  2777                                  should be mounted.  Must not contain ':'.
  2778                                type: string
  2779                              mountPropagation:
  2780                                description: mountPropagation determines how mounts are
  2781                                  propagated from the host to container and the other
  2782                                  way around. When not set, MountPropagationNone is used.
  2783                                  This field is beta in 1.10.
  2784                                type: string
  2785                              name:
  2786                                description: This must match the Name of a Volume.
  2787                                type: string
  2788                              readOnly:
  2789                                description: Mounted read-only if true, read-write otherwise
  2790                                  (false or unspecified). Defaults to false.
  2791                                type: boolean
  2792                              subPath:
  2793                                description: Path within the volume from which the container's
  2794                                  volume should be mounted. Defaults to "" (volume's root).
  2795                                type: string
  2796                              subPathExpr:
  2797                                description: Expanded path within the volume from which
  2798                                  the container's volume should be mounted. Behaves similarly
  2799                                  to SubPath but environment variable references $(VAR_NAME)
  2800                                  are expanded using the container's environment. Defaults
  2801                                  to "" (volume's root). SubPathExpr and SubPath are mutually
  2802                                  exclusive.
  2803                                type: string
  2804                            required:
  2805                              - mountPath
  2806                              - name
  2807                            type: object
  2808                          type: array
  2809                        workingDir:
  2810                          description: Container's working directory. If not specified,
  2811                            the container runtime's default will be used, which might
  2812                            be configured in the container image. Cannot be updated.
  2813                          type: string
  2814                      required:
  2815                        - name
  2816                      type: object
  2817                    type: array
  2818                  extraNetwork:
  2819                    description: Extra network interface attached to network provided
  2820                      by Mutlus CNI.
  2821                    properties:
  2822                      enable:
  2823                        default: false
  2824                        description: Enable extra network interface
  2825                        type: boolean
  2826                      interface:
  2827                        default: net1
  2828                        description: Interface name.
  2829                        type: string
  2830                      multusNetwork:
  2831                        description: Multus Network name specified in network-attachments-definition.
  2832                        type: string
  2833                    type: object
  2834                  guest:
  2835                    properties:
  2836                      args:
  2837                        description: Arguments to the entrypoint. The docker image's cmd
  2838                          is used if this is not provided.
  2839                        items:
  2840                          type: string
  2841                        type: array
  2842                      command:
  2843                        description: Docker image Entrypoint array replacement.
  2844                        items:
  2845                          type: string
  2846                        type: array
  2847                      cpus:
  2848                        properties:
  2849                          max:
  2850                            description: MilliCPU is a special type to represent vCPUs
  2851                              * 1000 e.g. 2 vCPU is 2000, 0.25 is 250
  2852                            format: int32
  2853                            pattern: ^[0-9]+((\.[0-9]*)?|m)
  2854                            type: integer
  2855                            x-kubernetes-int-or-string: true
  2856                          min:
  2857                            default: 1
  2858                            description: MilliCPU is a special type to represent vCPUs
  2859                              * 1000 e.g. 2 vCPU is 2000, 0.25 is 250
  2860                            format: int32
  2861                            pattern: ^[0-9]+((\.[0-9]*)?|m)
  2862                            type: integer
  2863                            x-kubernetes-int-or-string: true
  2864                          use:
  2865                            description: MilliCPU is a special type to represent vCPUs
  2866                              * 1000 e.g. 2 vCPU is 2000, 0.25 is 250
  2867                            format: int32
  2868                            pattern: ^[0-9]+((\.[0-9]*)?|m)
  2869                            type: integer
  2870                            x-kubernetes-int-or-string: true
  2871                        type: object
  2872                      env:
  2873                        description: List of environment variables to set in the vmstart
  2874                          process.
  2875                        items:
  2876                          properties:
  2877                            name:
  2878                              description: Name of the environment variable. Must be a
  2879                                C_IDENTIFIER.
  2880                              type: string
  2881                            value:
  2882                              default: ""
  2883                              type: string
  2884                          required:
  2885                            - name
  2886                          type: object
  2887                        type: array
  2888                      memorySlotSize:
  2889                        anyOf:
  2890                          - type: integer
  2891                          - type: string
  2892                        default: 1Gi
  2893                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2894                        x-kubernetes-int-or-string: true
  2895                      memorySlots:
  2896                        properties:
  2897                          max:
  2898                            format: int32
  2899                            maximum: 128
  2900                            minimum: 1
  2901                            type: integer
  2902                          min:
  2903                            default: 1
  2904                            format: int32
  2905                            maximum: 128
  2906                            minimum: 1
  2907                            type: integer
  2908                          use:
  2909                            format: int32
  2910                            maximum: 128
  2911                            minimum: 1
  2912                            type: integer
  2913                        type: object
  2914                      ports:
  2915                        description: List of ports to expose from the container. Cannot
  2916                          be updated.
  2917                        items:
  2918                          properties:
  2919                            name:
  2920                              description: If specified, this must be an IANA_SVC_NAME
  2921                                and unique within the pod. Each named port in a pod must
  2922                                have a unique name. Name for the port that can be referred
  2923                                to by services.
  2924                              type: string
  2925                            port:
  2926                              description: Number of port to expose on the pod's IP address.
  2927                                This must be a valid port number, 0 < x < 65536.
  2928                              maximum: 65535
  2929                              minimum: 1
  2930                              type: integer
  2931                            protocol:
  2932                              default: TCP
  2933                              description: Protocol for port. Must be UDP or TCP. Defaults
  2934                                to "TCP".
  2935                              type: string
  2936                          required:
  2937                            - port
  2938                          type: object
  2939                        type: array
  2940                      rootDisk:
  2941                        properties:
  2942                          execute:
  2943                            items:
  2944                              type: string
  2945                            type: array
  2946                          image:
  2947                            type: string
  2948                          imagePullPolicy:
  2949                            default: IfNotPresent
  2950                            description: PullPolicy describes a policy for if/when to
  2951                              pull a container image
  2952                            type: string
  2953                          size:
  2954                            anyOf:
  2955                              - type: integer
  2956                              - type: string
  2957                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2958                            x-kubernetes-int-or-string: true
  2959                        required:
  2960                          - image
  2961                        type: object
  2962                    type: object
  2963                  imagePullSecrets:
  2964                    items:
  2965                      description: LocalObjectReference contains enough information to
  2966                        let you locate the referenced object inside the same namespace.
  2967                      properties:
  2968                        name:
  2969                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2970                          TODO: Add other useful fields. apiVersion, kind, uid?'
  2971                          type: string
  2972                      type: object
  2973                      x-kubernetes-map-type: atomic
  2974                    type: array
  2975                  nodeSelector:
  2976                    additionalProperties:
  2977                      type: string
  2978                    type: object
  2979                  podResources:
  2980                    description: ResourceRequirements describes the compute resource requirements.
  2981                    properties:
  2982                      limits:
  2983                        additionalProperties:
  2984                          anyOf:
  2985                            - type: integer
  2986                            - type: string
  2987                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2988                          x-kubernetes-int-or-string: true
  2989                        description: 'Limits describes the maximum amount of compute resources
  2990                        allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2991                        type: object
  2992                      requests:
  2993                        additionalProperties:
  2994                          anyOf:
  2995                            - type: integer
  2996                            - type: string
  2997                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2998                          x-kubernetes-int-or-string: true
  2999                        description: 'Requests describes the minimum amount of compute
  3000                        resources required. If Requests is omitted for a container,
  3001                        it defaults to Limits if that is explicitly specified, otherwise
  3002                        to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3003                        type: object
  3004                    type: object
  3005                  qmp:
  3006                    default: 20183
  3007                    format: int32
  3008                    maximum: 65535
  3009                    minimum: 1
  3010                    type: integer
  3011                  restartPolicy:
  3012                    default: Always
  3013                    enum:
  3014                      - Always
  3015                      - OnFailure
  3016                      - Never
  3017                    type: string
  3018                  runnerPort:
  3019                    default: 25183
  3020                    format: int32
  3021                    maximum: 65535
  3022                    minimum: 1
  3023                    type: integer
  3024                  schedulerName:
  3025                    type: string
  3026                  service_links:
  3027                    type: boolean
  3028                  terminationGracePeriodSeconds:
  3029                    default: 5
  3030                    format: int64
  3031                    type: integer
  3032                  tolerations:
  3033                    items:
  3034                      description: The pod this Toleration is attached to tolerates any
  3035                        taint that matches the triple <key,value,effect> using the matching
  3036                        operator <operator>.
  3037                      properties:
  3038                        effect:
  3039                          description: Effect indicates the taint effect to match. Empty
  3040                            means match all taint effects. When specified, allowed values
  3041                            are NoSchedule, PreferNoSchedule and NoExecute.
  3042                          type: string
  3043                        key:
  3044                          description: Key is the taint key that the toleration applies
  3045                            to. Empty means match all taint keys. If the key is empty,
  3046                            operator must be Exists; this combination means to match all
  3047                            values and all keys.
  3048                          type: string
  3049                        operator:
  3050                          description: Operator represents a key's relationship to the
  3051                            value. Valid operators are Exists and Equal. Defaults to Equal.
  3052                            Exists is equivalent to wildcard for value, so that a pod
  3053                            can tolerate all taints of a particular category.
  3054                          type: string
  3055                        tolerationSeconds:
  3056                          description: TolerationSeconds represents the period of time
  3057                            the toleration (which must be of effect NoExecute, otherwise
  3058                            this field is ignored) tolerates the taint. By default, it
  3059                            is not set, which means tolerate the taint forever (do not
  3060                            evict). Zero and negative values will be treated as 0 (evict
  3061                            immediately) by the system.
  3062                          format: int64
  3063                          type: integer
  3064                        value:
  3065                          description: Value is the taint value the toleration matches
  3066                            to. If the operator is Exists, the value should be empty,
  3067                            otherwise just a regular string.
  3068                          type: string
  3069                      type: object
  3070                    type: array
  3071                required:
  3072                  - guest
  3073                type: object
  3074              status:
  3075                description: VirtualMachineStatus defines the observed state of VirtualMachine
  3076                properties:
  3077                  conditions:
  3078                    items:
  3079                      description: "Condition contains details for one aspect of the current
  3080                      state of this API Resource. --- This struct is intended for direct
  3081                      use as an array at the field path .status.conditions.  For example,
  3082                      \n type FooStatus struct{ // Represents the observations of a
  3083                      foo's current state. // Known .status.conditions.type are: \"Available\",
  3084                      \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
  3085                      // +listType=map // +listMapKey=type Conditions []metav1.Condition
  3086                      `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
  3087                      protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
  3088                      properties:
  3089                        lastTransitionTime:
  3090                          description: lastTransitionTime is the last time the condition
  3091                            transitioned from one status to another. This should be when
  3092                            the underlying condition changed.  If that is not known, then
  3093                            using the time when the API field changed is acceptable.
  3094                          format: date-time
  3095                          type: string
  3096                        message:
  3097                          description: message is a human readable message indicating
  3098                            details about the transition. This may be an empty string.
  3099                          maxLength: 32768
  3100                          type: string
  3101                        observedGeneration:
  3102                          description: observedGeneration represents the .metadata.generation
  3103                            that the condition was set based upon. For instance, if .metadata.generation
  3104                            is currently 12, but the .status.conditions[x].observedGeneration
  3105                            is 9, the condition is out of date with respect to the current
  3106                            state of the instance.
  3107                          format: int64
  3108                          minimum: 0
  3109                          type: integer
  3110                        reason:
  3111                          description: reason contains a programmatic identifier indicating
  3112                            the reason for the condition's last transition. Producers
  3113                            of specific condition types may define expected values and
  3114                            meanings for this field, and whether the values are considered
  3115                            a guaranteed API. The value should be a CamelCase string.
  3116                            This field may not be empty.
  3117                          maxLength: 1024
  3118                          minLength: 1
  3119                          pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  3120                          type: string
  3121                        status:
  3122                          description: status of the condition, one of True, False, Unknown.
  3123                          enum:
  3124                            - "True"
  3125                            - "False"
  3126                            - Unknown
  3127                          type: string
  3128                        type:
  3129                          description: type of condition in CamelCase or in foo.example.com/CamelCase.
  3130                            --- Many .condition.type values are consistent across resources
  3131                            like Available, but because arbitrary conditions can be useful
  3132                            (see .node.status.conditions), the ability to deconflict is
  3133                            important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
  3134                          maxLength: 316
  3135                          pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
  3136                          type: string
  3137                      required:
  3138                        - lastTransitionTime
  3139                        - message
  3140                        - reason
  3141                        - status
  3142                        - type
  3143                      type: object
  3144                    type: array
  3145                  cpus:
  3146                    description: MilliCPU is a special type to represent vCPUs * 1000
  3147                      e.g. 2 vCPU is 2000, 0.25 is 250
  3148                    format: int32
  3149                    pattern: ^[0-9]+((\.[0-9]*)?|m)
  3150                    type: integer
  3151                    x-kubernetes-int-or-string: true
  3152                  extraNetIP:
  3153                    type: string
  3154                  extraNetMask:
  3155                    type: string
  3156                  memorySize:
  3157                    anyOf:
  3158                      - type: integer
  3159                      - type: string
  3160                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3161                    x-kubernetes-int-or-string: true
  3162                  node:
  3163                    type: string
  3164                  phase:
  3165                    description: The phase of a VM is a simple, high-level summary of
  3166                      where the VM is in its lifecycle.
  3167                    type: string
  3168                  podIP:
  3169                    type: string
  3170                  podName:
  3171                    type: string
  3172                type: object
  3173            type: object
  3174        served: true
  3175        storage: true
  3176        subresources:
  3177          status: {}