{
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "backupName": {
          "type": "string"
        },
        "backupSource": {
          "properties": {
            "azure": {
              "properties": {
                "blockSize": {
                  "format": "int64",
                  "type": "integer"
                },
                "concurrency": {
                  "type": "integer"
                },
                "container": {
                  "type": "string"
                },
                "credentialsSecret": {
                  "type": "string"
                },
                "endpointUrl": {
                  "type": "string"
                },
                "storageClass": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "completed": {
              "format": "date-time",
              "type": "string"
            },
            "conditions": {
              "items": {
                "properties": {
                  "lastTransitionTime": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "message": {
                    "maxLength": 32768,
                    "type": "string"
                  },
                  "observedGeneration": {
                    "format": "int64",
                    "minimum": 0,
                    "type": "integer"
                  },
                  "reason": {
                    "maxLength": 1024,
                    "minLength": 1,
                    "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "True",
                      "False",
                      "Unknown"
                    ],
                    "type": "string"
                  },
                  "type": {
                    "maxLength": 316,
                    "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])$",
                    "type": "string"
                  }
                },
                "required": [
                  "lastTransitionTime",
                  "message",
                  "reason",
                  "status",
                  "type"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "destination": {
              "type": "string"
            },
            "error": {
              "type": "string"
            },
            "image": {
              "type": "string"
            },
            "lastscheduled": {
              "format": "date-time",
              "type": "string"
            },
            "latestRestorableTime": {
              "format": "date-time",
              "type": "string"
            },
            "pvc": {
              "properties": {
                "accessModes": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "dataSource": {
                  "properties": {
                    "apiGroup": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "kind",
                    "name"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                },
                "dataSourceRef": {
                  "properties": {
                    "apiGroup": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "namespace": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "kind",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "resources": {
                  "properties": {
                    "limits": {
                      "additionalProperties": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "string"
                          }
                        ],
                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                        "x-kubernetes-int-or-string": true
                      },
                      "type": "object"
                    },
                    "requests": {
                      "additionalProperties": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "string"
                          }
                        ],
                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                        "x-kubernetes-int-or-string": true
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "selector": {
                  "properties": {
                    "matchExpressions": {
                      "items": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "operator": {
                            "type": "string"
                          },
                          "values": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          }
                        },
                        "required": [
                          "key",
                          "operator"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "matchLabels": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                },
                "storageClassName": {
                  "type": "string"
                },
                "volumeAttributesClassName": {
                  "type": "string"
                },
                "volumeMode": {
                  "type": "string"
                },
                "volumeName": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "s3": {
              "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"
                },
                "endpointUrl": {
                  "type": "string"
                },
                "region": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "sslInternalSecretName": {
              "type": "string"
            },
            "sslSecretName": {
              "type": "string"
            },
            "state": {
              "type": "string"
            },
            "storage_type": {
              "type": "string"
            },
            "storageName": {
              "type": "string"
            },
            "vaultSecretName": {
              "type": "string"
            },
            "verifyTLS": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "containerOptions": {
          "properties": {
            "args": {
              "properties": {
                "xbcloud": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "xbstream": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "xtrabackup": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "env": {
              "items": {
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  },
                  "valueFrom": {
                    "properties": {
                      "configMapKeyRef": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "fieldRef": {
                        "properties": {
                          "apiVersion": {
                            "type": "string"
                          },
                          "fieldPath": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "fieldPath"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "fileKeyRef": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "optional": {
                            "default": false,
                            "type": "boolean"
                          },
                          "path": {
                            "type": "string"
                          },
                          "volumeName": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "key",
                          "path",
                          "volumeName"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "resourceFieldRef": {
                        "properties": {
                          "containerName": {
                            "type": "string"
                          },
                          "divisor": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "string"
                              }
                            ],
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "x-kubernetes-int-or-string": true
                          },
                          "resource": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "resource"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secretKeyRef": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "pitr": {
          "properties": {
            "backupSource": {
              "properties": {
                "azure": {
                  "properties": {
                    "blockSize": {
                      "format": "int64",
                      "type": "integer"
                    },
                    "concurrency": {
                      "type": "integer"
                    },
                    "container": {
                      "type": "string"
                    },
                    "credentialsSecret": {
                      "type": "string"
                    },
                    "endpointUrl": {
                      "type": "string"
                    },
                    "storageClass": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "completed": {
                  "format": "date-time",
                  "type": "string"
                },
                "conditions": {
                  "items": {
                    "properties": {
                      "lastTransitionTime": {
                        "format": "date-time",
                        "type": "string"
                      },
                      "message": {
                        "maxLength": 32768,
                        "type": "string"
                      },
                      "observedGeneration": {
                        "format": "int64",
                        "minimum": 0,
                        "type": "integer"
                      },
                      "reason": {
                        "maxLength": 1024,
                        "minLength": 1,
                        "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
                        "type": "string"
                      },
                      "status": {
                        "enum": [
                          "True",
                          "False",
                          "Unknown"
                        ],
                        "type": "string"
                      },
                      "type": {
                        "maxLength": 316,
                        "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])$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "lastTransitionTime",
                      "message",
                      "reason",
                      "status",
                      "type"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "destination": {
                  "type": "string"
                },
                "error": {
                  "type": "string"
                },
                "image": {
                  "type": "string"
                },
                "lastscheduled": {
                  "format": "date-time",
                  "type": "string"
                },
                "latestRestorableTime": {
                  "format": "date-time",
                  "type": "string"
                },
                "pvc": {
                  "properties": {
                    "accessModes": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "dataSource": {
                      "properties": {
                        "apiGroup": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "kind",
                        "name"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "dataSourceRef": {
                      "properties": {
                        "apiGroup": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "namespace": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "kind",
                        "name"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "resources": {
                      "properties": {
                        "limits": {
                          "additionalProperties": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "string"
                              }
                            ],
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "x-kubernetes-int-or-string": true
                          },
                          "type": "object"
                        },
                        "requests": {
                          "additionalProperties": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "string"
                              }
                            ],
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "x-kubernetes-int-or-string": true
                          },
                          "type": "object"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "selector": {
                      "properties": {
                        "matchExpressions": {
                          "items": {
                            "properties": {
                              "key": {
                                "type": "string"
                              },
                              "operator": {
                                "type": "string"
                              },
                              "values": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              }
                            },
                            "required": [
                              "key",
                              "operator"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "atomic"
                        },
                        "matchLabels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "type": "object"
                        }
                      },
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "storageClassName": {
                      "type": "string"
                    },
                    "volumeAttributesClassName": {
                      "type": "string"
                    },
                    "volumeMode": {
                      "type": "string"
                    },
                    "volumeName": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "s3": {
                  "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"
                    },
                    "endpointUrl": {
                      "type": "string"
                    },
                    "region": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "sslInternalSecretName": {
                  "type": "string"
                },
                "sslSecretName": {
                  "type": "string"
                },
                "state": {
                  "type": "string"
                },
                "storage_type": {
                  "type": "string"
                },
                "storageName": {
                  "type": "string"
                },
                "vaultSecretName": {
                  "type": "string"
                },
                "verifyTLS": {
                  "type": "boolean"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "date": {
              "type": "string"
            },
            "gtid": {
              "type": "string"
            },
            "type": {
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "pxcCluster": {
          "type": "string"
        },
        "resources": {
          "properties": {
            "claims": {
              "items": {
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "request": {
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array",
              "x-kubernetes-list-map-keys": [
                "name"
              ],
              "x-kubernetes-list-type": "map"
            },
            "limits": {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "string"
                  }
                ],
                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                "x-kubernetes-int-or-string": true
              },
              "type": "object"
            },
            "requests": {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "string"
                  }
                ],
                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                "x-kubernetes-int-or-string": true
              },
              "type": "object"
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "clusterSize": {
          "format": "int32",
          "type": "integer"
        },
        "comments": {
          "type": "string"
        },
        "completed": {
          "format": "date-time",
          "type": "string"
        },
        "haproxySize": {
          "format": "int32",
          "type": "integer"
        },
        "lastscheduled": {
          "format": "date-time",
          "type": "string"
        },
        "proxysqlSize": {
          "format": "int32",
          "type": "integer"
        },
        "state": {
          "type": "string"
        },
        "unsafeFlags": {
          "properties": {
            "backupIfUnhealthy": {
              "type": "boolean"
            },
            "proxySize": {
              "type": "boolean"
            },
            "pxcSize": {
              "type": "boolean"
            },
            "tls": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
