{ "$schema": "../schema/vector.schema.json", "vectors": [ { "id": "misc-0001", "group": "misc", "kind": "api", "title": "Requests with a wrong ExpectedBucketOwner are denied even on a public bucket", "description": "The source test uses the main user's id with 'foo' appended as the incorrect owner; the main account id is not referenceable in vectors, so a fixed wrong account id is used instead.", "tags": [ "tier-3", "misc", "errors", "acl", "anon-access", "source:ceph-s3-tests" ], "source": "https://github.com/ceph/s3-tests/blob/5522d1c351f75bc00ae0f64f742f3f095f5939d9/s3tests/functional/test_s3.py#L1719", "prerequisites": [ { "$bucket": { "handle": "b1" } } ], "steps": [ { "$operation": { "name": "PutBucketAcl", "params": { "Bucket": "${res.b1.name}", "ACL": "public-read-write" } } }, { "$operation": { "name": "ListObjects", "params": { "Bucket": "${res.b1.name}" } } }, { "$operation": { "name": "PutObject", "params": { "Bucket": "${res.b1.name}", "Key": "foo", "Body": "bar" } } }, { "$operation": { "name": "ListObjects", "params": { "Bucket": "${res.b1.name}", "ExpectedBucketOwner": "111111111111" }, "identity": "anonymous", "expect": { "status": 403, "error": "AccessDenied" } } }, { "$operation": { "name": "PutObject", "params": { "Bucket": "${res.b1.name}", "Key": "bar", "Body": "coffee", "ExpectedBucketOwner": "111111111111" }, "identity": "anonymous", "expect": { "status": 403, "error": "AccessDenied" } } } ] }, { "id": "misc-0002", "group": "misc", "kind": "api", "title": "GetObject with PartNumber on a non-multipart object: part 2 fails, part 1 returns the whole object", "tags": [ "tier-1", "misc", "errors", "source:ceph-s3-tests" ], "source": "https://github.com/ceph/s3-tests/blob/5522d1c351f75bc00ae0f64f742f3f095f5939d9/s3tests/functional/test_s3.py#L6765", "prerequisites": [ { "$bucket": { "handle": "b1" } } ], "steps": [ { "$operation": { "name": "PutObject", "params": { "Bucket": "${res.b1.name}", "Key": "singlepart", "Body": "body" }, "capture": { "etag": "ETag" } } }, { "$operation": { "name": "GetObject", "params": { "Bucket": "${res.b1.name}", "Key": "singlepart", "PartNumber": 2 }, "expect": { "status": 416, "error": "InvalidPartNumber" } } }, { "$operation": { "name": "GetObject", "params": { "Bucket": "${res.b1.name}", "Key": "singlepart", "PartNumber": 1 }, "expect": { "response": { "ETag": "${cap.etag}" }, "body": "body" } } } ] }, { "id": "misc-0003", "group": "misc", "kind": "api", "title": "GetObject with PartNumber on a non-multipart SSE-C object: part 2 fails, part 1 returns the whole object", "tags": [ "tier-1", "misc", "sse", "errors", "source:ceph-s3-tests" ], "source": "https://github.com/ceph/s3-tests/blob/5522d1c351f75bc00ae0f64f742f3f095f5939d9/s3tests/functional/test_s3.py#L6786", "prerequisites": [ { "$bucket": { "handle": "b1" } } ], "steps": [ { "$operation": { "name": "PutObject", "params": { "Bucket": "${res.b1.name}", "Key": "singlepart", "Body": "body", "SSECustomerAlgorithm": "AES256", "SSECustomerKey": "pO3upElrwuEXSoFwCfnZPdSsmt/xWeFa0N9KgDijwVs=", "SSECustomerKeyMD5": "DWygnHRtgiJ77HCm+1rvHw==" }, "capture": { "etag": "ETag" } } }, { "$operation": { "name": "GetObject", "params": { "Bucket": "${res.b1.name}", "Key": "singlepart", "PartNumber": 2, "SSECustomerAlgorithm": "AES256", "SSECustomerKey": "pO3upElrwuEXSoFwCfnZPdSsmt/xWeFa0N9KgDijwVs=", "SSECustomerKeyMD5": "DWygnHRtgiJ77HCm+1rvHw==" }, "expect": { "status": 416, "error": "InvalidPartNumber" } } }, { "$operation": { "name": "GetObject", "params": { "Bucket": "${res.b1.name}", "Key": "singlepart", "PartNumber": 1, "SSECustomerAlgorithm": "AES256", "SSECustomerKey": "pO3upElrwuEXSoFwCfnZPdSsmt/xWeFa0N9KgDijwVs=", "SSECustomerKeyMD5": "DWygnHRtgiJ77HCm+1rvHw==" }, "expect": { "response": { "ETag": "${cap.etag}" }, "body": "body" } } } ] }, { "id": "misc-0004", "group": "misc", "kind": "api", "title": "GetObjectAttributes on a 6-part multipart object reports size, parts and composite ETag", "tags": [ "tier-3", "misc", "multipart", "source:ceph-s3-tests" ], "source": "https://github.com/ceph/s3-tests/blob/5522d1c351f75bc00ae0f64f742f3f095f5939d9/s3tests/functional/test_s3.py#L19090", "prerequisites": [ { "$bucket": { "handle": "b1" } } ], "data": { "obj": { "$prng": { "seed": "misc-0004/obj", "size": 31457280 } }, "p1": { "$slice": { "of": "obj", "offset": 0, "length": 5242880 } }, "p2": { "$slice": { "of": "obj", "offset": 5242880, "length": 5242880 } }, "p3": { "$slice": { "of": "obj", "offset": 10485760, "length": 5242880 } }, "p4": { "$slice": { "of": "obj", "offset": 15728640, "length": 5242880 } }, "p5": { "$slice": { "of": "obj", "offset": 20971520, "length": 5242880 } }, "p6": { "$slice": { "of": "obj", "offset": 26214400, "length": 5242880 } } }, "steps": [ { "$operation": { "name": "CreateMultipartUpload", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "ChecksumAlgorithm": "SHA256", "ChecksumType": "COMPOSITE" }, "capture": { "uploadId": "UploadId" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 1, "Body": { "$data": "p1" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p1.sha256B64}" }, "capture": { "etag1": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 2, "Body": { "$data": "p2" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p2.sha256B64}" }, "capture": { "etag2": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 3, "Body": { "$data": "p3" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p3.sha256B64}" }, "capture": { "etag3": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 4, "Body": { "$data": "p4" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p4.sha256B64}" }, "capture": { "etag4": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 5, "Body": { "$data": "p5" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p5.sha256B64}" }, "capture": { "etag5": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 6, "Body": { "$data": "p6" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p6.sha256B64}" }, "capture": { "etag6": "ETag" } } }, { "$operation": { "name": "CompleteMultipartUpload", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "MultipartUpload": { "Parts": [ { "PartNumber": 1, "ETag": "${cap.etag1}", "ChecksumSHA256": "${data.p1.sha256B64}" }, { "PartNumber": 2, "ETag": "${cap.etag2}", "ChecksumSHA256": "${data.p2.sha256B64}" }, { "PartNumber": 3, "ETag": "${cap.etag3}", "ChecksumSHA256": "${data.p3.sha256B64}" }, { "PartNumber": 4, "ETag": "${cap.etag4}", "ChecksumSHA256": "${data.p4.sha256B64}" }, { "PartNumber": 5, "ETag": "${cap.etag5}", "ChecksumSHA256": "${data.p5.sha256B64}" }, { "PartNumber": 6, "ETag": "${cap.etag6}", "ChecksumSHA256": "${data.p6.sha256B64}" } ] } } } }, { "$operation": { "name": "GetObjectAttributes", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "ObjectAttributes": [ "ETag", "Checksum", "ObjectParts", "StorageClass", "ObjectSize" ] }, "expect": { "response": { "ObjectSize": 31457280, "ETag": { "$matches": "-6$" }, "StorageClass": "STANDARD", "ObjectParts": { "TotalPartsCount": 6, "PartNumberMarker": 0, "MaxParts": 1000, "NextPartNumberMarker": 6, "IsTruncated": false, "Parts": [ { "PartNumber": 1, "Size": 5242880, "ChecksumSHA256": "${data.p1.sha256B64}" }, { "PartNumber": 2, "Size": 5242880, "ChecksumSHA256": "${data.p2.sha256B64}" }, { "PartNumber": 3, "Size": 5242880, "ChecksumSHA256": "${data.p3.sha256B64}" }, { "PartNumber": 4, "Size": 5242880, "ChecksumSHA256": "${data.p4.sha256B64}" }, { "PartNumber": 5, "Size": 5242880, "ChecksumSHA256": "${data.p5.sha256B64}" }, { "PartNumber": 6, "Size": 5242880, "ChecksumSHA256": "${data.p6.sha256B64}" } ] } } } } } ] }, { "id": "misc-0005", "group": "misc", "kind": "api", "title": "GetObjectAttributes paginates the multipart part list with MaxParts and PartNumberMarker", "tags": [ "tier-3", "misc", "multipart", "source:ceph-s3-tests" ], "source": "https://github.com/ceph/s3-tests/blob/5522d1c351f75bc00ae0f64f742f3f095f5939d9/s3tests/functional/test_s3.py#L19126", "prerequisites": [ { "$bucket": { "handle": "b1" } } ], "data": { "obj": { "$prng": { "seed": "misc-0005/obj", "size": 31457280 } }, "p1": { "$slice": { "of": "obj", "offset": 0, "length": 5242880 } }, "p2": { "$slice": { "of": "obj", "offset": 5242880, "length": 5242880 } }, "p3": { "$slice": { "of": "obj", "offset": 10485760, "length": 5242880 } }, "p4": { "$slice": { "of": "obj", "offset": 15728640, "length": 5242880 } }, "p5": { "$slice": { "of": "obj", "offset": 20971520, "length": 5242880 } }, "p6": { "$slice": { "of": "obj", "offset": 26214400, "length": 5242880 } } }, "steps": [ { "$operation": { "name": "CreateMultipartUpload", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "ChecksumAlgorithm": "SHA256", "ChecksumType": "COMPOSITE" }, "capture": { "uploadId": "UploadId" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 1, "Body": { "$data": "p1" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p1.sha256B64}" }, "capture": { "etag1": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 2, "Body": { "$data": "p2" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p2.sha256B64}" }, "capture": { "etag2": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 3, "Body": { "$data": "p3" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p3.sha256B64}" }, "capture": { "etag3": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 4, "Body": { "$data": "p4" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p4.sha256B64}" }, "capture": { "etag4": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 5, "Body": { "$data": "p5" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p5.sha256B64}" }, "capture": { "etag5": "ETag" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 6, "Body": { "$data": "p6" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.p6.sha256B64}" }, "capture": { "etag6": "ETag" } } }, { "$operation": { "name": "CompleteMultipartUpload", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "MultipartUpload": { "Parts": [ { "PartNumber": 1, "ETag": "${cap.etag1}", "ChecksumSHA256": "${data.p1.sha256B64}" }, { "PartNumber": 2, "ETag": "${cap.etag2}", "ChecksumSHA256": "${data.p2.sha256B64}" }, { "PartNumber": 3, "ETag": "${cap.etag3}", "ChecksumSHA256": "${data.p3.sha256B64}" }, { "PartNumber": 4, "ETag": "${cap.etag4}", "ChecksumSHA256": "${data.p4.sha256B64}" }, { "PartNumber": 5, "ETag": "${cap.etag5}", "ChecksumSHA256": "${data.p5.sha256B64}" }, { "PartNumber": 6, "ETag": "${cap.etag6}", "ChecksumSHA256": "${data.p6.sha256B64}" } ] } } } }, { "$operation": { "name": "GetObjectAttributes", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "ObjectAttributes": [ "ETag", "Checksum", "ObjectParts", "StorageClass", "ObjectSize" ], "MaxParts": 1, "PartNumberMarker": 3 }, "expect": { "response": { "ObjectSize": 31457280, "ETag": { "$matches": "-6$" }, "StorageClass": "STANDARD", "ObjectParts": { "TotalPartsCount": 6, "PartNumberMarker": 3, "MaxParts": 1, "NextPartNumberMarker": 4, "IsTruncated": true, "Parts": [ { "PartNumber": 4, "Size": 5242880, "ChecksumSHA256": "${data.p4.sha256B64}" } ] } } } } }, { "$operation": { "name": "GetObjectAttributes", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "ObjectAttributes": [ "ETag", "Checksum", "ObjectParts", "StorageClass", "ObjectSize" ], "MaxParts": 10, "PartNumberMarker": 4 }, "expect": { "response": { "ObjectSize": 31457280, "ETag": { "$matches": "-6$" }, "StorageClass": "STANDARD", "ObjectParts": { "TotalPartsCount": 6, "PartNumberMarker": 4, "MaxParts": 10, "NextPartNumberMarker": 6, "IsTruncated": false, "Parts": [ { "PartNumber": 5, "Size": 5242880, "ChecksumSHA256": "${data.p5.sha256B64}" }, { "PartNumber": 6, "Size": 5242880, "ChecksumSHA256": "${data.p6.sha256B64}" } ] } } } } } ] }, { "id": "misc-0006", "group": "misc", "kind": "api", "title": "GetObjectAttributes on a single-part multipart object lists one part", "tags": [ "tier-3", "misc", "multipart", "source:ceph-s3-tests" ], "source": "https://github.com/ceph/s3-tests/blob/5522d1c351f75bc00ae0f64f742f3f095f5939d9/s3tests/functional/test_s3.py#L19187", "prerequisites": [ { "$bucket": { "handle": "b1" } } ], "data": { "obj": { "$prng": { "seed": "misc-0006/obj", "size": 5242880 } } }, "steps": [ { "$operation": { "name": "CreateMultipartUpload", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "ChecksumAlgorithm": "SHA256", "ChecksumType": "COMPOSITE" }, "capture": { "uploadId": "UploadId" } } }, { "$operation": { "name": "UploadPart", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "PartNumber": 1, "Body": { "$data": "obj" }, "ChecksumAlgorithm": "SHA256", "ChecksumSHA256": "${data.obj.sha256B64}" }, "capture": { "etag1": "ETag" } } }, { "$operation": { "name": "CompleteMultipartUpload", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "UploadId": "${cap.uploadId}", "MultipartUpload": { "Parts": [ { "PartNumber": 1, "ETag": "${cap.etag1}", "ChecksumSHA256": "${data.obj.sha256B64}" } ] } } } }, { "$operation": { "name": "GetObjectAttributes", "params": { "Bucket": "${res.b1.name}", "Key": "multipart", "ObjectAttributes": [ "ETag", "Checksum", "ObjectParts", "StorageClass", "ObjectSize" ] }, "expect": { "response": { "ObjectSize": 5242880, "ETag": { "$matches": "-1$" }, "StorageClass": "STANDARD", "ObjectParts": { "TotalPartsCount": 1, "PartNumberMarker": 0, "MaxParts": 1000, "NextPartNumberMarker": 1, "IsTruncated": false, "Parts": [ { "PartNumber": 1, "Size": 5242880, "ChecksumSHA256": "${data.obj.sha256B64}" } ] } } } } } ] }, { "id": "misc-0007", "group": "misc", "kind": "api", "title": "GetObjectAttributes returns VersionId and honors an explicit VersionId on a versioned object", "tags": [ "tier-3", "misc", "versioning", "source:ceph-s3-tests" ], "source": "https://github.com/ceph/s3-tests/blob/5522d1c351f75bc00ae0f64f742f3f095f5939d9/s3tests/functional/test_s3.py#L19242", "prerequisites": [ { "$bucket": { "handle": "b1", "versioning": "Enabled" } } ], "steps": [ { "$operation": { "name": "PutObject", "params": { "Bucket": "${res.b1.name}", "Key": "obj", "Body": "foo" }, "capture": { "v1": "VersionId" } } }, { "$operation": { "name": "GetObjectAttributes", "params": { "Bucket": "${res.b1.name}", "Key": "obj", "ObjectAttributes": [ "ETag", "Checksum", "ObjectParts", "StorageClass", "ObjectSize" ] }, "expect": { "response": { "DeleteMarker": { "$absent": true }, "VersionId": "${cap.v1}", "ObjectSize": 3, "ETag": "acbd18db4cc2f85cedef654fccc4a4d8", "StorageClass": "STANDARD", "ObjectParts": { "$absent": true } } } } }, { "$operation": { "name": "PutObject", "params": { "Bucket": "${res.b1.name}", "Key": "obj", "Body": "foo" } } }, { "$operation": { "name": "GetObjectAttributes", "params": { "Bucket": "${res.b1.name}", "Key": "obj", "VersionId": "${cap.v1}", "ObjectAttributes": [ "ETag", "Checksum", "ObjectParts", "StorageClass", "ObjectSize" ] }, "expect": { "response": { "DeleteMarker": { "$absent": true }, "VersionId": "${cap.v1}", "ObjectSize": 3, "ETag": "acbd18db4cc2f85cedef654fccc4a4d8", "StorageClass": "STANDARD", "ObjectParts": { "$absent": true } } } } } ] }, { "id": "misc-0008", "group": "misc", "kind": "api", "title": "Website configuration: put with index/error documents, update, and minimal index-only form", "tags": [ "tier-3", "misc", "source:msst-s3" ], "source": "https://github.com/linux-kdevops/msst-s3/blob/b84a323cca5ee862e87677043f672f156c46b448/tests/basic/21.py#L14", "prerequisites": [ { "$bucket": { "handle": "b1" } } ], "steps": [ { "$operation": { "name": "PutBucketWebsite", "params": { "Bucket": "${res.b1.name}", "WebsiteConfiguration": { "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } } } } }, { "$operation": { "name": "GetBucketWebsite", "params": { "Bucket": "${res.b1.name}" }, "expect": { "response": { "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } } } } }, { "$operation": { "name": "PutBucketWebsite", "params": { "Bucket": "${res.b1.name}", "WebsiteConfiguration": { "IndexDocument": { "Suffix": "default.html" }, "ErrorDocument": { "Key": "404.html" } } } } }, { "$operation": { "name": "GetBucketWebsite", "params": { "Bucket": "${res.b1.name}" }, "expect": { "response": { "IndexDocument": { "Suffix": "default.html" }, "ErrorDocument": { "Key": "404.html" } } } } }, { "$operation": { "name": "PutBucketWebsite", "params": { "Bucket": "${res.b1.name}", "WebsiteConfiguration": { "IndexDocument": { "Suffix": "index.html" } } } } }, { "$operation": { "name": "GetBucketWebsite", "params": { "Bucket": "${res.b1.name}" }, "expect": { "response": { "IndexDocument": { "$exists": true } } } } } ] }, { "id": "misc-0009", "group": "misc", "kind": "api", "title": "Inventory configuration: create daily CSV report config, verify, and update in place", "tags": [ "tier-3", "misc", "source:msst-s3" ], "source": "https://github.com/linux-kdevops/msst-s3/blob/b84a323cca5ee862e87677043f672f156c46b448/tests/basic/22.py#L13", "prerequisites": [ { "$bucket": { "handle": "b1" } }, { "$bucket": { "handle": "b2" } } ], "steps": [ { "$operation": { "name": "PutBucketInventoryConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "daily-inventory", "InventoryConfiguration": { "Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::${res.b2.name}", "Format": "CSV", "Prefix": "inventory/" } }, "IsEnabled": true, "Filter": { "Prefix": "data/" }, "Id": "daily-inventory", "IncludedObjectVersions": "Current", "OptionalFields": [ "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus" ], "Schedule": { "Frequency": "Daily" } } } } }, { "$operation": { "name": "GetBucketInventoryConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "daily-inventory" }, "expect": { "response": { "InventoryConfiguration": { "Id": "daily-inventory", "IsEnabled": true, "Schedule": { "Frequency": "Daily" } } } } } }, { "$operation": { "name": "PutBucketInventoryConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "daily-inventory", "InventoryConfiguration": { "Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::${res.b2.name}", "Format": "CSV", "Prefix": "inventory/" } }, "IsEnabled": false, "Filter": { "Prefix": "data/" }, "Id": "daily-inventory", "IncludedObjectVersions": "Current", "OptionalFields": [ "Size", "ETag" ], "Schedule": { "Frequency": "Daily" } } } } }, { "$operation": { "name": "GetBucketInventoryConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "daily-inventory" }, "expect": { "response": { "InventoryConfiguration": { "IsEnabled": false, "OptionalFields": { "$length": 2 } } } } } } ] }, { "id": "misc-0010", "group": "misc", "kind": "api", "title": "Metrics configuration: create, add prefix-filtered config, update filter, and delete", "tags": [ "tier-3", "misc", "source:msst-s3" ], "source": "https://github.com/linux-kdevops/msst-s3/blob/b84a323cca5ee862e87677043f672f156c46b448/tests/basic/28.py#L12", "prerequisites": [ { "$bucket": { "handle": "b1" } } ], "steps": [ { "$operation": { "name": "PutBucketMetricsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "EntireBucket", "MetricsConfiguration": { "Id": "EntireBucket" } } } }, { "$operation": { "name": "GetBucketMetricsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "EntireBucket" }, "expect": { "response": { "MetricsConfiguration": { "Id": "EntireBucket" } } } } }, { "$operation": { "name": "PutBucketMetricsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "DocumentsMetrics", "MetricsConfiguration": { "Id": "DocumentsMetrics", "Filter": { "Prefix": "documents/" } } } } }, { "$operation": { "name": "PutBucketMetricsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "EntireBucket", "MetricsConfiguration": { "Id": "EntireBucket", "Filter": { "Prefix": "updated/" } } } } }, { "$operation": { "name": "GetBucketMetricsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "EntireBucket" }, "expect": { "response": { "MetricsConfiguration": { "Filter": { "Prefix": "updated/" } } } } } }, { "$operation": { "name": "DeleteBucketMetricsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "DocumentsMetrics" } } } ] }, { "id": "misc-0011", "group": "misc", "kind": "api", "title": "Analytics configuration: create storage-class analysis configs, verify, update, and delete", "tags": [ "tier-3", "misc", "source:msst-s3" ], "source": "https://github.com/linux-kdevops/msst-s3/blob/b84a323cca5ee862e87677043f672f156c46b448/tests/basic/29.py#L12", "prerequisites": [ { "$bucket": { "handle": "b1" } }, { "$bucket": { "handle": "b2" } } ], "steps": [ { "$operation": { "name": "PutBucketAnalyticsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "EntireBucketAnalysis", "AnalyticsConfiguration": { "Id": "EntireBucketAnalysis", "StorageClassAnalysis": { "DataExport": { "OutputSchemaVersion": "V_1", "Destination": { "S3BucketDestination": { "Format": "CSV", "BucketAccountId": "123456789012", "Bucket": "arn:aws:s3:::${res.b2.name}", "Prefix": "analytics-results/" } } } } } } } }, { "$operation": { "name": "GetBucketAnalyticsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "EntireBucketAnalysis" }, "expect": { "response": { "AnalyticsConfiguration": { "Id": "EntireBucketAnalysis" } } } } }, { "$operation": { "name": "PutBucketAnalyticsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "DocumentsAnalysis", "AnalyticsConfiguration": { "Id": "DocumentsAnalysis", "Filter": { "Prefix": "documents/" }, "StorageClassAnalysis": { "DataExport": { "OutputSchemaVersion": "V_1", "Destination": { "S3BucketDestination": { "Format": "CSV", "BucketAccountId": "123456789012", "Bucket": "arn:aws:s3:::${res.b2.name}", "Prefix": "documents-analysis/" } } } } } } } }, { "$operation": { "name": "PutBucketAnalyticsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "EntireBucketAnalysis", "AnalyticsConfiguration": { "Id": "EntireBucketAnalysis", "StorageClassAnalysis": { "DataExport": { "OutputSchemaVersion": "V_1", "Destination": { "S3BucketDestination": { "Format": "CSV", "BucketAccountId": "123456789012", "Bucket": "arn:aws:s3:::${res.b2.name}", "Prefix": "updated-analytics/" } } } } } } } }, { "$operation": { "name": "DeleteBucketAnalyticsConfiguration", "params": { "Bucket": "${res.b1.name}", "Id": "DocumentsAnalysis" } } } ] } ] }