github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/dataprotection.kubeblocks.io_backups.yaml (about)

     1  apiVersion: apiextensions.k8s.io/v1
     2  kind: CustomResourceDefinition
     3  metadata:
     4    annotations:
     5      controller-gen.kubebuilder.io/version: v0.12.1
     6    labels:
     7      app.kubernetes.io/name: kubeblocks
     8    name: backups.dataprotection.kubeblocks.io
     9  spec:
    10    group: dataprotection.kubeblocks.io
    11    names:
    12      categories:
    13      - kubeblocks
    14      kind: Backup
    15      listKind: BackupList
    16      plural: backups
    17      singular: backup
    18    scope: Namespaced
    19    versions:
    20    - additionalPrinterColumns:
    21      - jsonPath: .spec.backupPolicyName
    22        name: POLICY
    23        type: string
    24      - jsonPath: .spec.backupMethod
    25        name: METHOD
    26        type: string
    27      - jsonPath: .status.backupRepoName
    28        name: REPO
    29        type: string
    30      - jsonPath: .status.phase
    31        name: STATUS
    32        type: string
    33      - jsonPath: .status.totalSize
    34        name: TOTAL-SIZE
    35        type: string
    36      - jsonPath: .status.duration
    37        name: DURATION
    38        type: string
    39      - jsonPath: .metadata.creationTimestamp
    40        name: CREATION-TIME
    41        type: string
    42      - jsonPath: .status.completionTimestamp
    43        name: COMPLETION-TIME
    44        type: string
    45      - jsonPath: .status.expiration
    46        name: EXPIRATION-TIME
    47        type: string
    48      name: v1alpha1
    49      schema:
    50        openAPIV3Schema:
    51          description: Backup is the Schema for the backups API.
    52          properties:
    53            apiVersion:
    54              description: 'APIVersion defines the versioned schema of this representation
    55                of an object. Servers should convert recognized schemas to the latest
    56                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    57              type: string
    58            kind:
    59              description: 'Kind is a string value representing the REST resource this
    60                object represents. Servers may infer this from the endpoint the client
    61                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    62              type: string
    63            metadata:
    64              type: object
    65            spec:
    66              description: BackupSpec defines the desired state of Backup.
    67              properties:
    68                backupMethod:
    69                  description: backupMethod specifies the backup method name that is
    70                    defined in backupPolicy.
    71                  type: string
    72                  x-kubernetes-validations:
    73                  - message: forbidden to update spec.backupMethod
    74                    rule: self == oldSelf
    75                backupPolicyName:
    76                  description: Which backupPolicy is applied to perform this backup.
    77                  pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
    78                  type: string
    79                  x-kubernetes-validations:
    80                  - message: forbidden to update spec.backupPolicyName
    81                    rule: self == oldSelf
    82                deletionPolicy:
    83                  allOf:
    84                  - enum:
    85                    - Delete
    86                    - Retain
    87                  - enum:
    88                    - Delete
    89                    - Retain
    90                  default: Delete
    91                  description: deletionPolicy determines whether the backup contents
    92                    stored in backup repository should be deleted when the backup custom
    93                    resource is deleted. Supported values are "Retain" and "Delete".
    94                    "Retain" means that the backup can not be deleted and remains in
    95                    'Deleting' phase. "Delete" means that the backup content and its
    96                    physical snapshot on backup repository are deleted.
    97                  type: string
    98                parentBackupName:
    99                  description: parentBackupName determines the parent backup name for
   100                    incremental or differential backup.
   101                  type: string
   102                  x-kubernetes-validations:
   103                  - message: forbidden to update spec.parentBackupName
   104                    rule: self == oldSelf
   105                retentionPeriod:
   106                  description: "retentionPeriod determines a duration up to which the
   107                    backup should be kept. Controller will remove all backups that are
   108                    older than the RetentionPeriod. For example, RetentionPeriod of
   109                    `30d` will keep only the backups of last 30 days. Sample duration
   110                    format: - years: \t2y - months: \t6mo - days: \t\t30d - hours: \t12h
   111                    - minutes: \t30m You can also combine the above durations. For example:
   112                    30d12h30m. If not set, the backup will be kept forever."
   113                  type: string
   114              required:
   115              - backupMethod
   116              - backupPolicyName
   117              type: object
   118            status:
   119              description: BackupStatus defines the observed state of Backup.
   120              properties:
   121                actions:
   122                  description: actions records the actions information for this backup.
   123                  items:
   124                    properties:
   125                      actionType:
   126                        description: actionType is the type of the action.
   127                        type: string
   128                      availableReplicas:
   129                        description: availableReplicas available replicas for statefulSet
   130                          action.
   131                        format: int32
   132                        type: integer
   133                      completionTimestamp:
   134                        description: completionTimestamp records the time an action
   135                          was completed.
   136                        format: date-time
   137                        type: string
   138                      failureReason:
   139                        description: failureReason is an error that caused the backup
   140                          to fail.
   141                        type: string
   142                      name:
   143                        description: name is the name of the action.
   144                        type: string
   145                      objectRef:
   146                        description: objectRef is the object reference for the action.
   147                        properties:
   148                          apiVersion:
   149                            description: API version of the referent.
   150                            type: string
   151                          fieldPath:
   152                            description: 'If referring to a piece of an object instead
   153                              of an entire object, this string should contain a valid
   154                              JSON/Go field access statement, such as desiredState.manifest.containers[2].
   155                              For example, if the object reference is to a container
   156                              within a pod, this would take on a value like: "spec.containers{name}"
   157                              (where "name" refers to the name of the container that
   158                              triggered the event) or if no container name is specified
   159                              "spec.containers[2]" (container with index 2 in this pod).
   160                              This syntax is chosen only to have some well-defined way
   161                              of referencing a part of an object. TODO: this design
   162                              is not final and this field is subject to change in the
   163                              future.'
   164                            type: string
   165                          kind:
   166                            description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   167                            type: string
   168                          name:
   169                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   170                            type: string
   171                          namespace:
   172                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   173                            type: string
   174                          resourceVersion:
   175                            description: 'Specific resourceVersion to which this reference
   176                              is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   177                            type: string
   178                          uid:
   179                            description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   180                            type: string
   181                        type: object
   182                        x-kubernetes-map-type: atomic
   183                      phase:
   184                        description: phase is the current state of the action.
   185                        type: string
   186                      startTimestamp:
   187                        description: startTimestamp records the time an action was started.
   188                        format: date-time
   189                        type: string
   190                      timeRange:
   191                        description: timeRange records the time range of backed up data,
   192                          for PITR, this is the time range of recoverable data.
   193                        properties:
   194                          end:
   195                            description: end records the end time of backup.
   196                            format: date-time
   197                            type: string
   198                          start:
   199                            description: start records the start time of backup.
   200                            format: date-time
   201                            type: string
   202                        type: object
   203                      totalSize:
   204                        description: totalSize is the total size of backed up data size.
   205                          A string with capacity units in the format of "1Gi", "1Mi",
   206                          "1Ki".
   207                        type: string
   208                      volumeSnapshots:
   209                        description: volumeSnapshots records the volume snapshot status
   210                          for the action.
   211                        items:
   212                          properties:
   213                            contentName:
   214                              description: contentName is the name of the volume snapshot
   215                                content.
   216                              type: string
   217                            name:
   218                              description: name is the name of the volume snapshot.
   219                              type: string
   220                            size:
   221                              description: size is the size of the volume snapshot.
   222                              type: string
   223                            volumeName:
   224                              description: volumeName is the name of the volume.
   225                              type: string
   226                          type: object
   227                        type: array
   228                    type: object
   229                  type: array
   230                backupMethod:
   231                  description: backupMethod records the backup method information for
   232                    this backup. Refer to BackupMethod for more details.
   233                  properties:
   234                    actionSetName:
   235                      description: actionSetName refers to the ActionSet object that
   236                        defines the backup actions. For volume snapshot backup, the
   237                        actionSet is not required, the controller will use the CSI volume
   238                        snapshotter to create the snapshot.
   239                      type: string
   240                    env:
   241                      description: env specifies the environment variables for the backup
   242                        workload.
   243                      items:
   244                        description: EnvVar represents an environment variable present
   245                          in a Container.
   246                        properties:
   247                          name:
   248                            description: Name of the environment variable. Must be a
   249                              C_IDENTIFIER.
   250                            type: string
   251                          value:
   252                            description: 'Variable references $(VAR_NAME) are expanded
   253                              using the previously defined environment variables in
   254                              the container and any service environment variables. If
   255                              a variable cannot be resolved, the reference in the input
   256                              string will be unchanged. Double $$ are reduced to a single
   257                              $, which allows for escaping the $(VAR_NAME) syntax: i.e.
   258                              "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
   259                              Escaped references will never be expanded, regardless
   260                              of whether the variable exists or not. Defaults to "".'
   261                            type: string
   262                          valueFrom:
   263                            description: Source for the environment variable's value.
   264                              Cannot be used if value is not empty.
   265                            properties:
   266                              configMapKeyRef:
   267                                description: Selects a key of a ConfigMap.
   268                                properties:
   269                                  key:
   270                                    description: The key to select.
   271                                    type: string
   272                                  name:
   273                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   274                                      TODO: Add other useful fields. apiVersion, kind,
   275                                      uid?'
   276                                    type: string
   277                                  optional:
   278                                    description: Specify whether the ConfigMap or its
   279                                      key must be defined
   280                                    type: boolean
   281                                required:
   282                                - key
   283                                type: object
   284                                x-kubernetes-map-type: atomic
   285                              fieldRef:
   286                                description: 'Selects a field of the pod: supports metadata.name,
   287                                  metadata.namespace, `metadata.labels[''<KEY>'']`,
   288                                  `metadata.annotations[''<KEY>'']`, spec.nodeName,
   289                                  spec.serviceAccountName, status.hostIP, status.podIP,
   290                                  status.podIPs.'
   291                                properties:
   292                                  apiVersion:
   293                                    description: Version of the schema the FieldPath
   294                                      is written in terms of, defaults to "v1".
   295                                    type: string
   296                                  fieldPath:
   297                                    description: Path of the field to select in the
   298                                      specified API version.
   299                                    type: string
   300                                required:
   301                                - fieldPath
   302                                type: object
   303                                x-kubernetes-map-type: atomic
   304                              resourceFieldRef:
   305                                description: 'Selects a resource of the container: only
   306                                  resources limits and requests (limits.cpu, limits.memory,
   307                                  limits.ephemeral-storage, requests.cpu, requests.memory
   308                                  and requests.ephemeral-storage) are currently supported.'
   309                                properties:
   310                                  containerName:
   311                                    description: 'Container name: required for volumes,
   312                                      optional for env vars'
   313                                    type: string
   314                                  divisor:
   315                                    anyOf:
   316                                    - type: integer
   317                                    - type: string
   318                                    description: Specifies the output format of the
   319                                      exposed resources, defaults to "1"
   320                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   321                                    x-kubernetes-int-or-string: true
   322                                  resource:
   323                                    description: 'Required: resource to select'
   324                                    type: string
   325                                required:
   326                                - resource
   327                                type: object
   328                                x-kubernetes-map-type: atomic
   329                              secretKeyRef:
   330                                description: Selects a key of a secret in the pod's
   331                                  namespace
   332                                properties:
   333                                  key:
   334                                    description: The key of the secret to select from.  Must
   335                                      be a valid secret key.
   336                                    type: string
   337                                  name:
   338                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   339                                      TODO: Add other useful fields. apiVersion, kind,
   340                                      uid?'
   341                                    type: string
   342                                  optional:
   343                                    description: Specify whether the Secret or its key
   344                                      must be defined
   345                                    type: boolean
   346                                required:
   347                                - key
   348                                type: object
   349                                x-kubernetes-map-type: atomic
   350                            type: object
   351                        required:
   352                        - name
   353                        type: object
   354                      type: array
   355                    name:
   356                      description: the name of backup method.
   357                      pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
   358                      type: string
   359                    runtimeSettings:
   360                      description: runtimeSettings specifies runtime settings for the
   361                        backup workload container.
   362                      properties:
   363                        resources:
   364                          description: 'resources specifies the resource required by
   365                            container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   366                          properties:
   367                            claims:
   368                              description: "Claims lists the names of resources, defined
   369                                in spec.resourceClaims, that are used by this container.
   370                                \n This is an alpha field and requires enabling the
   371                                DynamicResourceAllocation feature gate. \n This field
   372                                is immutable. It can only be set for containers."
   373                              items:
   374                                description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   375                                properties:
   376                                  name:
   377                                    description: Name must match the name of one entry
   378                                      in pod.spec.resourceClaims of the Pod where this
   379                                      field is used. It makes that resource available
   380                                      inside a container.
   381                                    type: string
   382                                required:
   383                                - name
   384                                type: object
   385                              type: array
   386                              x-kubernetes-list-map-keys:
   387                              - name
   388                              x-kubernetes-list-type: map
   389                            limits:
   390                              additionalProperties:
   391                                anyOf:
   392                                - type: integer
   393                                - type: string
   394                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   395                                x-kubernetes-int-or-string: true
   396                              description: 'Limits describes the maximum amount of compute
   397                                resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   398                              type: object
   399                            requests:
   400                              additionalProperties:
   401                                anyOf:
   402                                - type: integer
   403                                - type: string
   404                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   405                                x-kubernetes-int-or-string: true
   406                              description: 'Requests describes the minimum amount of
   407                                compute resources required. If Requests is omitted for
   408                                a container, it defaults to Limits if that is explicitly
   409                                specified, otherwise to an implementation-defined value.
   410                                Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   411                              type: object
   412                          type: object
   413                      type: object
   414                    snapshotVolumes:
   415                      default: false
   416                      description: snapshotVolumes specifies whether to take snapshots
   417                        of persistent volumes. if true, the BackupScript is not required,
   418                        the controller will use the CSI volume snapshotter to create
   419                        the snapshot.
   420                      type: boolean
   421                    targetVolumes:
   422                      description: targetVolumes specifies which volumes from the target
   423                        should be mounted in the backup workload.
   424                      properties:
   425                        volumeMounts:
   426                          description: volumeMounts specifies the mount for the volumes
   427                            specified in `Volumes` section.
   428                          items:
   429                            description: VolumeMount describes a mounting of a Volume
   430                              within a container.
   431                            properties:
   432                              mountPath:
   433                                description: Path within the container at which the
   434                                  volume should be mounted.  Must not contain ':'.
   435                                type: string
   436                              mountPropagation:
   437                                description: mountPropagation determines how mounts
   438                                  are propagated from the host to container and the
   439                                  other way around. When not set, MountPropagationNone
   440                                  is used. This field is beta in 1.10.
   441                                type: string
   442                              name:
   443                                description: This must match the Name of a Volume.
   444                                type: string
   445                              readOnly:
   446                                description: Mounted read-only if true, read-write otherwise
   447                                  (false or unspecified). Defaults to false.
   448                                type: boolean
   449                              subPath:
   450                                description: Path within the volume from which the container's
   451                                  volume should be mounted. Defaults to "" (volume's
   452                                  root).
   453                                type: string
   454                              subPathExpr:
   455                                description: Expanded path within the volume from which
   456                                  the container's volume should be mounted. Behaves
   457                                  similarly to SubPath but environment variable references
   458                                  $(VAR_NAME) are expanded using the container's environment.
   459                                  Defaults to "" (volume's root). SubPathExpr and SubPath
   460                                  are mutually exclusive.
   461                                type: string
   462                            required:
   463                            - mountPath
   464                            - name
   465                            type: object
   466                          type: array
   467                        volumes:
   468                          description: Volumes indicates the list of volumes of targeted
   469                            application that should be mounted on the backup job.
   470                          items:
   471                            type: string
   472                          type: array
   473                      type: object
   474                  required:
   475                  - name
   476                  type: object
   477                backupRepoName:
   478                  description: backupRepoName is the name of the backup repository.
   479                  type: string
   480                completionTimestamp:
   481                  description: completionTimestamp records the time a backup was completed.
   482                    Completion time is recorded even on failed backups. The server's
   483                    time is used for CompletionTimestamp.
   484                  format: date-time
   485                  type: string
   486                duration:
   487                  description: The duration time of backup execution. When converted
   488                    to a string, the format is "1h2m0.5s".
   489                  type: string
   490                expiration:
   491                  description: expiration is when this backup is eligible for garbage
   492                    collection. 'null' means the Backup will NOT be cleaned except delete
   493                    manual.
   494                  format: date-time
   495                  type: string
   496                failureReason:
   497                  description: failureReason is an error that caused the backup to fail.
   498                  type: string
   499                formatVersion:
   500                  description: formatVersion is the backup format version, including
   501                    major, minor and patch version.
   502                  type: string
   503                path:
   504                  description: path is the directory inside the backup repository where
   505                    the backup data is stored. It is an absolute path in the backup
   506                    repository.
   507                  type: string
   508                persistentVolumeClaimName:
   509                  description: persistentVolumeClaimName is the name of the persistent
   510                    volume claim that is used to store the backup data.
   511                  type: string
   512                phase:
   513                  description: phase is the current state of the Backup.
   514                  enum:
   515                  - New
   516                  - InProgress
   517                  - Running
   518                  - Completed
   519                  - Failed
   520                  - Deleting
   521                  type: string
   522                startTimestamp:
   523                  description: startTimestamp records the time a backup was started.
   524                    The server's time is used for StartTimestamp.
   525                  format: date-time
   526                  type: string
   527                target:
   528                  description: target records the target information for this backup.
   529                  properties:
   530                    connectionCredential:
   531                      description: connectionCredential specifies the connection credential
   532                        to connect to the target database cluster.
   533                      properties:
   534                        hostKey:
   535                          description: hostKey specifies the map key of the host in
   536                            the connection credential secret.
   537                          type: string
   538                        passwordKey:
   539                          default: password
   540                          description: passwordKey specifies the map key of the password
   541                            in the connection credential secret. This password will
   542                            be saved in the backup annotation for full backup. You can
   543                            use the environment variable DP_ENCRYPTION_KEY to specify
   544                            encryption key.
   545                          type: string
   546                        portKey:
   547                          description: portKey specifies the map key of the port in
   548                            the connection credential secret.
   549                          type: string
   550                        secretName:
   551                          description: secretName refers to the Secret object that contains
   552                            the connection credential.
   553                          pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
   554                          type: string
   555                        usernameKey:
   556                          default: username
   557                          description: usernameKey specifies the map key of the user
   558                            in the connection credential secret.
   559                          type: string
   560                      required:
   561                      - secretName
   562                      type: object
   563                    podSelector:
   564                      description: podSelector is used to find the target pod. The volumes
   565                        of the target pod will be backed up.
   566                      properties:
   567                        matchExpressions:
   568                          description: matchExpressions is a list of label selector
   569                            requirements. The requirements are ANDed.
   570                          items:
   571                            description: A label selector requirement is a selector
   572                              that contains values, a key, and an operator that relates
   573                              the key and values.
   574                            properties:
   575                              key:
   576                                description: key is the label key that the selector
   577                                  applies to.
   578                                type: string
   579                              operator:
   580                                description: operator represents a key's relationship
   581                                  to a set of values. Valid operators are In, NotIn,
   582                                  Exists and DoesNotExist.
   583                                type: string
   584                              values:
   585                                description: values is an array of string values. If
   586                                  the operator is In or NotIn, the values array must
   587                                  be non-empty. If the operator is Exists or DoesNotExist,
   588                                  the values array must be empty. This array is replaced
   589                                  during a strategic merge patch.
   590                                items:
   591                                  type: string
   592                                type: array
   593                            required:
   594                            - key
   595                            - operator
   596                            type: object
   597                          type: array
   598                        matchLabels:
   599                          additionalProperties:
   600                            type: string
   601                          description: matchLabels is a map of {key,value} pairs. A
   602                            single {key,value} in the matchLabels map is equivalent
   603                            to an element of matchExpressions, whose key field is "key",
   604                            the operator is "In", and the values array contains only
   605                            "value". The requirements are ANDed.
   606                          type: object
   607                        strategy:
   608                          default: Any
   609                          description: 'strategy specifies the strategy to select the
   610                            target pod when multiple pods are selected. Valid values
   611                            are: - Any: select any one pod that match the labelsSelector.'
   612                          enum:
   613                          - Any
   614                          type: string
   615                      type: object
   616                      x-kubernetes-map-type: atomic
   617                    resources:
   618                      description: resources specifies the kubernetes resources to back
   619                        up.
   620                      properties:
   621                        excluded:
   622                          description: excluded is a slice of namespaced-scoped resource
   623                            type names to exclude in the kubernetes resources. The default
   624                            value is empty.
   625                          items:
   626                            type: string
   627                          type: array
   628                        included:
   629                          default:
   630                          - '*'
   631                          description: included is a slice of namespaced-scoped resource
   632                            type names to include in the kubernetes resources. The default
   633                            value is "*", which means all resource types will be included.
   634                          items:
   635                            type: string
   636                          type: array
   637                        selector:
   638                          description: selector is a metav1.LabelSelector to filter
   639                            the target kubernetes resources that need to be backed up.
   640                            If not set, will do not back up any kubernetes resources.
   641                          properties:
   642                            matchExpressions:
   643                              description: matchExpressions is a list of label selector
   644                                requirements. The requirements are ANDed.
   645                              items:
   646                                description: A label selector requirement is a selector
   647                                  that contains values, a key, and an operator that
   648                                  relates the key and values.
   649                                properties:
   650                                  key:
   651                                    description: key is the label key that the selector
   652                                      applies to.
   653                                    type: string
   654                                  operator:
   655                                    description: operator represents a key's relationship
   656                                      to a set of values. Valid operators are In, NotIn,
   657                                      Exists and DoesNotExist.
   658                                    type: string
   659                                  values:
   660                                    description: values is an array of string values.
   661                                      If the operator is In or NotIn, the values array
   662                                      must be non-empty. If the operator is Exists or
   663                                      DoesNotExist, the values array must be empty.
   664                                      This array is replaced during a strategic merge
   665                                      patch.
   666                                    items:
   667                                      type: string
   668                                    type: array
   669                                required:
   670                                - key
   671                                - operator
   672                                type: object
   673                              type: array
   674                            matchLabels:
   675                              additionalProperties:
   676                                type: string
   677                              description: matchLabels is a map of {key,value} pairs.
   678                                A single {key,value} in the matchLabels map is equivalent
   679                                to an element of matchExpressions, whose key field is
   680                                "key", the operator is "In", and the values array contains
   681                                only "value". The requirements are ANDed.
   682                              type: object
   683                          type: object
   684                          x-kubernetes-map-type: atomic
   685                      type: object
   686                    serviceAccountName:
   687                      description: serviceAccountName specifies the service account
   688                        to run the backup workload.
   689                      type: string
   690                  type: object
   691                timeRange:
   692                  description: timeRange records the time range of backed up data, for
   693                    PITR, this is the time range of recoverable data.
   694                  properties:
   695                    end:
   696                      description: end records the end time of backup.
   697                      format: date-time
   698                      type: string
   699                    start:
   700                      description: start records the start time of backup.
   701                      format: date-time
   702                      type: string
   703                  type: object
   704                totalSize:
   705                  description: totalSize is the total size of backed up data size. A
   706                    string with capacity units in the format of "1Gi", "1Mi", "1Ki".
   707                    If no capacity unit is specified, it is assumed to be in bytes.
   708                  type: string
   709                volumeSnapshots:
   710                  description: volumeSnapshots records the volume snapshot status for
   711                    the action.
   712                  items:
   713                    properties:
   714                      contentName:
   715                        description: contentName is the name of the volume snapshot
   716                          content.
   717                        type: string
   718                      name:
   719                        description: name is the name of the volume snapshot.
   720                        type: string
   721                      size:
   722                        description: size is the size of the volume snapshot.
   723                        type: string
   724                      volumeName:
   725                        description: volumeName is the name of the volume.
   726                        type: string
   727                    type: object
   728                  type: array
   729              type: object
   730          type: object
   731      served: true
   732      storage: true
   733      subresources:
   734        status: {}