--- contrib/python/botocore/py3/botocore/data/s3/2006-03-01/service-2.json (e035e6a001bce129cf5b55dd3b909de5cff9b0ab) +++ contrib/python/botocore/py3/botocore/data/s3/2006-03-01/service-2.json (cf1d3bd37058ca841449300119cddcb6fee50e49) @@ -1032,6 +1032,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":{ @@ -9105,6 +9120,80 @@ }, "payload":"Body" }, + "PatchObjectOutput":{ + "type":"structure", + "members":{ + "ETag":{"shape":"ETag"}, + "LastModified":{"shape":"LastModified"} + } + }, + "PatchAppendPartSize":{"type": "integer"}, + "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" + }, + "IfModifiedSince":{ + "shape":"IfModifiedSince", + "location":"header", + "locationName":"If-Modified-Since" + }, + "IfNoneMatch":{ + "shape":"IfNoneMatch", + "location":"header", + "locationName":"If-None-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 (e035e6a001bce129cf5b55dd3b909de5cff9b0ab) +++ contrib/python/botocore/py3/botocore/handlers.py (cf1d3bd37058ca841449300119cddcb6fee50e49) @@ -1189,6 +1189,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), @@ -1229,6 +1234,7 @@ BUILTIN_HANDLERS = [ ('before-call.glacier', add_glacier_version), ('before-call.apigateway', add_accept_header), ('before-call.s3.PutObject', conditionally_calculate_md5), + ('before-call.s3.PatchObject', conditionally_calculate_md5), ('before-call.s3.UploadPart', conditionally_calculate_md5), ('before-call.s3.DeleteObjects', escape_xml_payload), ('before-call.s3.PutBucketLifecycleConfiguration', escape_xml_payload), @@ -1257,6 +1263,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),