...

Text file src/edge-infra.dev/test/fixtures/crds/edge/virtualmachine.edge.ncr.com_vmusbredirections.yaml

Documentation: edge-infra.dev/test/fixtures/crds/edge

     1---
     2apiVersion: apiextensions.k8s.io/v1
     3kind: CustomResourceDefinition
     4metadata:
     5  annotations:
     6    controller-gen.kubebuilder.io/version: (unknown)
     7  name: vmusbredirections.virtualmachine.edge.ncr.com
     8spec:
     9  group: virtualmachine.edge.ncr.com
    10  names:
    11    kind: VirtualMachineUSBRedirection
    12    listKind: VirtualMachineUSBRedirectionList
    13    plural: vmusbredirections
    14    shortNames:
    15    - usbredir
    16    - usbredirs
    17    - vmusbredir
    18    - vmusbredirs
    19    singular: vmusbredirection
    20  scope: Namespaced
    21  versions:
    22  - additionalPrinterColumns:
    23    - jsonPath: .status.conditions[?(@.type=="VirtualMachineUSBRedirectionConfigured")].reason
    24      name: Status
    25      type: string
    26    - jsonPath: .status.conditions[?(@.type=="VirtualMachineUSBRedirectionConfigured")].message
    27      name: Message
    28      priority: 1
    29      type: string
    30    - jsonPath: .status.conditions[?(@.type=="VirtualMachineUSBRedirectionConfigured")].lastTransitionTime
    31      name: Last-Transition
    32      type: date
    33    - jsonPath: .metadata.creationTimestamp
    34      name: Age
    35      type: date
    36    - jsonPath: .spec.virtualMachineName
    37      name: Virtual-Machine
    38      type: string
    39    - jsonPath: .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].values[0]
    40      name: Node-Affinity
    41      type: string
    42    - jsonPath: .spec.device.ids.vendorId
    43      name: Device Vendor-ID
    44      type: string
    45    - jsonPath: .spec.device.ids.productId
    46      name: Device Product-ID
    47      type: string
    48    - jsonPath: .spec.device.addresses.busAddress
    49      name: Device Bus-Address
    50      type: string
    51    - jsonPath: .spec.device.addresses.deviceAddress
    52      name: Device Device-Address
    53      type: string
    54    name: v1alpha
    55    schema:
    56      openAPIV3Schema:
    57        description: A v1alpha.VirtualMachineUSBRedirection handles USB Redirection
    58          for the specified VirtualMachineInstance
    59        properties:
    60          apiVersion:
    61            description: |-
    62              APIVersion defines the versioned schema of this representation of an object.
    63              Servers should convert recognized schemas to the latest internal value, and
    64              may reject unrecognized values.
    65              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    66            type: string
    67          kind:
    68            description: |-
    69              Kind is a string value representing the REST resource this object represents.
    70              Servers may infer this from the endpoint the client submits requests to.
    71              Cannot be updated.
    72              In CamelCase.
    73              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    74            type: string
    75          metadata:
    76            type: object
    77          spec:
    78            properties:
    79              affinity:
    80                description: Affinity is a group of affinity scheduling rules.
    81                properties:
    82                  nodeAffinity:
    83                    description: Describes node affinity scheduling rules for the
    84                      pod.
    85                    properties:
    86                      preferredDuringSchedulingIgnoredDuringExecution:
    87                        description: |-
    88                          The scheduler will prefer to schedule pods to nodes that satisfy
    89                          the affinity expressions specified by this field, but it may choose
    90                          a node that violates one or more of the expressions. The node that is
    91                          most preferred is the one with the greatest sum of weights, i.e.
    92                          for each node that meets all of the scheduling requirements (resource
    93                          request, requiredDuringScheduling affinity expressions, etc.),
    94                          compute a sum by iterating through the elements of this field and adding
    95                          "weight" to the sum if the node matches the corresponding matchExpressions; the
    96                          node(s) with the highest sum are the most preferred.
    97                        items:
    98                          description: |-
    99                            An empty preferred scheduling term matches all objects with implicit weight 0
   100                            (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
   101                          properties:
   102                            preference:
   103                              description: A node selector term, associated with the
   104                                corresponding weight.
   105                              properties:
   106                                matchExpressions:
   107                                  description: A list of node selector requirements
   108                                    by node's labels.
   109                                  items:
   110                                    description: |-
   111                                      A node selector requirement is a selector that contains values, a key, and an operator
   112                                      that relates the key and values.
   113                                    properties:
   114                                      key:
   115                                        description: The label key that the selector
   116                                          applies to.
   117                                        type: string
   118                                      operator:
   119                                        description: |-
   120                                          Represents a key's relationship to a set of values.
   121                                          Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
   122                                        type: string
   123                                      values:
   124                                        description: |-
   125                                          An array of string values. If the operator is In or NotIn,
   126                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
   127                                          the values array must be empty. If the operator is Gt or Lt, the values
   128                                          array must have a single element, which will be interpreted as an integer.
   129                                          This array is replaced during a strategic merge patch.
   130                                        items:
   131                                          type: string
   132                                        type: array
   133                                        x-kubernetes-list-type: atomic
   134                                    required:
   135                                    - key
   136                                    - operator
   137                                    type: object
   138                                  type: array
   139                                  x-kubernetes-list-type: atomic
   140                                matchFields:
   141                                  description: A list of node selector requirements
   142                                    by node's fields.
   143                                  items:
   144                                    description: |-
   145                                      A node selector requirement is a selector that contains values, a key, and an operator
   146                                      that relates the key and values.
   147                                    properties:
   148                                      key:
   149                                        description: The label key that the selector
   150                                          applies to.
   151                                        type: string
   152                                      operator:
   153                                        description: |-
   154                                          Represents a key's relationship to a set of values.
   155                                          Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
   156                                        type: string
   157                                      values:
   158                                        description: |-
   159                                          An array of string values. If the operator is In or NotIn,
   160                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
   161                                          the values array must be empty. If the operator is Gt or Lt, the values
   162                                          array must have a single element, which will be interpreted as an integer.
   163                                          This array is replaced during a strategic merge patch.
   164                                        items:
   165                                          type: string
   166                                        type: array
   167                                        x-kubernetes-list-type: atomic
   168                                    required:
   169                                    - key
   170                                    - operator
   171                                    type: object
   172                                  type: array
   173                                  x-kubernetes-list-type: atomic
   174                              type: object
   175                              x-kubernetes-map-type: atomic
   176                            weight:
   177                              description: Weight associated with matching the corresponding
   178                                nodeSelectorTerm, in the range 1-100.
   179                              format: int32
   180                              type: integer
   181                          required:
   182                          - preference
   183                          - weight
   184                          type: object
   185                        type: array
   186                        x-kubernetes-list-type: atomic
   187                      requiredDuringSchedulingIgnoredDuringExecution:
   188                        description: |-
   189                          If the affinity requirements specified by this field are not met at
   190                          scheduling time, the pod will not be scheduled onto the node.
   191                          If the affinity requirements specified by this field cease to be met
   192                          at some point during pod execution (e.g. due to an update), the system
   193                          may or may not try to eventually evict the pod from its node.
   194                        properties:
   195                          nodeSelectorTerms:
   196                            description: Required. A list of node selector terms.
   197                              The terms are ORed.
   198                            items:
   199                              description: |-
   200                                A null or empty node selector term matches no objects. The requirements of
   201                                them are ANDed.
   202                                The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
   203                              properties:
   204                                matchExpressions:
   205                                  description: A list of node selector requirements
   206                                    by node's labels.
   207                                  items:
   208                                    description: |-
   209                                      A node selector requirement is a selector that contains values, a key, and an operator
   210                                      that relates the key and values.
   211                                    properties:
   212                                      key:
   213                                        description: The label key that the selector
   214                                          applies to.
   215                                        type: string
   216                                      operator:
   217                                        description: |-
   218                                          Represents a key's relationship to a set of values.
   219                                          Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
   220                                        type: string
   221                                      values:
   222                                        description: |-
   223                                          An array of string values. If the operator is In or NotIn,
   224                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
   225                                          the values array must be empty. If the operator is Gt or Lt, the values
   226                                          array must have a single element, which will be interpreted as an integer.
   227                                          This array is replaced during a strategic merge patch.
   228                                        items:
   229                                          type: string
   230                                        type: array
   231                                        x-kubernetes-list-type: atomic
   232                                    required:
   233                                    - key
   234                                    - operator
   235                                    type: object
   236                                  type: array
   237                                  x-kubernetes-list-type: atomic
   238                                matchFields:
   239                                  description: A list of node selector requirements
   240                                    by node's fields.
   241                                  items:
   242                                    description: |-
   243                                      A node selector requirement is a selector that contains values, a key, and an operator
   244                                      that relates the key and values.
   245                                    properties:
   246                                      key:
   247                                        description: The label key that the selector
   248                                          applies to.
   249                                        type: string
   250                                      operator:
   251                                        description: |-
   252                                          Represents a key's relationship to a set of values.
   253                                          Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
   254                                        type: string
   255                                      values:
   256                                        description: |-
   257                                          An array of string values. If the operator is In or NotIn,
   258                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
   259                                          the values array must be empty. If the operator is Gt or Lt, the values
   260                                          array must have a single element, which will be interpreted as an integer.
   261                                          This array is replaced during a strategic merge patch.
   262                                        items:
   263                                          type: string
   264                                        type: array
   265                                        x-kubernetes-list-type: atomic
   266                                    required:
   267                                    - key
   268                                    - operator
   269                                    type: object
   270                                  type: array
   271                                  x-kubernetes-list-type: atomic
   272                              type: object
   273                              x-kubernetes-map-type: atomic
   274                            type: array
   275                            x-kubernetes-list-type: atomic
   276                        required:
   277                        - nodeSelectorTerms
   278                        type: object
   279                        x-kubernetes-map-type: atomic
   280                    type: object
   281                  podAffinity:
   282                    description: Describes pod affinity scheduling rules (e.g. co-locate
   283                      this pod in the same node, zone, etc. as some other pod(s)).
   284                    properties:
   285                      preferredDuringSchedulingIgnoredDuringExecution:
   286                        description: |-
   287                          The scheduler will prefer to schedule pods to nodes that satisfy
   288                          the affinity expressions specified by this field, but it may choose
   289                          a node that violates one or more of the expressions. The node that is
   290                          most preferred is the one with the greatest sum of weights, i.e.
   291                          for each node that meets all of the scheduling requirements (resource
   292                          request, requiredDuringScheduling affinity expressions, etc.),
   293                          compute a sum by iterating through the elements of this field and adding
   294                          "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
   295                          node(s) with the highest sum are the most preferred.
   296                        items:
   297                          description: The weights of all of the matched WeightedPodAffinityTerm
   298                            fields are added per-node to find the most preferred node(s)
   299                          properties:
   300                            podAffinityTerm:
   301                              description: Required. A pod affinity term, associated
   302                                with the corresponding weight.
   303                              properties:
   304                                labelSelector:
   305                                  description: |-
   306                                    A label query over a set of resources, in this case pods.
   307                                    If it's null, this PodAffinityTerm matches with no Pods.
   308                                  properties:
   309                                    matchExpressions:
   310                                      description: matchExpressions is a list of label
   311                                        selector requirements. The requirements are
   312                                        ANDed.
   313                                      items:
   314                                        description: |-
   315                                          A label selector requirement is a selector that contains values, a key, and an operator that
   316                                          relates the key and values.
   317                                        properties:
   318                                          key:
   319                                            description: key is the label key that
   320                                              the selector applies to.
   321                                            type: string
   322                                          operator:
   323                                            description: |-
   324                                              operator represents a key's relationship to a set of values.
   325                                              Valid operators are In, NotIn, Exists and DoesNotExist.
   326                                            type: string
   327                                          values:
   328                                            description: |-
   329                                              values is an array of string values. If the operator is In or NotIn,
   330                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
   331                                              the values array must be empty. This array is replaced during a strategic
   332                                              merge patch.
   333                                            items:
   334                                              type: string
   335                                            type: array
   336                                            x-kubernetes-list-type: atomic
   337                                        required:
   338                                        - key
   339                                        - operator
   340                                        type: object
   341                                      type: array
   342                                      x-kubernetes-list-type: atomic
   343                                    matchLabels:
   344                                      additionalProperties:
   345                                        type: string
   346                                      description: |-
   347                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   348                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
   349                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
   350                                      type: object
   351                                  type: object
   352                                  x-kubernetes-map-type: atomic
   353                                matchLabelKeys:
   354                                  description: |-
   355                                    MatchLabelKeys is a set of pod label keys to select which pods will
   356                                    be taken into consideration. The keys are used to lookup values from the
   357                                    incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
   358                                    to select the group of existing pods which pods will be taken into consideration
   359                                    for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
   360                                    pod labels will be ignored. The default value is empty.
   361                                    The same key is forbidden to exist in both matchLabelKeys and labelSelector.
   362                                    Also, matchLabelKeys cannot be set when labelSelector isn't set.
   363                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
   364                                  items:
   365                                    type: string
   366                                  type: array
   367                                  x-kubernetes-list-type: atomic
   368                                mismatchLabelKeys:
   369                                  description: |-
   370                                    MismatchLabelKeys is a set of pod label keys to select which pods will
   371                                    be taken into consideration. The keys are used to lookup values from the
   372                                    incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
   373                                    to select the group of existing pods which pods will be taken into consideration
   374                                    for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
   375                                    pod labels will be ignored. The default value is empty.
   376                                    The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
   377                                    Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
   378                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
   379                                  items:
   380                                    type: string
   381                                  type: array
   382                                  x-kubernetes-list-type: atomic
   383                                namespaceSelector:
   384                                  description: |-
   385                                    A label query over the set of namespaces that the term applies to.
   386                                    The term is applied to the union of the namespaces selected by this field
   387                                    and the ones listed in the namespaces field.
   388                                    null selector and null or empty namespaces list means "this pod's namespace".
   389                                    An empty selector ({}) matches all namespaces.
   390                                  properties:
   391                                    matchExpressions:
   392                                      description: matchExpressions is a list of label
   393                                        selector requirements. The requirements are
   394                                        ANDed.
   395                                      items:
   396                                        description: |-
   397                                          A label selector requirement is a selector that contains values, a key, and an operator that
   398                                          relates the key and values.
   399                                        properties:
   400                                          key:
   401                                            description: key is the label key that
   402                                              the selector applies to.
   403                                            type: string
   404                                          operator:
   405                                            description: |-
   406                                              operator represents a key's relationship to a set of values.
   407                                              Valid operators are In, NotIn, Exists and DoesNotExist.
   408                                            type: string
   409                                          values:
   410                                            description: |-
   411                                              values is an array of string values. If the operator is In or NotIn,
   412                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
   413                                              the values array must be empty. This array is replaced during a strategic
   414                                              merge patch.
   415                                            items:
   416                                              type: string
   417                                            type: array
   418                                            x-kubernetes-list-type: atomic
   419                                        required:
   420                                        - key
   421                                        - operator
   422                                        type: object
   423                                      type: array
   424                                      x-kubernetes-list-type: atomic
   425                                    matchLabels:
   426                                      additionalProperties:
   427                                        type: string
   428                                      description: |-
   429                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   430                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
   431                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
   432                                      type: object
   433                                  type: object
   434                                  x-kubernetes-map-type: atomic
   435                                namespaces:
   436                                  description: |-
   437                                    namespaces specifies a static list of namespace names that the term applies to.
   438                                    The term is applied to the union of the namespaces listed in this field
   439                                    and the ones selected by namespaceSelector.
   440                                    null or empty namespaces list and null namespaceSelector means "this pod's namespace".
   441                                  items:
   442                                    type: string
   443                                  type: array
   444                                  x-kubernetes-list-type: atomic
   445                                topologyKey:
   446                                  description: |-
   447                                    This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
   448                                    the labelSelector in the specified namespaces, where co-located is defined as running on a node
   449                                    whose value of the label with key topologyKey matches that of any node on which any of the
   450                                    selected pods is running.
   451                                    Empty topologyKey is not allowed.
   452                                  type: string
   453                              required:
   454                              - topologyKey
   455                              type: object
   456                            weight:
   457                              description: |-
   458                                weight associated with matching the corresponding podAffinityTerm,
   459                                in the range 1-100.
   460                              format: int32
   461                              type: integer
   462                          required:
   463                          - podAffinityTerm
   464                          - weight
   465                          type: object
   466                        type: array
   467                        x-kubernetes-list-type: atomic
   468                      requiredDuringSchedulingIgnoredDuringExecution:
   469                        description: |-
   470                          If the affinity requirements specified by this field are not met at
   471                          scheduling time, the pod will not be scheduled onto the node.
   472                          If the affinity requirements specified by this field cease to be met
   473                          at some point during pod execution (e.g. due to a pod label update), the
   474                          system may or may not try to eventually evict the pod from its node.
   475                          When there are multiple elements, the lists of nodes corresponding to each
   476                          podAffinityTerm are intersected, i.e. all terms must be satisfied.
   477                        items:
   478                          description: |-
   479                            Defines a set of pods (namely those matching the labelSelector
   480                            relative to the given namespace(s)) that this pod should be
   481                            co-located (affinity) or not co-located (anti-affinity) with,
   482                            where co-located is defined as running on a node whose value of
   483                            the label with key <topologyKey> matches that of any node on which
   484                            a pod of the set of pods is running
   485                          properties:
   486                            labelSelector:
   487                              description: |-
   488                                A label query over a set of resources, in this case pods.
   489                                If it's null, this PodAffinityTerm matches with no Pods.
   490                              properties:
   491                                matchExpressions:
   492                                  description: matchExpressions is a list of label
   493                                    selector requirements. The requirements are ANDed.
   494                                  items:
   495                                    description: |-
   496                                      A label selector requirement is a selector that contains values, a key, and an operator that
   497                                      relates the key and values.
   498                                    properties:
   499                                      key:
   500                                        description: key is the label key that the
   501                                          selector applies to.
   502                                        type: string
   503                                      operator:
   504                                        description: |-
   505                                          operator represents a key's relationship to a set of values.
   506                                          Valid operators are In, NotIn, Exists and DoesNotExist.
   507                                        type: string
   508                                      values:
   509                                        description: |-
   510                                          values is an array of string values. If the operator is In or NotIn,
   511                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
   512                                          the values array must be empty. This array is replaced during a strategic
   513                                          merge patch.
   514                                        items:
   515                                          type: string
   516                                        type: array
   517                                        x-kubernetes-list-type: atomic
   518                                    required:
   519                                    - key
   520                                    - operator
   521                                    type: object
   522                                  type: array
   523                                  x-kubernetes-list-type: atomic
   524                                matchLabels:
   525                                  additionalProperties:
   526                                    type: string
   527                                  description: |-
   528                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   529                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
   530                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
   531                                  type: object
   532                              type: object
   533                              x-kubernetes-map-type: atomic
   534                            matchLabelKeys:
   535                              description: |-
   536                                MatchLabelKeys is a set of pod label keys to select which pods will
   537                                be taken into consideration. The keys are used to lookup values from the
   538                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
   539                                to select the group of existing pods which pods will be taken into consideration
   540                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
   541                                pod labels will be ignored. The default value is empty.
   542                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
   543                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
   544                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
   545                              items:
   546                                type: string
   547                              type: array
   548                              x-kubernetes-list-type: atomic
   549                            mismatchLabelKeys:
   550                              description: |-
   551                                MismatchLabelKeys is a set of pod label keys to select which pods will
   552                                be taken into consideration. The keys are used to lookup values from the
   553                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
   554                                to select the group of existing pods which pods will be taken into consideration
   555                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
   556                                pod labels will be ignored. The default value is empty.
   557                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
   558                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
   559                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
   560                              items:
   561                                type: string
   562                              type: array
   563                              x-kubernetes-list-type: atomic
   564                            namespaceSelector:
   565                              description: |-
   566                                A label query over the set of namespaces that the term applies to.
   567                                The term is applied to the union of the namespaces selected by this field
   568                                and the ones listed in the namespaces field.
   569                                null selector and null or empty namespaces list means "this pod's namespace".
   570                                An empty selector ({}) matches all namespaces.
   571                              properties:
   572                                matchExpressions:
   573                                  description: matchExpressions is a list of label
   574                                    selector requirements. The requirements are ANDed.
   575                                  items:
   576                                    description: |-
   577                                      A label selector requirement is a selector that contains values, a key, and an operator that
   578                                      relates the key and values.
   579                                    properties:
   580                                      key:
   581                                        description: key is the label key that the
   582                                          selector applies to.
   583                                        type: string
   584                                      operator:
   585                                        description: |-
   586                                          operator represents a key's relationship to a set of values.
   587                                          Valid operators are In, NotIn, Exists and DoesNotExist.
   588                                        type: string
   589                                      values:
   590                                        description: |-
   591                                          values is an array of string values. If the operator is In or NotIn,
   592                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
   593                                          the values array must be empty. This array is replaced during a strategic
   594                                          merge patch.
   595                                        items:
   596                                          type: string
   597                                        type: array
   598                                        x-kubernetes-list-type: atomic
   599                                    required:
   600                                    - key
   601                                    - operator
   602                                    type: object
   603                                  type: array
   604                                  x-kubernetes-list-type: atomic
   605                                matchLabels:
   606                                  additionalProperties:
   607                                    type: string
   608                                  description: |-
   609                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   610                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
   611                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
   612                                  type: object
   613                              type: object
   614                              x-kubernetes-map-type: atomic
   615                            namespaces:
   616                              description: |-
   617                                namespaces specifies a static list of namespace names that the term applies to.
   618                                The term is applied to the union of the namespaces listed in this field
   619                                and the ones selected by namespaceSelector.
   620                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
   621                              items:
   622                                type: string
   623                              type: array
   624                              x-kubernetes-list-type: atomic
   625                            topologyKey:
   626                              description: |-
   627                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
   628                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
   629                                whose value of the label with key topologyKey matches that of any node on which any of the
   630                                selected pods is running.
   631                                Empty topologyKey is not allowed.
   632                              type: string
   633                          required:
   634                          - topologyKey
   635                          type: object
   636                        type: array
   637                        x-kubernetes-list-type: atomic
   638                    type: object
   639                  podAntiAffinity:
   640                    description: Describes pod anti-affinity scheduling rules (e.g.
   641                      avoid putting this pod in the same node, zone, etc. as some
   642                      other pod(s)).
   643                    properties:
   644                      preferredDuringSchedulingIgnoredDuringExecution:
   645                        description: |-
   646                          The scheduler will prefer to schedule pods to nodes that satisfy
   647                          the anti-affinity expressions specified by this field, but it may choose
   648                          a node that violates one or more of the expressions. The node that is
   649                          most preferred is the one with the greatest sum of weights, i.e.
   650                          for each node that meets all of the scheduling requirements (resource
   651                          request, requiredDuringScheduling anti-affinity expressions, etc.),
   652                          compute a sum by iterating through the elements of this field and adding
   653                          "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
   654                          node(s) with the highest sum are the most preferred.
   655                        items:
   656                          description: The weights of all of the matched WeightedPodAffinityTerm
   657                            fields are added per-node to find the most preferred node(s)
   658                          properties:
   659                            podAffinityTerm:
   660                              description: Required. A pod affinity term, associated
   661                                with the corresponding weight.
   662                              properties:
   663                                labelSelector:
   664                                  description: |-
   665                                    A label query over a set of resources, in this case pods.
   666                                    If it's null, this PodAffinityTerm matches with no Pods.
   667                                  properties:
   668                                    matchExpressions:
   669                                      description: matchExpressions is a list of label
   670                                        selector requirements. The requirements are
   671                                        ANDed.
   672                                      items:
   673                                        description: |-
   674                                          A label selector requirement is a selector that contains values, a key, and an operator that
   675                                          relates the key and values.
   676                                        properties:
   677                                          key:
   678                                            description: key is the label key that
   679                                              the selector applies to.
   680                                            type: string
   681                                          operator:
   682                                            description: |-
   683                                              operator represents a key's relationship to a set of values.
   684                                              Valid operators are In, NotIn, Exists and DoesNotExist.
   685                                            type: string
   686                                          values:
   687                                            description: |-
   688                                              values is an array of string values. If the operator is In or NotIn,
   689                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
   690                                              the values array must be empty. This array is replaced during a strategic
   691                                              merge patch.
   692                                            items:
   693                                              type: string
   694                                            type: array
   695                                            x-kubernetes-list-type: atomic
   696                                        required:
   697                                        - key
   698                                        - operator
   699                                        type: object
   700                                      type: array
   701                                      x-kubernetes-list-type: atomic
   702                                    matchLabels:
   703                                      additionalProperties:
   704                                        type: string
   705                                      description: |-
   706                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   707                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
   708                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
   709                                      type: object
   710                                  type: object
   711                                  x-kubernetes-map-type: atomic
   712                                matchLabelKeys:
   713                                  description: |-
   714                                    MatchLabelKeys is a set of pod label keys to select which pods will
   715                                    be taken into consideration. The keys are used to lookup values from the
   716                                    incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
   717                                    to select the group of existing pods which pods will be taken into consideration
   718                                    for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
   719                                    pod labels will be ignored. The default value is empty.
   720                                    The same key is forbidden to exist in both matchLabelKeys and labelSelector.
   721                                    Also, matchLabelKeys cannot be set when labelSelector isn't set.
   722                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
   723                                  items:
   724                                    type: string
   725                                  type: array
   726                                  x-kubernetes-list-type: atomic
   727                                mismatchLabelKeys:
   728                                  description: |-
   729                                    MismatchLabelKeys is a set of pod label keys to select which pods will
   730                                    be taken into consideration. The keys are used to lookup values from the
   731                                    incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
   732                                    to select the group of existing pods which pods will be taken into consideration
   733                                    for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
   734                                    pod labels will be ignored. The default value is empty.
   735                                    The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
   736                                    Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
   737                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
   738                                  items:
   739                                    type: string
   740                                  type: array
   741                                  x-kubernetes-list-type: atomic
   742                                namespaceSelector:
   743                                  description: |-
   744                                    A label query over the set of namespaces that the term applies to.
   745                                    The term is applied to the union of the namespaces selected by this field
   746                                    and the ones listed in the namespaces field.
   747                                    null selector and null or empty namespaces list means "this pod's namespace".
   748                                    An empty selector ({}) matches all namespaces.
   749                                  properties:
   750                                    matchExpressions:
   751                                      description: matchExpressions is a list of label
   752                                        selector requirements. The requirements are
   753                                        ANDed.
   754                                      items:
   755                                        description: |-
   756                                          A label selector requirement is a selector that contains values, a key, and an operator that
   757                                          relates the key and values.
   758                                        properties:
   759                                          key:
   760                                            description: key is the label key that
   761                                              the selector applies to.
   762                                            type: string
   763                                          operator:
   764                                            description: |-
   765                                              operator represents a key's relationship to a set of values.
   766                                              Valid operators are In, NotIn, Exists and DoesNotExist.
   767                                            type: string
   768                                          values:
   769                                            description: |-
   770                                              values is an array of string values. If the operator is In or NotIn,
   771                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
   772                                              the values array must be empty. This array is replaced during a strategic
   773                                              merge patch.
   774                                            items:
   775                                              type: string
   776                                            type: array
   777                                            x-kubernetes-list-type: atomic
   778                                        required:
   779                                        - key
   780                                        - operator
   781                                        type: object
   782                                      type: array
   783                                      x-kubernetes-list-type: atomic
   784                                    matchLabels:
   785                                      additionalProperties:
   786                                        type: string
   787                                      description: |-
   788                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   789                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
   790                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
   791                                      type: object
   792                                  type: object
   793                                  x-kubernetes-map-type: atomic
   794                                namespaces:
   795                                  description: |-
   796                                    namespaces specifies a static list of namespace names that the term applies to.
   797                                    The term is applied to the union of the namespaces listed in this field
   798                                    and the ones selected by namespaceSelector.
   799                                    null or empty namespaces list and null namespaceSelector means "this pod's namespace".
   800                                  items:
   801                                    type: string
   802                                  type: array
   803                                  x-kubernetes-list-type: atomic
   804                                topologyKey:
   805                                  description: |-
   806                                    This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
   807                                    the labelSelector in the specified namespaces, where co-located is defined as running on a node
   808                                    whose value of the label with key topologyKey matches that of any node on which any of the
   809                                    selected pods is running.
   810                                    Empty topologyKey is not allowed.
   811                                  type: string
   812                              required:
   813                              - topologyKey
   814                              type: object
   815                            weight:
   816                              description: |-
   817                                weight associated with matching the corresponding podAffinityTerm,
   818                                in the range 1-100.
   819                              format: int32
   820                              type: integer
   821                          required:
   822                          - podAffinityTerm
   823                          - weight
   824                          type: object
   825                        type: array
   826                        x-kubernetes-list-type: atomic
   827                      requiredDuringSchedulingIgnoredDuringExecution:
   828                        description: |-
   829                          If the anti-affinity requirements specified by this field are not met at
   830                          scheduling time, the pod will not be scheduled onto the node.
   831                          If the anti-affinity requirements specified by this field cease to be met
   832                          at some point during pod execution (e.g. due to a pod label update), the
   833                          system may or may not try to eventually evict the pod from its node.
   834                          When there are multiple elements, the lists of nodes corresponding to each
   835                          podAffinityTerm are intersected, i.e. all terms must be satisfied.
   836                        items:
   837                          description: |-
   838                            Defines a set of pods (namely those matching the labelSelector
   839                            relative to the given namespace(s)) that this pod should be
   840                            co-located (affinity) or not co-located (anti-affinity) with,
   841                            where co-located is defined as running on a node whose value of
   842                            the label with key <topologyKey> matches that of any node on which
   843                            a pod of the set of pods is running
   844                          properties:
   845                            labelSelector:
   846                              description: |-
   847                                A label query over a set of resources, in this case pods.
   848                                If it's null, this PodAffinityTerm matches with no Pods.
   849                              properties:
   850                                matchExpressions:
   851                                  description: matchExpressions is a list of label
   852                                    selector requirements. The requirements are ANDed.
   853                                  items:
   854                                    description: |-
   855                                      A label selector requirement is a selector that contains values, a key, and an operator that
   856                                      relates the key and values.
   857                                    properties:
   858                                      key:
   859                                        description: key is the label key that the
   860                                          selector applies to.
   861                                        type: string
   862                                      operator:
   863                                        description: |-
   864                                          operator represents a key's relationship to a set of values.
   865                                          Valid operators are In, NotIn, Exists and DoesNotExist.
   866                                        type: string
   867                                      values:
   868                                        description: |-
   869                                          values is an array of string values. If the operator is In or NotIn,
   870                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
   871                                          the values array must be empty. This array is replaced during a strategic
   872                                          merge patch.
   873                                        items:
   874                                          type: string
   875                                        type: array
   876                                        x-kubernetes-list-type: atomic
   877                                    required:
   878                                    - key
   879                                    - operator
   880                                    type: object
   881                                  type: array
   882                                  x-kubernetes-list-type: atomic
   883                                matchLabels:
   884                                  additionalProperties:
   885                                    type: string
   886                                  description: |-
   887                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   888                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
   889                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
   890                                  type: object
   891                              type: object
   892                              x-kubernetes-map-type: atomic
   893                            matchLabelKeys:
   894                              description: |-
   895                                MatchLabelKeys is a set of pod label keys to select which pods will
   896                                be taken into consideration. The keys are used to lookup values from the
   897                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
   898                                to select the group of existing pods which pods will be taken into consideration
   899                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
   900                                pod labels will be ignored. The default value is empty.
   901                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
   902                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
   903                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
   904                              items:
   905                                type: string
   906                              type: array
   907                              x-kubernetes-list-type: atomic
   908                            mismatchLabelKeys:
   909                              description: |-
   910                                MismatchLabelKeys is a set of pod label keys to select which pods will
   911                                be taken into consideration. The keys are used to lookup values from the
   912                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
   913                                to select the group of existing pods which pods will be taken into consideration
   914                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
   915                                pod labels will be ignored. The default value is empty.
   916                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
   917                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
   918                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
   919                              items:
   920                                type: string
   921                              type: array
   922                              x-kubernetes-list-type: atomic
   923                            namespaceSelector:
   924                              description: |-
   925                                A label query over the set of namespaces that the term applies to.
   926                                The term is applied to the union of the namespaces selected by this field
   927                                and the ones listed in the namespaces field.
   928                                null selector and null or empty namespaces list means "this pod's namespace".
   929                                An empty selector ({}) matches all namespaces.
   930                              properties:
   931                                matchExpressions:
   932                                  description: matchExpressions is a list of label
   933                                    selector requirements. The requirements are ANDed.
   934                                  items:
   935                                    description: |-
   936                                      A label selector requirement is a selector that contains values, a key, and an operator that
   937                                      relates the key and values.
   938                                    properties:
   939                                      key:
   940                                        description: key is the label key that the
   941                                          selector applies to.
   942                                        type: string
   943                                      operator:
   944                                        description: |-
   945                                          operator represents a key's relationship to a set of values.
   946                                          Valid operators are In, NotIn, Exists and DoesNotExist.
   947                                        type: string
   948                                      values:
   949                                        description: |-
   950                                          values is an array of string values. If the operator is In or NotIn,
   951                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
   952                                          the values array must be empty. This array is replaced during a strategic
   953                                          merge patch.
   954                                        items:
   955                                          type: string
   956                                        type: array
   957                                        x-kubernetes-list-type: atomic
   958                                    required:
   959                                    - key
   960                                    - operator
   961                                    type: object
   962                                  type: array
   963                                  x-kubernetes-list-type: atomic
   964                                matchLabels:
   965                                  additionalProperties:
   966                                    type: string
   967                                  description: |-
   968                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   969                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
   970                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
   971                                  type: object
   972                              type: object
   973                              x-kubernetes-map-type: atomic
   974                            namespaces:
   975                              description: |-
   976                                namespaces specifies a static list of namespace names that the term applies to.
   977                                The term is applied to the union of the namespaces listed in this field
   978                                and the ones selected by namespaceSelector.
   979                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
   980                              items:
   981                                type: string
   982                              type: array
   983                              x-kubernetes-list-type: atomic
   984                            topologyKey:
   985                              description: |-
   986                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
   987                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
   988                                whose value of the label with key topologyKey matches that of any node on which any of the
   989                                selected pods is running.
   990                                Empty topologyKey is not allowed.
   991                              type: string
   992                          required:
   993                          - topologyKey
   994                          type: object
   995                        type: array
   996                        x-kubernetes-list-type: atomic
   997                    type: object
   998                type: object
   999              device:
  1000                description: Pair of either VendorID/ProductID or BusAddress/DeviceAddress
  1001                maxProperties: 1
  1002                minProperties: 1
  1003                properties:
  1004                  addresses:
  1005                    description: |-
  1006                      USB Device defined by BusAddress/DeviceAddress combination
  1007                      TODO: This feature will soon be replaced by IDs (https://github.com/ncr-swt-retail/edge-roadmap/issues/8633)
  1008                    properties:
  1009                      busAddress:
  1010                        description: Address for the Bus of the USB Device
  1011                        type: string
  1012                      deviceAddress:
  1013                        description: Address for the Device of the USB Device
  1014                        type: string
  1015                    required:
  1016                    - busAddress
  1017                    - deviceAddress
  1018                    type: object
  1019                  ids:
  1020                    description: |-
  1021                      USB Device defined by VendorID/ProductID combination
  1022                      TODO: This feature is currently not supported (https://github.com/ncr-swt-retail/edge-roadmap/issues/8633)
  1023                    properties:
  1024                      productId:
  1025                        description: |-
  1026                          ID assigned to the USB Device. It is maintained by the vendor who owns the VendorID
  1027                          in order to distinguish between different products under a single VendorID
  1028                        type: string
  1029                      vendorId:
  1030                        description: ID for the vendor of the USB Device, as given
  1031                          by usb.org
  1032                        type: string
  1033                    required:
  1034                    - productId
  1035                    - vendorId
  1036                    type: object
  1037                type: object
  1038              virtualMachineName:
  1039                description: |-
  1040                  Name of the VirtualMachineInstance we are providing USB redirection for.
  1041                  Use instead of OwnerReference. VMI must be in the same Namespace.
  1042                type: string
  1043            required:
  1044            - virtualMachineName
  1045            type: object
  1046          status:
  1047            properties:
  1048              conditions:
  1049                items:
  1050                  description: "Condition contains details for one aspect of the current
  1051                    state of this API Resource.\n---\nThis struct is intended for
  1052                    direct use as an array at the field path .status.conditions.  For
  1053                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
  1054                    observations of a foo's current state.\n\t    // Known .status.conditions.type
  1055                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
  1056                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
  1057                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
  1058                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
  1059                    \   // other fields\n\t}"
  1060                  properties:
  1061                    lastTransitionTime:
  1062                      description: |-
  1063                        lastTransitionTime is the last time the condition transitioned from one status to another.
  1064                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
  1065                      format: date-time
  1066                      type: string
  1067                    message:
  1068                      description: |-
  1069                        message is a human readable message indicating details about the transition.
  1070                        This may be an empty string.
  1071                      maxLength: 32768
  1072                      type: string
  1073                    observedGeneration:
  1074                      description: |-
  1075                        observedGeneration represents the .metadata.generation that the condition was set based upon.
  1076                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
  1077                        with respect to the current state of the instance.
  1078                      format: int64
  1079                      minimum: 0
  1080                      type: integer
  1081                    reason:
  1082                      description: |-
  1083                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
  1084                        Producers of specific condition types may define expected values and meanings for this field,
  1085                        and whether the values are considered a guaranteed API.
  1086                        The value should be a CamelCase string.
  1087                        This field may not be empty.
  1088                      maxLength: 1024
  1089                      minLength: 1
  1090                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  1091                      type: string
  1092                    status:
  1093                      description: status of the condition, one of True, False, Unknown.
  1094                      enum:
  1095                      - "True"
  1096                      - "False"
  1097                      - Unknown
  1098                      type: string
  1099                    type:
  1100                      description: |-
  1101                        type of condition in CamelCase or in foo.example.com/CamelCase.
  1102                        ---
  1103                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
  1104                        useful (see .node.status.conditions), the ability to deconflict is important.
  1105                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
  1106                      maxLength: 316
  1107                      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])$
  1108                      type: string
  1109                  required:
  1110                  - lastTransitionTime
  1111                  - message
  1112                  - reason
  1113                  - status
  1114                  - type
  1115                  type: object
  1116                type: array
  1117            type: object
  1118        required:
  1119        - spec
  1120        type: object
  1121    served: true
  1122    storage: true
  1123    subresources:
  1124      status: {}

View as plain text