1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
--- 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),
|