1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2018-08-20",
5    "endpointPrefix":"s3-control",
6    "protocol":"rest-xml",
7    "serviceFullName":"AWS S3 Control",
8    "serviceId":"S3 Control",
9    "signatureVersion":"s3v4",
10    "signingName":"s3",
11    "uid":"s3control-2018-08-20"
12  },
13  "operations":{
14    "CreateJob":{
15      "name":"CreateJob",
16      "http":{
17        "method":"POST",
18        "requestUri":"/v20180820/jobs"
19      },
20      "input":{
21        "shape":"CreateJobRequest",
22        "locationName":"CreateJobRequest",
23        "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"}
24      },
25      "output":{"shape":"CreateJobResult"},
26      "errors":[
27        {"shape":"TooManyRequestsException"},
28        {"shape":"BadRequestException"},
29        {"shape":"IdempotencyException"},
30        {"shape":"InternalServiceException"}
31      ]
32    },
33    "DeletePublicAccessBlock":{
34      "name":"DeletePublicAccessBlock",
35      "http":{
36        "method":"DELETE",
37        "requestUri":"/v20180820/configuration/publicAccessBlock"
38      },
39      "input":{"shape":"DeletePublicAccessBlockRequest"}
40    },
41    "DescribeJob":{
42      "name":"DescribeJob",
43      "http":{
44        "method":"GET",
45        "requestUri":"/v20180820/jobs/{id}"
46      },
47      "input":{"shape":"DescribeJobRequest"},
48      "output":{"shape":"DescribeJobResult"},
49      "errors":[
50        {"shape":"BadRequestException"},
51        {"shape":"TooManyRequestsException"},
52        {"shape":"NotFoundException"},
53        {"shape":"InternalServiceException"}
54      ]
55    },
56    "GetPublicAccessBlock":{
57      "name":"GetPublicAccessBlock",
58      "http":{
59        "method":"GET",
60        "requestUri":"/v20180820/configuration/publicAccessBlock"
61      },
62      "input":{"shape":"GetPublicAccessBlockRequest"},
63      "output":{"shape":"GetPublicAccessBlockOutput"},
64      "errors":[
65        {"shape":"NoSuchPublicAccessBlockConfiguration"}
66      ]
67    },
68    "ListJobs":{
69      "name":"ListJobs",
70      "http":{
71        "method":"GET",
72        "requestUri":"/v20180820/jobs"
73      },
74      "input":{"shape":"ListJobsRequest"},
75      "output":{"shape":"ListJobsResult"},
76      "errors":[
77        {"shape":"InvalidRequestException"},
78        {"shape":"InternalServiceException"},
79        {"shape":"InvalidNextTokenException"}
80      ]
81    },
82    "PutPublicAccessBlock":{
83      "name":"PutPublicAccessBlock",
84      "http":{
85        "method":"PUT",
86        "requestUri":"/v20180820/configuration/publicAccessBlock"
87      },
88      "input":{"shape":"PutPublicAccessBlockRequest"}
89    },
90    "UpdateJobPriority":{
91      "name":"UpdateJobPriority",
92      "http":{
93        "method":"POST",
94        "requestUri":"/v20180820/jobs/{id}/priority"
95      },
96      "input":{"shape":"UpdateJobPriorityRequest"},
97      "output":{"shape":"UpdateJobPriorityResult"},
98      "errors":[
99        {"shape":"BadRequestException"},
100        {"shape":"TooManyRequestsException"},
101        {"shape":"NotFoundException"},
102        {"shape":"InternalServiceException"}
103      ]
104    },
105    "UpdateJobStatus":{
106      "name":"UpdateJobStatus",
107      "http":{
108        "method":"POST",
109        "requestUri":"/v20180820/jobs/{id}/status"
110      },
111      "input":{"shape":"UpdateJobStatusRequest"},
112      "output":{"shape":"UpdateJobStatusResult"},
113      "errors":[
114        {"shape":"BadRequestException"},
115        {"shape":"TooManyRequestsException"},
116        {"shape":"NotFoundException"},
117        {"shape":"JobStatusException"},
118        {"shape":"InternalServiceException"}
119      ]
120    }
121  },
122  "shapes":{
123    "AccountId":{
124      "type":"string",
125      "max":64
126    },
127    "BadRequestException":{
128      "type":"structure",
129      "members":{
130        "Message":{"shape":"ExceptionMessage"}
131      },
132      "exception":true
133    },
134    "Boolean":{"type":"boolean"},
135    "ConfirmationRequired":{"type":"boolean"},
136    "CreateJobRequest":{
137      "type":"structure",
138      "required":[
139        "AccountId",
140        "Operation",
141        "Report",
142        "ClientRequestToken",
143        "Manifest",
144        "Priority",
145        "RoleArn"
146      ],
147      "members":{
148        "AccountId":{
149          "shape":"AccountId",
150          "location":"header",
151          "locationName":"x-amz-account-id"
152        },
153        "ConfirmationRequired":{
154          "shape":"ConfirmationRequired",
155          "box":true
156        },
157        "Operation":{"shape":"JobOperation"},
158        "Report":{"shape":"JobReport"},
159        "ClientRequestToken":{
160          "shape":"NonEmptyMaxLength64String",
161          "idempotencyToken":true
162        },
163        "Manifest":{"shape":"JobManifest"},
164        "Description":{"shape":"NonEmptyMaxLength256String"},
165        "Priority":{
166          "shape":"JobPriority",
167          "box":true
168        },
169        "RoleArn":{"shape":"IAMRoleArn"}
170      }
171    },
172    "CreateJobResult":{
173      "type":"structure",
174      "members":{
175        "JobId":{"shape":"JobId"}
176      }
177    },
178    "DeletePublicAccessBlockRequest":{
179      "type":"structure",
180      "required":["AccountId"],
181      "members":{
182        "AccountId":{
183          "shape":"AccountId",
184          "location":"header",
185          "locationName":"x-amz-account-id"
186        }
187      }
188    },
189    "DescribeJobRequest":{
190      "type":"structure",
191      "required":[
192        "AccountId",
193        "JobId"
194      ],
195      "members":{
196        "AccountId":{
197          "shape":"AccountId",
198          "location":"header",
199          "locationName":"x-amz-account-id"
200        },
201        "JobId":{
202          "shape":"JobId",
203          "location":"uri",
204          "locationName":"id"
205        }
206      }
207    },
208    "DescribeJobResult":{
209      "type":"structure",
210      "members":{
211        "Job":{"shape":"JobDescriptor"}
212      }
213    },
214    "ExceptionMessage":{
215      "type":"string",
216      "max":1024,
217      "min":1
218    },
219    "GetPublicAccessBlockOutput":{
220      "type":"structure",
221      "members":{
222        "PublicAccessBlockConfiguration":{"shape":"PublicAccessBlockConfiguration"}
223      },
224      "payload":"PublicAccessBlockConfiguration"
225    },
226    "GetPublicAccessBlockRequest":{
227      "type":"structure",
228      "required":["AccountId"],
229      "members":{
230        "AccountId":{
231          "shape":"AccountId",
232          "location":"header",
233          "locationName":"x-amz-account-id"
234        }
235      }
236    },
237    "IAMRoleArn":{
238      "type":"string",
239      "max":2048,
240      "min":1
241    },
242    "IdempotencyException":{
243      "type":"structure",
244      "members":{
245        "Message":{"shape":"ExceptionMessage"}
246      },
247      "exception":true
248    },
249    "InternalServiceException":{
250      "type":"structure",
251      "members":{
252        "Message":{"shape":"ExceptionMessage"}
253      },
254      "exception":true,
255      "fault":true
256    },
257    "InvalidNextTokenException":{
258      "type":"structure",
259      "members":{
260        "Message":{"shape":"ExceptionMessage"}
261      },
262      "exception":true
263    },
264    "InvalidRequestException":{
265      "type":"structure",
266      "members":{
267        "Message":{"shape":"ExceptionMessage"}
268      },
269      "exception":true
270    },
271    "JobArn":{
272      "type":"string",
273      "max":1024,
274      "min":1
275    },
276    "JobCreationTime":{"type":"timestamp"},
277    "JobDescriptor":{
278      "type":"structure",
279      "members":{
280        "JobId":{"shape":"JobId"},
281        "ConfirmationRequired":{
282          "shape":"ConfirmationRequired",
283          "box":true
284        },
285        "Description":{
286          "shape":"NonEmptyMaxLength256String",
287          "box":true
288        },
289        "JobArn":{
290          "shape":"JobArn",
291          "box":true
292        },
293        "Status":{"shape":"JobStatus"},
294        "Manifest":{
295          "shape":"JobManifest",
296          "box":true
297        },
298        "Operation":{
299          "shape":"JobOperation",
300          "box":true
301        },
302        "Priority":{"shape":"JobPriority"},
303        "ProgressSummary":{
304          "shape":"JobProgressSummary",
305          "box":true
306        },
307        "StatusUpdateReason":{
308          "shape":"JobStatusUpdateReason",
309          "box":true
310        },
311        "FailureReasons":{
312          "shape":"JobFailureList",
313          "box":true
314        },
315        "Report":{
316          "shape":"JobReport",
317          "box":true
318        },
319        "CreationTime":{"shape":"JobCreationTime"},
320        "TerminationDate":{
321          "shape":"JobTerminationDate",
322          "box":true
323        },
324        "RoleArn":{
325          "shape":"IAMRoleArn",
326          "box":true
327        },
328        "SuspendedDate":{
329          "shape":"SuspendedDate",
330          "box":true
331        },
332        "SuspendedCause":{
333          "shape":"SuspendedCause",
334          "box":true
335        }
336      }
337    },
338    "JobFailure":{
339      "type":"structure",
340      "members":{
341        "FailureCode":{"shape":"JobFailureCode"},
342        "FailureReason":{"shape":"JobFailureReason"}
343      }
344    },
345    "JobFailureCode":{
346      "type":"string",
347      "max":64,
348      "min":1
349    },
350    "JobFailureList":{
351      "type":"list",
352      "member":{"shape":"JobFailure"}
353    },
354    "JobFailureReason":{
355      "type":"string",
356      "max":256,
357      "min":1
358    },
359    "JobId":{
360      "type":"string",
361      "max":36,
362      "min":5
363    },
364    "JobListDescriptor":{
365      "type":"structure",
366      "members":{
367        "JobId":{"shape":"JobId"},
368        "Description":{"shape":"NonEmptyMaxLength256String"},
369        "Operation":{"shape":"OperationName"},
370        "Priority":{"shape":"JobPriority"},
371        "Status":{"shape":"JobStatus"},
372        "CreationTime":{"shape":"JobCreationTime"},
373        "TerminationDate":{"shape":"JobTerminationDate"},
374        "ProgressSummary":{"shape":"JobProgressSummary"}
375      }
376    },
377    "JobListDescriptorList":{
378      "type":"list",
379      "member":{"shape":"JobListDescriptor"}
380    },
381    "JobManifest":{
382      "type":"structure",
383      "required":[
384        "Spec",
385        "Location"
386      ],
387      "members":{
388        "Spec":{"shape":"JobManifestSpec"},
389        "Location":{"shape":"JobManifestLocation"}
390      }
391    },
392    "JobManifestFieldList":{
393      "type":"list",
394      "member":{"shape":"JobManifestFieldName"}
395    },
396    "JobManifestFieldName":{
397      "type":"string",
398      "enum":[
399        "Ignore",
400        "Bucket",
401        "Key",
402        "VersionId"
403      ]
404    },
405    "JobManifestFormat":{
406      "type":"string",
407      "enum":[
408        "S3BatchOperations_CSV_20180820",
409        "S3InventoryReport_CSV_20161130"
410      ]
411    },
412    "JobManifestLocation":{
413      "type":"structure",
414      "required":[
415        "ObjectArn",
416        "ETag"
417      ],
418      "members":{
419        "ObjectArn":{"shape":"S3KeyArnString"},
420        "ObjectVersionId":{
421          "shape":"S3ObjectVersionId",
422          "box":true
423        },
424        "ETag":{"shape":"NonEmptyMaxLength1024String"}
425      }
426    },
427    "JobManifestSpec":{
428      "type":"structure",
429      "required":["Format"],
430      "members":{
431        "Format":{"shape":"JobManifestFormat"},
432        "Fields":{
433          "shape":"JobManifestFieldList",
434          "box":true
435        }
436      }
437    },
438    "JobNumberOfTasksFailed":{
439      "type":"long",
440      "min":0
441    },
442    "JobNumberOfTasksSucceeded":{
443      "type":"long",
444      "min":0
445    },
446    "JobOperation":{
447      "type":"structure",
448      "members":{
449        "LambdaInvoke":{
450          "shape":"LambdaInvokeOperation",
451          "box":true
452        },
453        "S3PutObjectCopy":{
454          "shape":"S3CopyObjectOperation",
455          "box":true
456        },
457        "S3PutObjectAcl":{
458          "shape":"S3SetObjectAclOperation",
459          "box":true
460        },
461        "S3PutObjectTagging":{
462          "shape":"S3SetObjectTaggingOperation",
463          "box":true
464        },
465        "S3InitiateRestoreObject":{
466          "shape":"S3InitiateRestoreObjectOperation",
467          "box":true
468        }
469      }
470    },
471    "JobPriority":{
472      "type":"integer",
473      "max":2147483647,
474      "min":0
475    },
476    "JobProgressSummary":{
477      "type":"structure",
478      "members":{
479        "TotalNumberOfTasks":{
480          "shape":"JobTotalNumberOfTasks",
481          "box":true
482        },
483        "NumberOfTasksSucceeded":{
484          "shape":"JobNumberOfTasksSucceeded",
485          "box":true
486        },
487        "NumberOfTasksFailed":{
488          "shape":"JobNumberOfTasksFailed",
489          "box":true
490        }
491      }
492    },
493    "JobReport":{
494      "type":"structure",
495      "required":["Enabled"],
496      "members":{
497        "Bucket":{
498          "shape":"S3BucketArnString",
499          "box":true
500        },
501        "Format":{
502          "shape":"JobReportFormat",
503          "box":true
504        },
505        "Enabled":{"shape":"Boolean"},
506        "Prefix":{
507          "shape":"ReportPrefixString",
508          "box":true
509        },
510        "ReportScope":{
511          "shape":"JobReportScope",
512          "box":true
513        }
514      }
515    },
516    "JobReportFormat":{
517      "type":"string",
518      "enum":["Report_CSV_20180820"]
519    },
520    "JobReportScope":{
521      "type":"string",
522      "enum":[
523        "AllTasks",
524        "FailedTasksOnly"
525      ]
526    },
527    "JobStatus":{
528      "type":"string",
529      "enum":[
530        "Active",
531        "Cancelled",
532        "Cancelling",
533        "Complete",
534        "Completing",
535        "Failed",
536        "Failing",
537        "New",
538        "Paused",
539        "Pausing",
540        "Preparing",
541        "Ready",
542        "Suspended"
543      ]
544    },
545    "JobStatusException":{
546      "type":"structure",
547      "members":{
548        "Message":{"shape":"ExceptionMessage"}
549      },
550      "exception":true
551    },
552    "JobStatusList":{
553      "type":"list",
554      "member":{"shape":"JobStatus"}
555    },
556    "JobStatusUpdateReason":{
557      "type":"string",
558      "max":256,
559      "min":1
560    },
561    "JobTerminationDate":{"type":"timestamp"},
562    "JobTotalNumberOfTasks":{
563      "type":"long",
564      "min":0
565    },
566    "KmsKeyArnString":{
567      "type":"string",
568      "max":2000,
569      "min":1
570    },
571    "LambdaInvokeOperation":{
572      "type":"structure",
573      "members":{
574        "FunctionArn":{"shape":"NonEmptyMaxLength1024String"}
575      }
576    },
577    "ListJobsRequest":{
578      "type":"structure",
579      "required":["AccountId"],
580      "members":{
581        "AccountId":{
582          "shape":"AccountId",
583          "location":"header",
584          "locationName":"x-amz-account-id"
585        },
586        "JobStatuses":{
587          "shape":"JobStatusList",
588          "location":"querystring",
589          "locationName":"jobStatuses"
590        },
591        "NextToken":{
592          "shape":"NonEmptyMaxLength1024String",
593          "location":"querystring",
594          "locationName":"nextToken"
595        },
596        "MaxResults":{
597          "shape":"MaxResults",
598          "box":true,
599          "location":"querystring",
600          "locationName":"maxResults"
601        }
602      }
603    },
604    "ListJobsResult":{
605      "type":"structure",
606      "members":{
607        "NextToken":{"shape":"NonEmptyMaxLength1024String"},
608        "Jobs":{"shape":"JobListDescriptorList"}
609      }
610    },
611    "MaxLength1024String":{
612      "type":"string",
613      "max":1024
614    },
615    "MaxResults":{
616      "type":"integer",
617      "max":1000,
618      "min":1
619    },
620    "NoSuchPublicAccessBlockConfiguration":{
621      "type":"structure",
622      "members":{
623        "Message":{"shape":"NoSuchPublicAccessBlockConfigurationMessage"}
624      },
625      "error":{"httpStatusCode":404},
626      "exception":true
627    },
628    "NoSuchPublicAccessBlockConfigurationMessage":{"type":"string"},
629    "NonEmptyMaxLength1024String":{
630      "type":"string",
631      "max":1024,
632      "min":1
633    },
634    "NonEmptyMaxLength2048String":{
635      "type":"string",
636      "max":2048,
637      "min":1
638    },
639    "NonEmptyMaxLength256String":{
640      "type":"string",
641      "max":256,
642      "min":1
643    },
644    "NonEmptyMaxLength64String":{
645      "type":"string",
646      "max":64,
647      "min":1
648    },
649    "NotFoundException":{
650      "type":"structure",
651      "members":{
652        "Message":{"shape":"ExceptionMessage"}
653      },
654      "exception":true
655    },
656    "OperationName":{
657      "type":"string",
658      "enum":[
659        "LambdaInvoke",
660        "S3PutObjectCopy",
661        "S3PutObjectAcl",
662        "S3PutObjectTagging",
663        "S3InitiateRestoreObject"
664      ]
665    },
666    "PublicAccessBlockConfiguration":{
667      "type":"structure",
668      "members":{
669        "BlockPublicAcls":{
670          "shape":"Setting",
671          "locationName":"BlockPublicAcls"
672        },
673        "IgnorePublicAcls":{
674          "shape":"Setting",
675          "locationName":"IgnorePublicAcls"
676        },
677        "BlockPublicPolicy":{
678          "shape":"Setting",
679          "locationName":"BlockPublicPolicy"
680        },
681        "RestrictPublicBuckets":{
682          "shape":"Setting",
683          "locationName":"RestrictPublicBuckets"
684        }
685      }
686    },
687    "PutPublicAccessBlockRequest":{
688      "type":"structure",
689      "required":[
690        "PublicAccessBlockConfiguration",
691        "AccountId"
692      ],
693      "members":{
694        "PublicAccessBlockConfiguration":{
695          "shape":"PublicAccessBlockConfiguration",
696          "locationName":"PublicAccessBlockConfiguration",
697          "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"}
698        },
699        "AccountId":{
700          "shape":"AccountId",
701          "location":"header",
702          "locationName":"x-amz-account-id"
703        }
704      },
705      "payload":"PublicAccessBlockConfiguration"
706    },
707    "ReportPrefixString":{
708      "type":"string",
709      "max":512,
710      "min":1
711    },
712    "RequestedJobStatus":{
713      "type":"string",
714      "enum":[
715        "Cancelled",
716        "Ready"
717      ]
718    },
719    "S3AccessControlList":{
720      "type":"structure",
721      "required":["Owner"],
722      "members":{
723        "Owner":{"shape":"S3ObjectOwner"},
724        "Grants":{"shape":"S3GrantList"}
725      }
726    },
727    "S3AccessControlPolicy":{
728      "type":"structure",
729      "members":{
730        "AccessControlList":{
731          "shape":"S3AccessControlList",
732          "box":true
733        },
734        "CannedAccessControlList":{
735          "shape":"S3CannedAccessControlList",
736          "box":true
737        }
738      }
739    },
740    "S3BucketArnString":{
741      "type":"string",
742      "max":128,
743      "min":1
744    },
745    "S3CannedAccessControlList":{
746      "type":"string",
747      "enum":[
748        "private",
749        "public-read",
750        "public-read-write",
751        "aws-exec-read",
752        "authenticated-read",
753        "bucket-owner-read",
754        "bucket-owner-full-control"
755      ]
756    },
757    "S3ContentLength":{
758      "type":"long",
759      "min":0
760    },
761    "S3CopyObjectOperation":{
762      "type":"structure",
763      "members":{
764        "TargetResource":{"shape":"S3BucketArnString"},
765        "CannedAccessControlList":{
766          "shape":"S3CannedAccessControlList",
767          "box":true
768        },
769        "AccessControlGrants":{
770          "shape":"S3GrantList",
771          "box":true
772        },
773        "MetadataDirective":{"shape":"S3MetadataDirective"},
774        "ModifiedSinceConstraint":{"shape":"TimeStamp"},
775        "NewObjectMetadata":{"shape":"S3ObjectMetadata"},
776        "NewObjectTagging":{"shape":"S3TagSet"},
777        "RedirectLocation":{"shape":"NonEmptyMaxLength2048String"},
778        "RequesterPays":{"shape":"Boolean"},
779        "StorageClass":{"shape":"S3StorageClass"},
780        "UnModifiedSinceConstraint":{"shape":"TimeStamp"},
781        "SSEAwsKmsKeyId":{"shape":"KmsKeyArnString"},
782        "TargetKeyPrefix":{"shape":"NonEmptyMaxLength1024String"},
783        "ObjectLockLegalHoldStatus":{"shape":"S3ObjectLockLegalHoldStatus"},
784        "ObjectLockMode":{"shape":"S3ObjectLockMode"},
785        "ObjectLockRetainUntilDate":{"shape":"TimeStamp"}
786      }
787    },
788    "S3ExpirationInDays":{
789      "type":"integer",
790      "min":0
791    },
792    "S3GlacierJobTier":{
793      "type":"string",
794      "enum":[
795        "BULK",
796        "STANDARD"
797      ]
798    },
799    "S3Grant":{
800      "type":"structure",
801      "members":{
802        "Grantee":{"shape":"S3Grantee"},
803        "Permission":{"shape":"S3Permission"}
804      }
805    },
806    "S3GrantList":{
807      "type":"list",
808      "member":{"shape":"S3Grant"}
809    },
810    "S3Grantee":{
811      "type":"structure",
812      "members":{
813        "TypeIdentifier":{"shape":"S3GranteeTypeIdentifier"},
814        "Identifier":{
815          "shape":"NonEmptyMaxLength1024String",
816          "box":true
817        },
818        "DisplayName":{"shape":"NonEmptyMaxLength1024String"}
819      }
820    },
821    "S3GranteeTypeIdentifier":{
822      "type":"string",
823      "enum":[
824        "id",
825        "emailAddress",
826        "uri"
827      ]
828    },
829    "S3InitiateRestoreObjectOperation":{
830      "type":"structure",
831      "members":{
832        "ExpirationInDays":{"shape":"S3ExpirationInDays"},
833        "GlacierJobTier":{"shape":"S3GlacierJobTier"}
834      }
835    },
836    "S3KeyArnString":{
837      "type":"string",
838      "max":2000,
839      "min":1
840    },
841    "S3MetadataDirective":{
842      "type":"string",
843      "enum":[
844        "COPY",
845        "REPLACE"
846      ]
847    },
848    "S3ObjectLockLegalHoldStatus":{
849      "type":"string",
850      "enum":[
851        "OFF",
852        "ON"
853      ]
854    },
855    "S3ObjectLockMode":{
856      "type":"string",
857      "enum":[
858        "COMPLIANCE",
859        "GOVERNANCE"
860      ]
861    },
862    "S3ObjectMetadata":{
863      "type":"structure",
864      "members":{
865        "CacheControl":{"shape":"NonEmptyMaxLength1024String"},
866        "ContentDisposition":{"shape":"NonEmptyMaxLength1024String"},
867        "ContentEncoding":{"shape":"NonEmptyMaxLength1024String"},
868        "ContentLanguage":{"shape":"NonEmptyMaxLength1024String"},
869        "UserMetadata":{"shape":"S3UserMetadata"},
870        "ContentLength":{
871          "shape":"S3ContentLength",
872          "box":true
873        },
874        "ContentMD5":{"shape":"NonEmptyMaxLength1024String"},
875        "ContentType":{"shape":"NonEmptyMaxLength1024String"},
876        "HttpExpiresDate":{"shape":"TimeStamp"},
877        "RequesterCharged":{"shape":"Boolean"},
878        "SSEAlgorithm":{"shape":"S3SSEAlgorithm"}
879      }
880    },
881    "S3ObjectOwner":{
882      "type":"structure",
883      "members":{
884        "ID":{"shape":"NonEmptyMaxLength1024String"},
885        "DisplayName":{"shape":"NonEmptyMaxLength1024String"}
886      }
887    },
888    "S3ObjectVersionId":{
889      "type":"string",
890      "max":2000,
891      "min":1
892    },
893    "S3Permission":{
894      "type":"string",
895      "enum":[
896        "FULL_CONTROL",
897        "READ",
898        "WRITE",
899        "READ_ACP",
900        "WRITE_ACP"
901      ]
902    },
903    "S3SSEAlgorithm":{
904      "type":"string",
905      "enum":[
906        "AES256",
907        "KMS"
908      ]
909    },
910    "S3SetObjectAclOperation":{
911      "type":"structure",
912      "members":{
913        "AccessControlPolicy":{"shape":"S3AccessControlPolicy"}
914      }
915    },
916    "S3SetObjectTaggingOperation":{
917      "type":"structure",
918      "members":{
919        "TagSet":{"shape":"S3TagSet"}
920      }
921    },
922    "S3StorageClass":{
923      "type":"string",
924      "enum":[
925        "STANDARD",
926        "STANDARD_IA",
927        "ONEZONE_IA",
928        "GLACIER",
929        "INTELLIGENT_TIERING",
930        "DEEP_ARCHIVE"
931      ]
932    },
933    "S3Tag":{
934      "type":"structure",
935      "required":[
936        "Key",
937        "Value"
938      ],
939      "members":{
940        "Key":{"shape":"NonEmptyMaxLength1024String"},
941        "Value":{"shape":"MaxLength1024String"}
942      }
943    },
944    "S3TagSet":{
945      "type":"list",
946      "member":{"shape":"S3Tag"}
947    },
948    "S3UserMetadata":{
949      "type":"map",
950      "key":{"shape":"NonEmptyMaxLength1024String"},
951      "value":{"shape":"MaxLength1024String"},
952      "max":8192
953    },
954    "Setting":{"type":"boolean"},
955    "SuspendedCause":{
956      "type":"string",
957      "max":1024,
958      "min":1
959    },
960    "SuspendedDate":{"type":"timestamp"},
961    "TimeStamp":{"type":"timestamp"},
962    "TooManyRequestsException":{
963      "type":"structure",
964      "members":{
965        "Message":{"shape":"ExceptionMessage"}
966      },
967      "exception":true
968    },
969    "UpdateJobPriorityRequest":{
970      "type":"structure",
971      "required":[
972        "AccountId",
973        "JobId",
974        "Priority"
975      ],
976      "members":{
977        "AccountId":{
978          "shape":"AccountId",
979          "location":"header",
980          "locationName":"x-amz-account-id"
981        },
982        "JobId":{
983          "shape":"JobId",
984          "location":"uri",
985          "locationName":"id"
986        },
987        "Priority":{
988          "shape":"JobPriority",
989          "location":"querystring",
990          "locationName":"priority"
991        }
992      }
993    },
994    "UpdateJobPriorityResult":{
995      "type":"structure",
996      "required":[
997        "JobId",
998        "Priority"
999      ],
1000      "members":{
1001        "JobId":{"shape":"JobId"},
1002        "Priority":{"shape":"JobPriority"}
1003      }
1004    },
1005    "UpdateJobStatusRequest":{
1006      "type":"structure",
1007      "required":[
1008        "AccountId",
1009        "JobId",
1010        "RequestedJobStatus"
1011      ],
1012      "members":{
1013        "AccountId":{
1014          "shape":"AccountId",
1015          "location":"header",
1016          "locationName":"x-amz-account-id"
1017        },
1018        "JobId":{
1019          "shape":"JobId",
1020          "location":"uri",
1021          "locationName":"id"
1022        },
1023        "RequestedJobStatus":{
1024          "shape":"RequestedJobStatus",
1025          "location":"querystring",
1026          "locationName":"requestedJobStatus"
1027        },
1028        "StatusUpdateReason":{
1029          "shape":"JobStatusUpdateReason",
1030          "location":"querystring",
1031          "locationName":"statusUpdateReason"
1032        }
1033      }
1034    },
1035    "UpdateJobStatusResult":{
1036      "type":"structure",
1037      "members":{
1038        "JobId":{"shape":"JobId"},
1039        "Status":{"shape":"JobStatus"},
1040        "StatusUpdateReason":{"shape":"JobStatusUpdateReason"}
1041      }
1042    }
1043  }
1044}
1045