{
  "description": "MonitoringConfig is the Schema for the monitoringconfigs API.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "MonitoringConfigSpec defines the desired state of MonitoringConfig.",
      "properties": {
        "allowedNamespaces": {
          "description": "AllowedNamespaces is the list of namespaces where the operator will copy secrets provided in the CredentialsSecretsName.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "credentialsSecretName": {
          "description": "CredentialsSecretName is the name of the secret with credentials.",
          "type": "string"
        },
        "pmm": {
          "description": "PMM is configuration for the PMM monitoring type.",
          "properties": {
            "image": {
              "description": "Image is a Docker image name to use for deploying PMM client. Defaults to using the latest version.",
              "type": "string"
            },
            "url": {
              "description": "URL is url to the monitoring instance.",
              "type": "string"
            }
          },
          "required": [
            "image",
            "url"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "type": {
          "description": "Type is type of monitoring.",
          "enum": [
            "pmm"
          ],
          "type": "string"
        },
        "verifyTLS": {
          "default": true,
          "description": "VerifyTLS is set to ensure TLS/SSL verification.\nIf unspecified, the default value is true.",
          "type": "boolean"
        }
      },
      "required": [
        "credentialsSecretName",
        "type"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "default": {
        "inUse": false
      },
      "description": "MonitoringConfigStatus defines the observed state of MonitoringConfig.",
      "properties": {
        "inUse": {
          "default": false,
          "description": "InUse is a flag that indicates if any DB cluster uses the monitoring config.",
          "type": "boolean"
        },
        "lastObservedGeneration": {
          "description": "LastObservedGeneration is the most recent generation observed for this MonitoringConfig.",
          "format": "int64",
          "type": "integer"
        },
        "pmmServerVersion": {
          "description": "PMMServerVersion shows PMM server version",
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
