{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-msk/json-schema/amazon-msk-update-monitoring-request-schema.json",
  "title": "UpdateMonitoringRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-msk-clusters-api-openapi.yml#/components/schemas/UpdateMonitoringRequest",
  "type": "object",
  "properties": {
    "ClusterArn": {
      "type": "string",
      "description": "The Amazon Resource Name (ARN) that uniquely identifies the cluster."
    },
    "CurrentVersion": {
      "type": "string",
      "description": "The version of the MSK cluster to update. Cluster versions aren't simple numbers. You can describe an MSK cluster to find its version. When this update operation is successful, it generates a new cluster version."
    },
    "EnhancedMonitoring": {
      "type": "string",
      "enum": [
        "DEFAULT",
        "PER_BROKER",
        "PER_TOPIC_PER_BROKER",
        "PER_TOPIC_PER_PARTITION"
      ],
      "description": "Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster."
    },
    "OpenMonitoring": {
      "$ref": "#/$defs/OpenMonitoringInfo"
    },
    "LoggingInfo": {
      "$ref": "#/$defs/LoggingInfo"
    }
  },
  "required": [
    "ClusterArn",
    "CurrentVersion"
  ],
  "$defs": {
    "AuthorizerLogs": {
      "type": "object",
      "properties": {
        "CloudWatchLogs": {
          "$ref": "#/$defs/CloudWatchLogs"
        },
        "Firehose": {
          "$ref": "#/$defs/Firehose"
        },
        "S3": {
          "$ref": "#/$defs/S3"
        }
      }
    },
    "BrokerLogs": {
      "type": "object",
      "properties": {
        "CloudWatchLogs": {
          "$ref": "#/$defs/CloudWatchLogs"
        },
        "Firehose": {
          "$ref": "#/$defs/Firehose"
        },
        "S3": {
          "$ref": "#/$defs/S3"
        }
      }
    },
    "CloudWatchLogs": {
      "type": "object",
      "properties": {
        "Enabled": {
          "type": "boolean"
        },
        "LogGroup": {
          "type": "string"
        }
      },
      "required": [
        "Enabled"
      ]
    },
    "Firehose": {
      "type": "object",
      "properties": {
        "DeliveryStream": {
          "type": "string"
        },
        "Enabled": {
          "type": "boolean"
        }
      },
      "required": [
        "Enabled"
      ]
    },
    "JmxExporterInfo": {
      "type": "object",
      "properties": {
        "EnabledInBroker": {
          "type": "boolean",
          "description": "Indicates whether you want to turn on or turn off the JMX Exporter."
        }
      },
      "required": [
        "EnabledInBroker"
      ]
    },
    "LoggingInfo": {
      "type": "object",
      "properties": {
        "AuthorizerLogs": {
          "$ref": "#/$defs/AuthorizerLogs"
        },
        "BrokerLogs": {
          "$ref": "#/$defs/BrokerLogs"
        }
      },
      "required": [
        "BrokerLogs"
      ]
    },
    "NodeExporterInfo": {
      "type": "object",
      "properties": {
        "EnabledInBroker": {
          "type": "boolean",
          "description": "Indicates whether you want to turn on or turn off the Node Exporter."
        }
      },
      "required": [
        "EnabledInBroker"
      ]
    },
    "OpenMonitoringInfo": {
      "type": "object",
      "properties": {
        "Prometheus": {
          "$ref": "#/$defs/PrometheusInfo"
        }
      },
      "required": [
        "Prometheus"
      ]
    },
    "PrometheusInfo": {
      "type": "object",
      "properties": {
        "JmxExporter": {
          "$ref": "#/$defs/JmxExporterInfo"
        },
        "NodeExporter": {
          "$ref": "#/$defs/NodeExporterInfo"
        }
      }
    },
    "S3": {
      "type": "object",
      "properties": {
        "Bucket": {
          "type": "string"
        },
        "Enabled": {
          "type": "boolean"
        },
        "Prefix": {
          "type": "string"
        }
      },
      "required": [
        "Enabled"
      ]
    }
  }
}