--- contrib/python/botocore/py3/botocore/data/s3/2006-03-01/service-2.json (5718cbe7c8ad633beee9e1eac79e295dea4b8966) +++ contrib/python/botocore/py3/botocore/data/s3/2006-03-01/service-2.json (0f7e89156b6ce9f3947ef47273baefe09dd0c1ad) @@ -1233,6 +1246,21 @@ "requestChecksumRequired":false } }, + "PatchObject":{ + "name":"PatchObject", + "http":{ + "method":"PATCH", + "requestUri":"/{Bucket}/{Key+}" + }, + "input":{"shape":"PatchObjectRequest"}, + "output":{"shape":"PatchObjectOutput"}, + "documentationUrl":"", + "documentation":"", + "httpChecksum":{ + "requestAlgorithmMember":"ChecksumAlgorithm", + "requestChecksumRequired":false + } + }, "PutObjectAcl":{ "name":"PutObjectAcl", "http":{ @@ -9501,6 +9627,76 @@ }, "payload":"Body" }, + "PatchAppendPartSize":{"type": "integer"}, + "PatchedObjectInfo":{ + "type":"structure", + "members":{ + "ETag":{"shape":"ETag"}, + "LastModified":{"shape":"LastModified"} + } + }, + "PatchObjectOutput":{ + "type":"structure", + "members":{ + "Object":{"shape":"PatchedObjectInfo"} + } + }, + "PatchObjectRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key", + "ContentRange" + ], + "members":{ + "Body":{ + "shape":"Body", + "streaming":true + }, + "Bucket":{ + "shape":"BucketName", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"Bucket" + }, + "ContentLength":{ + "shape":"ContentLength", + "location":"header", + "locationName":"Content-Length" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "location":"header", + "locationName":"Content-MD5" + }, + "ContentRange":{ + "shape":"ContentRange", + "location":"header", + "locationName":"Content-Range" + }, + "IfMatch":{ + "shape":"IfMatch", + "location":"header", + "locationName":"If-Match" + }, + "IfUnmodifiedSince":{ + "shape":"IfUnmodifiedSince", + "location":"header", + "locationName":"If-Unmodified-Since" + }, + "Key":{ + "shape":"ObjectKey", + "location":"uri", + "locationName":"Key" + }, + "PatchAppendPartSize":{ + "shape":"PatchAppendPartSize", + "location":"header", + "locationName":"X-Yc-S3-Patch-Append-Part-Size" + } + }, + "payload":"Body" + }, "PutObjectRetentionOutput":{ "type":"structure", "members":{ --- contrib/python/botocore/py3/botocore/handlers.py (5718cbe7c8ad633beee9e1eac79e295dea4b8966) +++ contrib/python/botocore/py3/botocore/handlers.py (0f7e89156b6ce9f3947ef47273baefe09dd0c1ad) @@ -1173,6 +1194,11 @@ BUILTIN_HANDLERS = [ convert_body_to_file_like_object, REGISTER_LAST, ), + ( + 'before-parameter-build.s3.PatchObject', + convert_body_to_file_like_object, + REGISTER_LAST, + ), ('creating-client-class', add_generate_presigned_url), ('creating-client-class.s3', add_generate_presigned_post), ('creating-client-class.iot-data', check_openssl_supports_tls_version_1_2), @@ -1213,6 +1239,7 @@ BUILTIN_HANDLERS = [ ('before-call.glacier', add_glacier_version), ('before-call.apigateway', add_accept_header), ('before-call.s3.PutObject', conditionally_calculate_checksum), + ('before-call.s3.PatchObject', conditionally_calculate_md5), ('before-call.s3.UploadPart', conditionally_calculate_md5), ('before-call.s3.DeleteObjects', escape_xml_payload), ('before-call.s3.DeleteObjects', conditionally_calculate_checksum), @@ -1242,6 +1269,7 @@ BUILTIN_HANDLERS = [ ('before-parameter-build.s3.HeadObject', sse_md5), ('before-parameter-build.s3.GetObject', sse_md5), ('before-parameter-build.s3.PutObject', sse_md5), + ('before-parameter-build.s3.PatchObject', sse_md5), ('before-parameter-build.s3.CopyObject', sse_md5), ('before-parameter-build.s3.CopyObject', copy_source_sse_md5), ('before-parameter-build.s3.CreateMultipartUpload', sse_md5),