{
  "$schema" : "https://json-schema.org/draft/2020-12/schema",
  "$id" : "https://voltdb.com/voltsp/schemas/sink/s3",
  "title" : "S3 Sink Configuration",
  "description" : "The S3 sink writes data to an Amazon S3 bucket or compatible object storage service.\nIt uploads incoming byte arrays as objects to the specified bucket and prefix.\n\nEach object is stored with a unique key generated from the current timestamp and a UUID.\nThe content type of the objects can be configured.\n",
  "type" : "object",
  "properties" : {
    "s3" : {
      "type" : "object",
      "properties" : {
        "s3Resource" : {
          "description" : "Reference to the S3 client resource.",
          "anyOf" : [ {
            "type" : "string"
          }, {
            "$ref" : "resource-s3.schema.json#/properties/s3"
          } ]
        },
        "bucketName" : {
          "type" : "string",
          "description" : "The name of the S3 bucket to write objects to."
        },
        "prefix" : {
          "type" : "string",
          "description" : "The prefix to prepend to object keys. This can be used to organize objects in the bucket."
        }
      },
      "required" : [ "s3Resource", "bucketName" ],
      "additionalProperties" : false
    }
  },
  "required" : [ "s3" ],
  "additionalProperties" : false
}
