{
  "properties": {
    "spec": {
      "properties": {
        "addTimestampToBackupDirectory": {
          "default": true,
          "type": "boolean"
        },
        "backupProfile": {
          "description": "backupProfile specification if backupProfileName is not specified",
          "properties": {
            "dumpInstance": {
              "properties": {
                "dumpOptions": {
                  "description": "A dictionary of key-value pairs passed directly to MySQL Shell's DumpInstance()",
                  "type": "object",
                  "x-kubernetes-preserve-unknown-fields": true
                },
                "storage": {
                  "properties": {
                    "azure": {
                      "properties": {
                        "config": {
                          "description": "Name of a Secret with Azure BLOB Storage configuration and credentials",
                          "type": "string"
                        },
                        "containerName": {
                          "description": "Name of the Azure  BLOB Storage container where the dump is stored",
                          "type": "string"
                        },
                        "prefix": {
                          "description": "Path in the container where the dump files are stored",
                          "type": "string"
                        }
                      },
                      "required": [
                        "containerName",
                        "config"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "ociObjectStorage": {
                      "properties": {
                        "bucketName": {
                          "description": "Name of the OCI bucket where backup is stored",
                          "type": "string"
                        },
                        "credentials": {
                          "description": "Name of a Secret with data for accessing the bucket",
                          "type": "string"
                        },
                        "prefix": {
                          "description": "Path in bucket where backup is stored",
                          "type": "string"
                        }
                      },
                      "required": [
                        "bucketName",
                        "credentials"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "persistentVolumeClaim": {
                      "description": "Specification of the PVC to be used. Used 'as is' in pod executing the backup.",
                      "type": "object",
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "s3": {
                      "properties": {
                        "bucketName": {
                          "description": "Name of the S3 bucket where the dump is stored",
                          "type": "string"
                        },
                        "config": {
                          "description": "Name of a Secret with S3 configuration and credentials",
                          "type": "string"
                        },
                        "endpoint": {
                          "description": "Override endpoint URL",
                          "type": "string"
                        },
                        "prefix": {
                          "description": "Path in the bucket where the dump files are stored",
                          "type": "string"
                        },
                        "profile": {
                          "default": "",
                          "description": "Profile being used in configuration files",
                          "type": "string"
                        }
                      },
                      "required": [
                        "bucketName",
                        "config"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "x-kubernetes-preserve-unknown-fields": true,
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "podAnnotations": {
              "type": "object",
              "x-kubernetes-preserve-unknown-fields": true
            },
            "podLabels": {
              "type": "object",
              "x-kubernetes-preserve-unknown-fields": true
            }
          },
          "type": "object",
          "x-kubernetes-preserve-unknown-fields": true,
          "additionalProperties": false
        },
        "backupProfileName": {
          "type": "string"
        },
        "clusterName": {
          "type": "string"
        },
        "deleteBackupData": {
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "clusterName"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "bucket": {
          "type": "string"
        },
        "completionTime": {
          "type": "string"
        },
        "container": {
          "type": "string"
        },
        "elapsedTime": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "ociTenancy": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "size": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "spaceAvailable": {
          "type": "string"
        },
        "startTime": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
