{
  "kind": "s3client-provider-preset",
  "schemaVersion": {
    "major": 1,
    "minor": 0
  },
  "software": {
    "name": "S3Client",
    "website": "https://s3client.com"
  },
  "preset": {
    "id": "backblaze.b2",
    "name": "Backblaze B2",
    "serviceProfile": {
      "capabilities": [
        "get-bucket-object-lock-configuration",
        "enable-bucket-object-lock",
        "put-bucket-object-lock-configuration",
        "create-bucket-object-lock",
        "get-object-retention",
        "put-object-retention",
        "get-object-legal-hold",
        "put-object-legal-hold",
        "put-object-lock",
        "create-multipart-upload-object-lock",
        "copy-object-lock",
        "bypass-governance-retention",
        "presigned-url",
        "list-objects-v2",
        "list-objects-v2-start-after",
        "multipart-upload",
        "upload-part-copy",
        "conditional-copy-source",
        "conditional-upload-part-copy-source",
        "head-object-part-number",
        "list-multipart-uploads",
        "delete-multiple-objects",
        "delete-multiple-object-versions",
        "get-bucket-lifecycle-configuration",
        "delete-bucket-lifecycle",
        "sse-s3",
        "sse-c",
        "get-bucket-encryption",
        "put-bucket-encryption",
        "delete-bucket-encryption",
        "get-bucket-logging",
        "put-bucket-logging",
        "bucket-logging-target-object-key-format",
        "object-versions",
        "get-bucket-versioning",
        "put-bucket-lifecycle-configuration"
      ],
      "objectLockActivationToken": "1",
      "serverSideCopyDomain": "",
      "protocol": "https",
      "port": 443,
      "regions": [
        {
          "name": "US West (us-west-001)",
          "location": "us-west-001",
          "endpoint": "s3.us-west-001.backblazeb2.com",
          "authentication": "sigv4",
          "accessStyle": "path",
          "serverSideCopyDomain": "",
          "accountRegionalBucketNamespaceAvailable": false,
          "s3ControlRouting": {}
        },
        {
          "name": "US West (us-west-002)",
          "location": "us-west-002",
          "endpoint": "s3.us-west-002.backblazeb2.com",
          "authentication": "sigv4",
          "accessStyle": "path",
          "serverSideCopyDomain": "",
          "accountRegionalBucketNamespaceAvailable": false,
          "s3ControlRouting": {}
        },
        {
          "name": "US West (us-west-004)",
          "location": "us-west-004",
          "endpoint": "s3.us-west-004.backblazeb2.com",
          "authentication": "sigv4",
          "accessStyle": "path",
          "serverSideCopyDomain": "",
          "accountRegionalBucketNamespaceAvailable": false,
          "s3ControlRouting": {}
        },
        {
          "name": "US East (us-east-005)",
          "location": "us-east-005",
          "endpoint": "s3.us-east-005.backblazeb2.com",
          "authentication": "sigv4",
          "accessStyle": "path",
          "serverSideCopyDomain": "",
          "accountRegionalBucketNamespaceAvailable": false,
          "s3ControlRouting": {}
        },
        {
          "name": "EU Central (eu-central-003)",
          "location": "eu-central-003",
          "endpoint": "s3.eu-central-003.backblazeb2.com",
          "authentication": "sigv4",
          "accessStyle": "path",
          "serverSideCopyDomain": "",
          "accountRegionalBucketNamespaceAvailable": false,
          "s3ControlRouting": {}
        }
      ],
      "aclPolicy": {
        "activation": "enabled",
        "apiSupport": {
          "getBucketAcl": true,
          "putBucketAcl": true,
          "getObjectAcl": true,
          "putObjectAcl": false
        },
        "objectAclScope": {
          "get": "objectAndVersions",
          "put": "none"
        },
        "readSemantics": {
          "bucket": "storedExact",
          "object": "bucketProjection"
        },
        "operationPolicies": {
          "putBucketAcl": {
            "formSupport": {
              "cannedHeader": true,
              "grantHeaders": false,
              "xmlBody": false
            },
            "allowedCannedAcls": [
              "private",
              "public-read"
            ],
            "allowedPermissions": [],
            "allowedGroupGrantees": [],
            "preferredExplicitGrantEncoding": null
          },
          "putObject": {
            "formSupport": {
              "cannedHeader": false,
              "grantHeaders": false,
              "xmlBody": false
            },
            "allowedCannedAcls": [],
            "allowedPermissions": [],
            "allowedGroupGrantees": [],
            "preferredExplicitGrantEncoding": null
          },
          "copyObject": {
            "formSupport": {
              "cannedHeader": false,
              "grantHeaders": false,
              "xmlBody": false
            },
            "allowedCannedAcls": [],
            "allowedPermissions": [],
            "allowedGroupGrantees": [],
            "preferredExplicitGrantEncoding": null
          },
          "createMultipartUpload": {
            "formSupport": {
              "cannedHeader": false,
              "grantHeaders": false,
              "xmlBody": false
            },
            "allowedCannedAcls": [],
            "allowedPermissions": [],
            "allowedGroupGrantees": [],
            "preferredExplicitGrantEncoding": null
          },
          "putObjectAcl": {
            "formSupport": {
              "cannedHeader": false,
              "grantHeaders": false,
              "xmlBody": false
            },
            "allowedCannedAcls": [],
            "allowedPermissions": [],
            "allowedGroupGrantees": [],
            "preferredExplicitGrantEncoding": null
          }
        },
        "compatibility": {
          "ownerXmlPolicy": "omit",
          "maximumGrants": 100,
          "predefinedGroups": [],
          "ownershipControlsNotFoundErrorCodes": [],
          "ownershipControlsUnsupportedErrorCodes": [],
          "aclErrorRules": []
        }
      },
      "storageClassPolicySet": {
        "defaultPolicyId": "backblaze-standard",
        "policies": [
          {
            "id": "backblaze-standard",
            "defaultClassName": "STANDARD",
            "classes": [
              {
                "name": "STANDARD",
                "sameObjectStorageClassChange": false,
                "placementPaths": [
                  "putObject",
                  "createMultipartUpload",
                  "copyObject"
                ],
                "accessStrategy": "alwaysDirect",
                "restorePolicy": {
                  "semantics": "unsupported",
                  "days": {
                    "mode": "forbidden"
                  },
                  "retrievalTier": {
                    "mode": "forbidden",
                    "acceptedTiers": []
                  },
                  "versionSupported": false
                },
                "archiveStateHeaders": []
              }
            ],
            "transitions": [],
            "restoreStatusListingOperations": [],
            "intelligentTieringOperations": []
          }
        ],
        "bindings": []
      },
      "lifecycleCapabilityPolicySet": {
        "defaultPolicyId": "backblaze-lifecycle-read",
        "policies": [
          {
            "id": "backblaze-lifecycle-read",
            "filters": [
              "empty",
              "prefix"
            ],
            "combinedObjectSizeBounds": false,
            "currentExpirations": [
              "days",
              "expiredObjectDeleteMarker"
            ],
            "noncurrentVersions": [
              "expiration"
            ],
            "abortIncompleteMultipartUpload": true,
            "transitionTriggers": [],
            "combinations": [
              "multipleActionTypes"
            ],
            "transitionDefaultMinimumObjectSizeModes": [],
            "allowedRuleStatuses": [
              "enabled"
            ],
            "allowedVersioningStates": [
              "enabled"
            ],
            "pairedExpirationRules": true
          }
        ],
        "bindings": []
      },
      "bucketTaggingCapabilityPolicy": "unavailable",
      "objectTaggingCapabilityPolicy": {
        "readScope": "unavailable",
        "editingScope": "unavailable",
        "clearMethod": "deleteTagging",
        "contentOperations": [],
        "copyMode": "unavailable",
        "currentObjectVerification": "response-version-header"
      },
      "bucketLoggingCompatibilityPolicy": "strictS3",
      "websiteCapabilityPolicySet": {
        "defaultPolicyId": "backblaze-website-unavailable",
        "policies": [
          {
            "id": "backblaze-website-unavailable",
            "getBucketWebsite": false,
            "putBucketWebsite": false,
            "deleteBucketWebsite": false,
            "redirectAllRequestsTo": false,
            "routingRules": false
          }
        ],
        "bindings": []
      },
      "encryptionCapabilityPolicySet": {
        "defaultPolicyId": "backblaze-encryption",
        "policies": [
          {
            "id": "backblaze-encryption",
            "sseS3Operations": [
              "putObject",
              "createMultipartUpload",
              "copyObject"
            ],
            "sseKmsOperations": [],
            "dsseKmsOperations": [],
            "customerKeyOperations": [
              "putObject",
              "createMultipartUpload",
              "copyObject",
              "uploadPart",
              "uploadPartCopy",
              "getObject",
              "headObject"
            ],
            "customerCopySourceOperations": [
              "copyObject",
              "uploadPartCopy"
            ],
            "kmsContextOperations": [],
            "bucketKeyOperations": [],
            "bucketEncryptionModes": [
              "sse-s3"
            ],
            "blockedEncryptionTypes": false,
            "bucketKeyConfiguration": false,
            "updateBucketKeys": false
          }
        ],
        "bindings": []
      },
      "defaultRegionLocation": "us-west-004",
      "requestLimits": {
        "maximumPutHeaderBytes": 0,
        "maximumPostHeaderBytes": 0
      }
    }
  }
}
