{
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "clusterName": {
          "type": "string"
        },
        "compressionLevel": {
          "type": "integer"
        },
        "compressionType": {
          "type": "string"
        },
        "startingDeadlineSeconds": {
          "default": 120,
          "format": "int64",
          "minimum": 1,
          "type": "integer"
        },
        "storageName": {
          "type": "string"
        },
        "type": {
          "enum": [
            "logical",
            "physical",
            "incremental",
            "incremental-base"
          ],
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "azure": {
          "properties": {
            "container": {
              "type": "string"
            },
            "credentialsSecret": {
              "type": "string"
            },
            "endpointUrl": {
              "type": "string"
            },
            "prefix": {
              "type": "string"
            }
          },
          "required": [
            "credentialsSecret"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "completed": {
          "format": "date-time",
          "type": "string"
        },
        "destination": {
          "type": "string"
        },
        "error": {
          "type": "string"
        },
        "filesystem": {
          "properties": {
            "path": {
              "type": "string"
            }
          },
          "required": [
            "path"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "gcs": {
          "properties": {
            "bucket": {
              "type": "string"
            },
            "chunkSize": {
              "type": "integer"
            },
            "credentialsSecret": {
              "type": "string"
            },
            "prefix": {
              "type": "string"
            },
            "retryer": {
              "properties": {
                "backoffInitial": {
                  "format": "int64",
                  "type": "integer"
                },
                "backoffMax": {
                  "format": "int64",
                  "type": "integer"
                },
                "backoffMultiplier": {
                  "type": "number"
                }
              },
              "required": [
                "backoffInitial",
                "backoffMax",
                "backoffMultiplier"
              ],
              "type": "object",
              "additionalProperties": false
            }
          },
          "required": [
            "bucket",
            "credentialsSecret"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "lastTransition": {
          "format": "date-time",
          "type": "string"
        },
        "lastWriteAt": {
          "format": "date-time",
          "type": "string"
        },
        "latestRestorableTime": {
          "format": "date-time",
          "type": "string"
        },
        "minio": {
          "properties": {
            "bucket": {
              "type": "string"
            },
            "caBundle": {
              "properties": {
                "key": {
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "type": "string"
                },
                "optional": {
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            },
            "credentialsSecret": {
              "type": "string"
            },
            "debugTrace": {
              "type": "boolean"
            },
            "endpointUrl": {
              "type": "string"
            },
            "forcePathStyle": {
              "type": "boolean"
            },
            "insecureSkipTLSVerify": {
              "type": "boolean"
            },
            "partSize": {
              "format": "int64",
              "type": "integer"
            },
            "prefix": {
              "type": "string"
            },
            "region": {
              "type": "string"
            },
            "retryer": {
              "properties": {
                "numMaxRetries": {
                  "type": "integer"
                }
              },
              "required": [
                "numMaxRetries"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "secure": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "pbmName": {
          "type": "string"
        },
        "pbmPod": {
          "type": "string"
        },
        "pbmPods": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "replsetNames": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "s3": {
          "properties": {
            "bucket": {
              "type": "string"
            },
            "credentialsSecret": {
              "type": "string"
            },
            "debugLogLevels": {
              "type": "string"
            },
            "endpointUrl": {
              "type": "string"
            },
            "forcePathStyle": {
              "type": "boolean"
            },
            "insecureSkipTLSVerify": {
              "type": "boolean"
            },
            "maxUploadParts": {
              "format": "int32",
              "type": "integer"
            },
            "prefix": {
              "type": "string"
            },
            "region": {
              "type": "string"
            },
            "retryer": {
              "properties": {
                "maxRetryDelay": {
                  "type": "string"
                },
                "minRetryDelay": {
                  "type": "string"
                },
                "numMaxRetries": {
                  "type": "integer"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "serverSideEncryption": {
              "properties": {
                "kmsKeyID": {
                  "type": "string"
                },
                "sseAlgorithm": {
                  "type": "string"
                },
                "sseCustomerAlgorithm": {
                  "type": "string"
                },
                "sseCustomerKey": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "storageClass": {
              "type": "string"
            },
            "uploadPartSize": {
              "type": "integer"
            }
          },
          "required": [
            "bucket"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "size": {
          "type": "string"
        },
        "start": {
          "format": "date-time",
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "storageName": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
