aws-sdk-s3 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a11701b039886049358e64ee720790553815f2e2
4
- data.tar.gz: 7003f2e00e03c7a71f66ec5107b859350ae4f99c
3
+ metadata.gz: 11e9a946e4c62cd4e65425e89902c241af285bde
4
+ data.tar.gz: a2d9222f53c8f42be08062566e1c918619c6aa44
5
5
  SHA512:
6
- metadata.gz: e386e9a7bfa2ebecbcafb8c43ebe0918e2ceb900cb649069eb8943cc846136214beeb30e5663325e7447e5dc702c5c2f1b12bf45664eb7d6beead4126c5a3e8c
7
- data.tar.gz: 48e7bcf3e98a6d16580c73ba5c6745d423bd5fd4e9c79189c5598c63e2e74bdf2629ca97ffef03ff508107a2a594a23bdde6fcde60fbb728ba851a3bbf764893
6
+ metadata.gz: ce6d03f49def68da923382a840324f932f872f552d772abea6ceb16388088584ed18ac87d33279f0b675e594d966b771d21ace3e27f483d23f5602fbb925621e
7
+ data.tar.gz: e19d2fcdba9c44c11633f40cca6f66f7de128b6f48417ed2368f74dd0bde1dc2342bcfceecf665716431e8d599486be7ecb087ecd6f528f3b536d2987cd96bb9
@@ -62,6 +62,6 @@ require_relative 'aws-sdk-s3/customizations'
62
62
  # @service
63
63
  module Aws::S3
64
64
 
65
- GEM_VERSION = '1.7.0'
65
+ GEM_VERSION = '1.8.0'
66
66
 
67
67
  end
@@ -5655,6 +5655,7 @@ module Aws::S3
5655
5655
  # @option params [String] :version_id
5656
5656
  #
5657
5657
  # @option params [Types::RestoreRequest] :restore_request
5658
+ # Container for restore job parameters.
5658
5659
  #
5659
5660
  # @option params [String] :request_payer
5660
5661
  # Confirms that the requester knows that she or he will be charged for
@@ -5666,6 +5667,7 @@ module Aws::S3
5666
5667
  # @return [Types::RestoreObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5667
5668
  #
5668
5669
  # * {Types::RestoreObjectOutput#request_charged #request_charged} => String
5670
+ # * {Types::RestoreObjectOutput#restore_output_path #restore_output_path} => String
5669
5671
  #
5670
5672
  #
5671
5673
  # @example Example: To restore an archived object
@@ -5694,10 +5696,75 @@ module Aws::S3
5694
5696
  # key: "ObjectKey", # required
5695
5697
  # version_id: "ObjectVersionId",
5696
5698
  # restore_request: {
5697
- # days: 1, # required
5699
+ # days: 1,
5698
5700
  # glacier_job_parameters: {
5699
5701
  # tier: "Standard", # required, accepts Standard, Bulk, Expedited
5700
5702
  # },
5703
+ # type: "SELECT", # accepts SELECT
5704
+ # tier: "Standard", # accepts Standard, Bulk, Expedited
5705
+ # description: "Description",
5706
+ # select_parameters: {
5707
+ # input_serialization: { # required
5708
+ # csv: {
5709
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
5710
+ # comments: "Comments",
5711
+ # quote_escape_character: "QuoteEscapeCharacter",
5712
+ # record_delimiter: "RecordDelimiter",
5713
+ # field_delimiter: "FieldDelimiter",
5714
+ # quote_character: "QuoteCharacter",
5715
+ # },
5716
+ # },
5717
+ # expression_type: "SQL", # required, accepts SQL
5718
+ # expression: "Expression", # required
5719
+ # output_serialization: { # required
5720
+ # csv: {
5721
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
5722
+ # quote_escape_character: "QuoteEscapeCharacter",
5723
+ # record_delimiter: "RecordDelimiter",
5724
+ # field_delimiter: "FieldDelimiter",
5725
+ # quote_character: "QuoteCharacter",
5726
+ # },
5727
+ # },
5728
+ # },
5729
+ # output_location: {
5730
+ # s3: {
5731
+ # bucket_name: "BucketName", # required
5732
+ # prefix: "LocationPrefix", # required
5733
+ # encryption: {
5734
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms
5735
+ # kms_key_id: "SSEKMSKeyId",
5736
+ # kms_context: "KMSContext",
5737
+ # },
5738
+ # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
5739
+ # access_control_list: [
5740
+ # {
5741
+ # grantee: {
5742
+ # display_name: "DisplayName",
5743
+ # email_address: "EmailAddress",
5744
+ # id: "ID",
5745
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
5746
+ # uri: "URI",
5747
+ # },
5748
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
5749
+ # },
5750
+ # ],
5751
+ # tagging: {
5752
+ # tag_set: [ # required
5753
+ # {
5754
+ # key: "ObjectKey", # required
5755
+ # value: "Value", # required
5756
+ # },
5757
+ # ],
5758
+ # },
5759
+ # user_metadata: [
5760
+ # {
5761
+ # name: "MetadataKey",
5762
+ # value: "MetadataValue",
5763
+ # },
5764
+ # ],
5765
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
5766
+ # },
5767
+ # },
5701
5768
  # },
5702
5769
  # request_payer: "requester", # accepts requester
5703
5770
  # })
@@ -5705,6 +5772,7 @@ module Aws::S3
5705
5772
  # @example Response structure
5706
5773
  #
5707
5774
  # resp.request_charged #=> String, one of "requester"
5775
+ # resp.restore_output_path #=> String
5708
5776
  #
5709
5777
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject AWS API Documentation
5710
5778
  #
@@ -6019,7 +6087,7 @@ module Aws::S3
6019
6087
  params: params,
6020
6088
  config: config)
6021
6089
  context[:gem_name] = 'aws-sdk-s3'
6022
- context[:gem_version] = '1.7.0'
6090
+ context[:gem_version] = '1.8.0'
6023
6091
  Seahorse::Client::Request.new(handlers, context)
6024
6092
  end
6025
6093
 
@@ -51,11 +51,14 @@ module Aws::S3
51
51
  CORSConfiguration = Shapes::StructureShape.new(name: 'CORSConfiguration')
52
52
  CORSRule = Shapes::StructureShape.new(name: 'CORSRule')
53
53
  CORSRules = Shapes::ListShape.new(name: 'CORSRules', flattened: true)
54
+ CSVInput = Shapes::StructureShape.new(name: 'CSVInput')
55
+ CSVOutput = Shapes::StructureShape.new(name: 'CSVOutput')
54
56
  CacheControl = Shapes::StringShape.new(name: 'CacheControl')
55
57
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
56
58
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
57
59
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
58
60
  Code = Shapes::StringShape.new(name: 'Code')
61
+ Comments = Shapes::StringShape.new(name: 'Comments')
59
62
  CommonPrefix = Shapes::StructureShape.new(name: 'CommonPrefix')
60
63
  CommonPrefixList = Shapes::ListShape.new(name: 'CommonPrefixList', flattened: true)
61
64
  CompleteMultipartUploadOutput = Shapes::StructureShape.new(name: 'CompleteMultipartUploadOutput')
@@ -120,11 +123,13 @@ module Aws::S3
120
123
  DeletedObject = Shapes::StructureShape.new(name: 'DeletedObject')
121
124
  DeletedObjects = Shapes::ListShape.new(name: 'DeletedObjects', flattened: true)
122
125
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
126
+ Description = Shapes::StringShape.new(name: 'Description')
123
127
  Destination = Shapes::StructureShape.new(name: 'Destination')
124
128
  DisplayName = Shapes::StringShape.new(name: 'DisplayName')
125
129
  ETag = Shapes::StringShape.new(name: 'ETag')
126
130
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
127
131
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
132
+ Encryption = Shapes::StructureShape.new(name: 'Encryption')
128
133
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
129
134
  Error = Shapes::StructureShape.new(name: 'Error')
130
135
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
@@ -138,7 +143,11 @@ module Aws::S3
138
143
  ExpiresString = Shapes::StringShape.new(name: 'ExpiresString')
139
144
  ExposeHeader = Shapes::StringShape.new(name: 'ExposeHeader')
140
145
  ExposeHeaders = Shapes::ListShape.new(name: 'ExposeHeaders', flattened: true)
146
+ Expression = Shapes::StringShape.new(name: 'Expression')
147
+ ExpressionType = Shapes::StringShape.new(name: 'ExpressionType')
141
148
  FetchOwner = Shapes::BooleanShape.new(name: 'FetchOwner')
149
+ FieldDelimiter = Shapes::StringShape.new(name: 'FieldDelimiter')
150
+ FileHeaderInfo = Shapes::StringShape.new(name: 'FileHeaderInfo')
142
151
  FilterRule = Shapes::StructureShape.new(name: 'FilterRule')
143
152
  FilterRuleList = Shapes::ListShape.new(name: 'FilterRuleList', flattened: true)
144
153
  FilterRuleName = Shapes::StringShape.new(name: 'FilterRuleName')
@@ -209,6 +218,7 @@ module Aws::S3
209
218
  IndexDocument = Shapes::StructureShape.new(name: 'IndexDocument')
210
219
  Initiated = Shapes::TimestampShape.new(name: 'Initiated')
211
220
  Initiator = Shapes::StructureShape.new(name: 'Initiator')
221
+ InputSerialization = Shapes::StructureShape.new(name: 'InputSerialization')
212
222
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
213
223
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
214
224
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
@@ -225,6 +235,7 @@ module Aws::S3
225
235
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
226
236
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
227
237
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
238
+ KMSContext = Shapes::StringShape.new(name: 'KMSContext')
228
239
  KeyCount = Shapes::IntegerShape.new(name: 'KeyCount')
229
240
  KeyMarker = Shapes::StringShape.new(name: 'KeyMarker')
230
241
  KeyPrefixEquals = Shapes::StringShape.new(name: 'KeyPrefixEquals')
@@ -256,6 +267,7 @@ module Aws::S3
256
267
  ListPartsOutput = Shapes::StructureShape.new(name: 'ListPartsOutput')
257
268
  ListPartsRequest = Shapes::StructureShape.new(name: 'ListPartsRequest')
258
269
  Location = Shapes::StringShape.new(name: 'Location')
270
+ LocationPrefix = Shapes::StringShape.new(name: 'LocationPrefix')
259
271
  LoggingEnabled = Shapes::StructureShape.new(name: 'LoggingEnabled')
260
272
  MFA = Shapes::StringShape.new(name: 'MFA')
261
273
  MFADelete = Shapes::StringShape.new(name: 'MFADelete')
@@ -268,6 +280,7 @@ module Aws::S3
268
280
  Message = Shapes::StringShape.new(name: 'Message')
269
281
  Metadata = Shapes::MapShape.new(name: 'Metadata')
270
282
  MetadataDirective = Shapes::StringShape.new(name: 'MetadataDirective')
283
+ MetadataEntry = Shapes::StructureShape.new(name: 'MetadataEntry')
271
284
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
272
285
  MetadataValue = Shapes::StringShape.new(name: 'MetadataValue')
273
286
  MetricsAndOperator = Shapes::StructureShape.new(name: 'MetricsAndOperator')
@@ -308,6 +321,8 @@ module Aws::S3
308
321
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
309
322
  ObjectVersionList = Shapes::ListShape.new(name: 'ObjectVersionList', flattened: true)
310
323
  ObjectVersionStorageClass = Shapes::StringShape.new(name: 'ObjectVersionStorageClass')
324
+ OutputLocation = Shapes::StructureShape.new(name: 'OutputLocation')
325
+ OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
311
326
  Owner = Shapes::StructureShape.new(name: 'Owner')
312
327
  OwnerOverride = Shapes::StringShape.new(name: 'OwnerOverride')
313
328
  Part = Shapes::StructureShape.new(name: 'Part')
@@ -349,7 +364,11 @@ module Aws::S3
349
364
  QueueConfigurationDeprecated = Shapes::StructureShape.new(name: 'QueueConfigurationDeprecated')
350
365
  QueueConfigurationList = Shapes::ListShape.new(name: 'QueueConfigurationList', flattened: true)
351
366
  Quiet = Shapes::BooleanShape.new(name: 'Quiet')
367
+ QuoteCharacter = Shapes::StringShape.new(name: 'QuoteCharacter')
368
+ QuoteEscapeCharacter = Shapes::StringShape.new(name: 'QuoteEscapeCharacter')
369
+ QuoteFields = Shapes::StringShape.new(name: 'QuoteFields')
352
370
  Range = Shapes::StringShape.new(name: 'Range')
371
+ RecordDelimiter = Shapes::StringShape.new(name: 'RecordDelimiter')
353
372
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
354
373
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
355
374
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
@@ -372,19 +391,23 @@ module Aws::S3
372
391
  Restore = Shapes::StringShape.new(name: 'Restore')
373
392
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
374
393
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
394
+ RestoreOutputPath = Shapes::StringShape.new(name: 'RestoreOutputPath')
375
395
  RestoreRequest = Shapes::StructureShape.new(name: 'RestoreRequest')
396
+ RestoreRequestType = Shapes::StringShape.new(name: 'RestoreRequestType')
376
397
  Role = Shapes::StringShape.new(name: 'Role')
377
398
  RoutingRule = Shapes::StructureShape.new(name: 'RoutingRule')
378
399
  RoutingRules = Shapes::ListShape.new(name: 'RoutingRules')
379
400
  Rule = Shapes::StructureShape.new(name: 'Rule')
380
401
  Rules = Shapes::ListShape.new(name: 'Rules', flattened: true)
381
402
  S3KeyFilter = Shapes::StructureShape.new(name: 'S3KeyFilter')
403
+ S3Location = Shapes::StructureShape.new(name: 'S3Location')
382
404
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
383
405
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
384
406
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
385
407
  SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
386
408
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
387
409
  SSES3 = Shapes::StructureShape.new(name: 'SSES3')
410
+ SelectParameters = Shapes::StructureShape.new(name: 'SelectParameters')
388
411
  ServerSideEncryption = Shapes::StringShape.new(name: 'ServerSideEncryption')
389
412
  ServerSideEncryptionByDefault = Shapes::StructureShape.new(name: 'ServerSideEncryptionByDefault')
390
413
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
@@ -426,6 +449,7 @@ module Aws::S3
426
449
  UploadPartCopyRequest = Shapes::StructureShape.new(name: 'UploadPartCopyRequest')
427
450
  UploadPartOutput = Shapes::StructureShape.new(name: 'UploadPartOutput')
428
451
  UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
452
+ UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
429
453
  Value = Shapes::StringShape.new(name: 'Value')
430
454
  VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
431
455
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
@@ -509,6 +533,21 @@ module Aws::S3
509
533
 
510
534
  CORSRules.member = Shapes::ShapeRef.new(shape: CORSRule)
511
535
 
536
+ CSVInput.add_member(:file_header_info, Shapes::ShapeRef.new(shape: FileHeaderInfo, location_name: "FileHeaderInfo"))
537
+ CSVInput.add_member(:comments, Shapes::ShapeRef.new(shape: Comments, location_name: "Comments"))
538
+ CSVInput.add_member(:quote_escape_character, Shapes::ShapeRef.new(shape: QuoteEscapeCharacter, location_name: "QuoteEscapeCharacter"))
539
+ CSVInput.add_member(:record_delimiter, Shapes::ShapeRef.new(shape: RecordDelimiter, location_name: "RecordDelimiter"))
540
+ CSVInput.add_member(:field_delimiter, Shapes::ShapeRef.new(shape: FieldDelimiter, location_name: "FieldDelimiter"))
541
+ CSVInput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
542
+ CSVInput.struct_class = Types::CSVInput
543
+
544
+ CSVOutput.add_member(:quote_fields, Shapes::ShapeRef.new(shape: QuoteFields, location_name: "QuoteFields"))
545
+ CSVOutput.add_member(:quote_escape_character, Shapes::ShapeRef.new(shape: QuoteEscapeCharacter, location_name: "QuoteEscapeCharacter"))
546
+ CSVOutput.add_member(:record_delimiter, Shapes::ShapeRef.new(shape: RecordDelimiter, location_name: "RecordDelimiter"))
547
+ CSVOutput.add_member(:field_delimiter, Shapes::ShapeRef.new(shape: FieldDelimiter, location_name: "FieldDelimiter"))
548
+ CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
549
+ CSVOutput.struct_class = Types::CSVOutput
550
+
512
551
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
513
552
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
514
553
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -762,6 +801,11 @@ module Aws::S3
762
801
  Destination.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "EncryptionConfiguration"))
763
802
  Destination.struct_class = Types::Destination
764
803
 
804
+ Encryption.add_member(:encryption_type, Shapes::ShapeRef.new(shape: ServerSideEncryption, required: true, location_name: "EncryptionType"))
805
+ Encryption.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location_name: "KMSKeyId"))
806
+ Encryption.add_member(:kms_context, Shapes::ShapeRef.new(shape: KMSContext, location_name: "KMSContext"))
807
+ Encryption.struct_class = Types::Encryption
808
+
765
809
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
766
810
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
767
811
 
@@ -1065,6 +1109,9 @@ module Aws::S3
1065
1109
  Initiator.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "DisplayName"))
1066
1110
  Initiator.struct_class = Types::Initiator
1067
1111
 
1112
+ InputSerialization.add_member(:csv, Shapes::ShapeRef.new(shape: CSVInput, location_name: "CSV"))
1113
+ InputSerialization.struct_class = Types::InputSerialization
1114
+
1068
1115
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
1069
1116
  InventoryConfiguration.add_member(:is_enabled, Shapes::ShapeRef.new(shape: IsEnabled, required: true, location_name: "IsEnabled"))
1070
1117
  InventoryConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: InventoryFilter, location_name: "Filter"))
@@ -1295,6 +1342,10 @@ module Aws::S3
1295
1342
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
1296
1343
  Metadata.value = Shapes::ShapeRef.new(shape: MetadataValue)
1297
1344
 
1345
+ MetadataEntry.add_member(:name, Shapes::ShapeRef.new(shape: MetadataKey, location_name: "Name"))
1346
+ MetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: MetadataValue, location_name: "Value"))
1347
+ MetadataEntry.struct_class = Types::MetadataEntry
1348
+
1298
1349
  MetricsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1299
1350
  MetricsAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1300
1351
  MetricsAndOperator.struct_class = Types::MetricsAndOperator
@@ -1370,6 +1421,12 @@ module Aws::S3
1370
1421
 
1371
1422
  ObjectVersionList.member = Shapes::ShapeRef.new(shape: ObjectVersion)
1372
1423
 
1424
+ OutputLocation.add_member(:s3, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3"))
1425
+ OutputLocation.struct_class = Types::OutputLocation
1426
+
1427
+ OutputSerialization.add_member(:csv, Shapes::ShapeRef.new(shape: CSVOutput, location_name: "CSV"))
1428
+ OutputSerialization.struct_class = Types::OutputSerialization
1429
+
1373
1430
  Owner.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "DisplayName"))
1374
1431
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1375
1432
  Owner.struct_class = Types::Owner
@@ -1626,6 +1683,7 @@ module Aws::S3
1626
1683
  RequestPaymentConfiguration.struct_class = Types::RequestPaymentConfiguration
1627
1684
 
1628
1685
  RestoreObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1686
+ RestoreObjectOutput.add_member(:restore_output_path, Shapes::ShapeRef.new(shape: RestoreOutputPath, location: "header", location_name: "x-amz-restore-output-path"))
1629
1687
  RestoreObjectOutput.struct_class = Types::RestoreObjectOutput
1630
1688
 
1631
1689
  RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
@@ -1637,8 +1695,13 @@ module Aws::S3
1637
1695
  RestoreObjectRequest[:payload] = :restore_request
1638
1696
  RestoreObjectRequest[:payload_member] = RestoreObjectRequest.member(:restore_request)
1639
1697
 
1640
- RestoreRequest.add_member(:days, Shapes::ShapeRef.new(shape: Days, required: true, location_name: "Days"))
1698
+ RestoreRequest.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
1641
1699
  RestoreRequest.add_member(:glacier_job_parameters, Shapes::ShapeRef.new(shape: GlacierJobParameters, location_name: "GlacierJobParameters"))
1700
+ RestoreRequest.add_member(:type, Shapes::ShapeRef.new(shape: RestoreRequestType, location_name: "Type"))
1701
+ RestoreRequest.add_member(:tier, Shapes::ShapeRef.new(shape: Tier, location_name: "Tier"))
1702
+ RestoreRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
1703
+ RestoreRequest.add_member(:select_parameters, Shapes::ShapeRef.new(shape: SelectParameters, location_name: "SelectParameters"))
1704
+ RestoreRequest.add_member(:output_location, Shapes::ShapeRef.new(shape: OutputLocation, location_name: "OutputLocation"))
1642
1705
  RestoreRequest.struct_class = Types::RestoreRequest
1643
1706
 
1644
1707
  RoutingRule.add_member(:condition, Shapes::ShapeRef.new(shape: Condition, location_name: "Condition"))
@@ -1662,11 +1725,27 @@ module Aws::S3
1662
1725
  S3KeyFilter.add_member(:filter_rules, Shapes::ShapeRef.new(shape: FilterRuleList, location_name: "FilterRule"))
1663
1726
  S3KeyFilter.struct_class = Types::S3KeyFilter
1664
1727
 
1728
+ S3Location.add_member(:bucket_name, Shapes::ShapeRef.new(shape: BucketName, required: true, location_name: "BucketName"))
1729
+ S3Location.add_member(:prefix, Shapes::ShapeRef.new(shape: LocationPrefix, required: true, location_name: "Prefix"))
1730
+ S3Location.add_member(:encryption, Shapes::ShapeRef.new(shape: Encryption, location_name: "Encryption"))
1731
+ S3Location.add_member(:canned_acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location_name: "CannedACL"))
1732
+ S3Location.add_member(:access_control_list, Shapes::ShapeRef.new(shape: Grants, location_name: "AccessControlList"))
1733
+ S3Location.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, location_name: "Tagging"))
1734
+ S3Location.add_member(:user_metadata, Shapes::ShapeRef.new(shape: UserMetadata, location_name: "UserMetadata"))
1735
+ S3Location.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1736
+ S3Location.struct_class = Types::S3Location
1737
+
1665
1738
  SSEKMS.add_member(:key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, required: true, location_name: "KeyId"))
1666
1739
  SSEKMS.struct_class = Types::SSEKMS
1667
1740
 
1668
1741
  SSES3.struct_class = Types::SSES3
1669
1742
 
1743
+ SelectParameters.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
1744
+ SelectParameters.add_member(:expression_type, Shapes::ShapeRef.new(shape: ExpressionType, required: true, location_name: "ExpressionType"))
1745
+ SelectParameters.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
1746
+ SelectParameters.add_member(:output_serialization, Shapes::ShapeRef.new(shape: OutputSerialization, required: true, location_name: "OutputSerialization"))
1747
+ SelectParameters.struct_class = Types::SelectParameters
1748
+
1670
1749
  ServerSideEncryptionByDefault.add_member(:sse_algorithm, Shapes::ShapeRef.new(shape: ServerSideEncryption, required: true, location_name: "SSEAlgorithm"))
1671
1750
  ServerSideEncryptionByDefault.add_member(:kms_master_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location_name: "KMSMasterKeyID"))
1672
1751
  ServerSideEncryptionByDefault.struct_class = Types::ServerSideEncryptionByDefault
@@ -1781,6 +1860,8 @@ module Aws::S3
1781
1860
  UploadPartRequest[:payload] = :body
1782
1861
  UploadPartRequest[:payload_member] = UploadPartRequest.member(:body)
1783
1862
 
1863
+ UserMetadata.member = Shapes::ShapeRef.new(shape: MetadataEntry, location_name: "MetadataEntry")
1864
+
1784
1865
  VersioningConfiguration.add_member(:mfa_delete, Shapes::ShapeRef.new(shape: MFADelete, location_name: "MfaDelete"))
1785
1866
  VersioningConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: BucketVersioningStatus, location_name: "Status"))
1786
1867
  VersioningConfiguration.struct_class = Types::VersioningConfiguration
@@ -882,16 +882,82 @@ module Aws::S3
882
882
  # object.restore_object({
883
883
  # version_id: "ObjectVersionId",
884
884
  # restore_request: {
885
- # days: 1, # required
885
+ # days: 1,
886
886
  # glacier_job_parameters: {
887
887
  # tier: "Standard", # required, accepts Standard, Bulk, Expedited
888
888
  # },
889
+ # type: "SELECT", # accepts SELECT
890
+ # tier: "Standard", # accepts Standard, Bulk, Expedited
891
+ # description: "Description",
892
+ # select_parameters: {
893
+ # input_serialization: { # required
894
+ # csv: {
895
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
896
+ # comments: "Comments",
897
+ # quote_escape_character: "QuoteEscapeCharacter",
898
+ # record_delimiter: "RecordDelimiter",
899
+ # field_delimiter: "FieldDelimiter",
900
+ # quote_character: "QuoteCharacter",
901
+ # },
902
+ # },
903
+ # expression_type: "SQL", # required, accepts SQL
904
+ # expression: "Expression", # required
905
+ # output_serialization: { # required
906
+ # csv: {
907
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
908
+ # quote_escape_character: "QuoteEscapeCharacter",
909
+ # record_delimiter: "RecordDelimiter",
910
+ # field_delimiter: "FieldDelimiter",
911
+ # quote_character: "QuoteCharacter",
912
+ # },
913
+ # },
914
+ # },
915
+ # output_location: {
916
+ # s3: {
917
+ # bucket_name: "BucketName", # required
918
+ # prefix: "LocationPrefix", # required
919
+ # encryption: {
920
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms
921
+ # kms_key_id: "SSEKMSKeyId",
922
+ # kms_context: "KMSContext",
923
+ # },
924
+ # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
925
+ # access_control_list: [
926
+ # {
927
+ # grantee: {
928
+ # display_name: "DisplayName",
929
+ # email_address: "EmailAddress",
930
+ # id: "ID",
931
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
932
+ # uri: "URI",
933
+ # },
934
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
935
+ # },
936
+ # ],
937
+ # tagging: {
938
+ # tag_set: [ # required
939
+ # {
940
+ # key: "ObjectKey", # required
941
+ # value: "Value", # required
942
+ # },
943
+ # ],
944
+ # },
945
+ # user_metadata: [
946
+ # {
947
+ # name: "MetadataKey",
948
+ # value: "MetadataValue",
949
+ # },
950
+ # ],
951
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
952
+ # },
953
+ # },
889
954
  # },
890
955
  # request_payer: "requester", # accepts requester
891
956
  # })
892
957
  # @param [Hash] options ({})
893
958
  # @option options [String] :version_id
894
959
  # @option options [Types::RestoreRequest] :restore_request
960
+ # Container for restore job parameters.
895
961
  # @option options [String] :request_payer
896
962
  # Confirms that the requester knows that she or he will be charged for
897
963
  # the request. Bucket owners need not specify this parameter in their
@@ -725,16 +725,82 @@ module Aws::S3
725
725
  # object_summary.restore_object({
726
726
  # version_id: "ObjectVersionId",
727
727
  # restore_request: {
728
- # days: 1, # required
728
+ # days: 1,
729
729
  # glacier_job_parameters: {
730
730
  # tier: "Standard", # required, accepts Standard, Bulk, Expedited
731
731
  # },
732
+ # type: "SELECT", # accepts SELECT
733
+ # tier: "Standard", # accepts Standard, Bulk, Expedited
734
+ # description: "Description",
735
+ # select_parameters: {
736
+ # input_serialization: { # required
737
+ # csv: {
738
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
739
+ # comments: "Comments",
740
+ # quote_escape_character: "QuoteEscapeCharacter",
741
+ # record_delimiter: "RecordDelimiter",
742
+ # field_delimiter: "FieldDelimiter",
743
+ # quote_character: "QuoteCharacter",
744
+ # },
745
+ # },
746
+ # expression_type: "SQL", # required, accepts SQL
747
+ # expression: "Expression", # required
748
+ # output_serialization: { # required
749
+ # csv: {
750
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
751
+ # quote_escape_character: "QuoteEscapeCharacter",
752
+ # record_delimiter: "RecordDelimiter",
753
+ # field_delimiter: "FieldDelimiter",
754
+ # quote_character: "QuoteCharacter",
755
+ # },
756
+ # },
757
+ # },
758
+ # output_location: {
759
+ # s3: {
760
+ # bucket_name: "BucketName", # required
761
+ # prefix: "LocationPrefix", # required
762
+ # encryption: {
763
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms
764
+ # kms_key_id: "SSEKMSKeyId",
765
+ # kms_context: "KMSContext",
766
+ # },
767
+ # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
768
+ # access_control_list: [
769
+ # {
770
+ # grantee: {
771
+ # display_name: "DisplayName",
772
+ # email_address: "EmailAddress",
773
+ # id: "ID",
774
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
775
+ # uri: "URI",
776
+ # },
777
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
778
+ # },
779
+ # ],
780
+ # tagging: {
781
+ # tag_set: [ # required
782
+ # {
783
+ # key: "ObjectKey", # required
784
+ # value: "Value", # required
785
+ # },
786
+ # ],
787
+ # },
788
+ # user_metadata: [
789
+ # {
790
+ # name: "MetadataKey",
791
+ # value: "MetadataValue",
792
+ # },
793
+ # ],
794
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
795
+ # },
796
+ # },
732
797
  # },
733
798
  # request_payer: "requester", # accepts requester
734
799
  # })
735
800
  # @param [Hash] options ({})
736
801
  # @option options [String] :version_id
737
802
  # @option options [Types::RestoreRequest] :restore_request
803
+ # Container for restore job parameters.
738
804
  # @option options [String] :request_payer
739
805
  # Confirms that the requester knows that she or he will be charged for
740
806
  # the request. Bucket owners need not specify this parameter in their
@@ -534,6 +534,105 @@ module Aws::S3
534
534
  include Aws::Structure
535
535
  end
536
536
 
537
+ # Describes how a CSV-formatted input object is formatted.
538
+ #
539
+ # @note When making an API call, you may pass CSVInput
540
+ # data as a hash:
541
+ #
542
+ # {
543
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
544
+ # comments: "Comments",
545
+ # quote_escape_character: "QuoteEscapeCharacter",
546
+ # record_delimiter: "RecordDelimiter",
547
+ # field_delimiter: "FieldDelimiter",
548
+ # quote_character: "QuoteCharacter",
549
+ # }
550
+ #
551
+ # @!attribute [rw] file_header_info
552
+ # Describes the first line of input. Valid values: None, Ignore, Use.
553
+ # @return [String]
554
+ #
555
+ # @!attribute [rw] comments
556
+ # Single character used to indicate a row should be ignored when
557
+ # present at the start of a row.
558
+ # @return [String]
559
+ #
560
+ # @!attribute [rw] quote_escape_character
561
+ # Single character used for escaping the quote character inside an
562
+ # already escaped value.
563
+ # @return [String]
564
+ #
565
+ # @!attribute [rw] record_delimiter
566
+ # Value used to separate individual records.
567
+ # @return [String]
568
+ #
569
+ # @!attribute [rw] field_delimiter
570
+ # Value used to separate individual fields in a record.
571
+ # @return [String]
572
+ #
573
+ # @!attribute [rw] quote_character
574
+ # Value used for escaping where the field delimiter is part of the
575
+ # value.
576
+ # @return [String]
577
+ #
578
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVInput AWS API Documentation
579
+ #
580
+ class CSVInput < Struct.new(
581
+ :file_header_info,
582
+ :comments,
583
+ :quote_escape_character,
584
+ :record_delimiter,
585
+ :field_delimiter,
586
+ :quote_character)
587
+ include Aws::Structure
588
+ end
589
+
590
+ # Describes how CSV-formatted results are formatted.
591
+ #
592
+ # @note When making an API call, you may pass CSVOutput
593
+ # data as a hash:
594
+ #
595
+ # {
596
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
597
+ # quote_escape_character: "QuoteEscapeCharacter",
598
+ # record_delimiter: "RecordDelimiter",
599
+ # field_delimiter: "FieldDelimiter",
600
+ # quote_character: "QuoteCharacter",
601
+ # }
602
+ #
603
+ # @!attribute [rw] quote_fields
604
+ # Indicates whether or not all output fields should be quoted.
605
+ # @return [String]
606
+ #
607
+ # @!attribute [rw] quote_escape_character
608
+ # Single character used for escaping the quote character inside an
609
+ # already escaped value.
610
+ # @return [String]
611
+ #
612
+ # @!attribute [rw] record_delimiter
613
+ # Value used to separate individual records.
614
+ # @return [String]
615
+ #
616
+ # @!attribute [rw] field_delimiter
617
+ # Value used to separate individual fields in a record.
618
+ # @return [String]
619
+ #
620
+ # @!attribute [rw] quote_character
621
+ # Value used for escaping where the field delimiter is part of the
622
+ # value.
623
+ # @return [String]
624
+ #
625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVOutput AWS API Documentation
626
+ #
627
+ class CSVOutput < Struct.new(
628
+ :quote_fields,
629
+ :quote_escape_character,
630
+ :record_delimiter,
631
+ :field_delimiter,
632
+ :quote_character)
633
+ include Aws::Structure
634
+ end
635
+
537
636
  # @note When making an API call, you may pass CloudFunctionConfiguration
538
637
  # data as a hash:
539
638
  #
@@ -1955,6 +2054,42 @@ module Aws::S3
1955
2054
  include Aws::Structure
1956
2055
  end
1957
2056
 
2057
+ # Describes the server-side encryption that will be applied to the
2058
+ # restore results.
2059
+ #
2060
+ # @note When making an API call, you may pass Encryption
2061
+ # data as a hash:
2062
+ #
2063
+ # {
2064
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms
2065
+ # kms_key_id: "SSEKMSKeyId",
2066
+ # kms_context: "KMSContext",
2067
+ # }
2068
+ #
2069
+ # @!attribute [rw] encryption_type
2070
+ # The server-side encryption algorithm used when storing job results
2071
+ # in Amazon S3 (e.g., AES256, aws:kms).
2072
+ # @return [String]
2073
+ #
2074
+ # @!attribute [rw] kms_key_id
2075
+ # If the encryption type is aws:kms, this optional value specifies the
2076
+ # AWS KMS key ID to use for encryption of job results.
2077
+ # @return [String]
2078
+ #
2079
+ # @!attribute [rw] kms_context
2080
+ # If the encryption type is aws:kms, this optional value can be used
2081
+ # to specify the encryption context for the restore results.
2082
+ # @return [String]
2083
+ #
2084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Encryption AWS API Documentation
2085
+ #
2086
+ class Encryption < Struct.new(
2087
+ :encryption_type,
2088
+ :kms_key_id,
2089
+ :kms_context)
2090
+ include Aws::Structure
2091
+ end
2092
+
1958
2093
  # Container for information regarding encryption based configuration for
1959
2094
  # replicas.
1960
2095
  #
@@ -3464,6 +3599,33 @@ module Aws::S3
3464
3599
  include Aws::Structure
3465
3600
  end
3466
3601
 
3602
+ # Describes the serialization format of the object.
3603
+ #
3604
+ # @note When making an API call, you may pass InputSerialization
3605
+ # data as a hash:
3606
+ #
3607
+ # {
3608
+ # csv: {
3609
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
3610
+ # comments: "Comments",
3611
+ # quote_escape_character: "QuoteEscapeCharacter",
3612
+ # record_delimiter: "RecordDelimiter",
3613
+ # field_delimiter: "FieldDelimiter",
3614
+ # quote_character: "QuoteCharacter",
3615
+ # },
3616
+ # }
3617
+ #
3618
+ # @!attribute [rw] csv
3619
+ # Describes the serialization of a CSV-encoded object.
3620
+ # @return [Types::CSVInput]
3621
+ #
3622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InputSerialization AWS API Documentation
3623
+ #
3624
+ class InputSerialization < Struct.new(
3625
+ :csv)
3626
+ include Aws::Structure
3627
+ end
3628
+
3467
3629
  # @note When making an API call, you may pass InventoryConfiguration
3468
3630
  # data as a hash:
3469
3631
  #
@@ -4924,6 +5086,30 @@ module Aws::S3
4924
5086
  include Aws::Structure
4925
5087
  end
4926
5088
 
5089
+ # A metadata key-value pair to store with an object.
5090
+ #
5091
+ # @note When making an API call, you may pass MetadataEntry
5092
+ # data as a hash:
5093
+ #
5094
+ # {
5095
+ # name: "MetadataKey",
5096
+ # value: "MetadataValue",
5097
+ # }
5098
+ #
5099
+ # @!attribute [rw] name
5100
+ # @return [String]
5101
+ #
5102
+ # @!attribute [rw] value
5103
+ # @return [String]
5104
+ #
5105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataEntry AWS API Documentation
5106
+ #
5107
+ class MetadataEntry < Struct.new(
5108
+ :name,
5109
+ :value)
5110
+ include Aws::Structure
5111
+ end
5112
+
4927
5113
  # @note When making an API call, you may pass MetricsAndOperator
4928
5114
  # data as a hash:
4929
5115
  #
@@ -5398,6 +5584,89 @@ module Aws::S3
5398
5584
  include Aws::Structure
5399
5585
  end
5400
5586
 
5587
+ # Describes the location where the restore job's output is stored.
5588
+ #
5589
+ # @note When making an API call, you may pass OutputLocation
5590
+ # data as a hash:
5591
+ #
5592
+ # {
5593
+ # s3: {
5594
+ # bucket_name: "BucketName", # required
5595
+ # prefix: "LocationPrefix", # required
5596
+ # encryption: {
5597
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms
5598
+ # kms_key_id: "SSEKMSKeyId",
5599
+ # kms_context: "KMSContext",
5600
+ # },
5601
+ # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
5602
+ # access_control_list: [
5603
+ # {
5604
+ # grantee: {
5605
+ # display_name: "DisplayName",
5606
+ # email_address: "EmailAddress",
5607
+ # id: "ID",
5608
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
5609
+ # uri: "URI",
5610
+ # },
5611
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
5612
+ # },
5613
+ # ],
5614
+ # tagging: {
5615
+ # tag_set: [ # required
5616
+ # {
5617
+ # key: "ObjectKey", # required
5618
+ # value: "Value", # required
5619
+ # },
5620
+ # ],
5621
+ # },
5622
+ # user_metadata: [
5623
+ # {
5624
+ # name: "MetadataKey",
5625
+ # value: "MetadataValue",
5626
+ # },
5627
+ # ],
5628
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
5629
+ # },
5630
+ # }
5631
+ #
5632
+ # @!attribute [rw] s3
5633
+ # Describes an S3 location that will receive the results of the
5634
+ # restore request.
5635
+ # @return [Types::S3Location]
5636
+ #
5637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OutputLocation AWS API Documentation
5638
+ #
5639
+ class OutputLocation < Struct.new(
5640
+ :s3)
5641
+ include Aws::Structure
5642
+ end
5643
+
5644
+ # Describes how results of the Select job are serialized.
5645
+ #
5646
+ # @note When making an API call, you may pass OutputSerialization
5647
+ # data as a hash:
5648
+ #
5649
+ # {
5650
+ # csv: {
5651
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
5652
+ # quote_escape_character: "QuoteEscapeCharacter",
5653
+ # record_delimiter: "RecordDelimiter",
5654
+ # field_delimiter: "FieldDelimiter",
5655
+ # quote_character: "QuoteCharacter",
5656
+ # },
5657
+ # }
5658
+ #
5659
+ # @!attribute [rw] csv
5660
+ # Describes the serialization of CSV-encoded Select results.
5661
+ # @return [Types::CSVOutput]
5662
+ #
5663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OutputSerialization AWS API Documentation
5664
+ #
5665
+ class OutputSerialization < Struct.new(
5666
+ :csv)
5667
+ include Aws::Structure
5668
+ end
5669
+
5401
5670
  # @note When making an API call, you may pass Owner
5402
5671
  # data as a hash:
5403
5672
  #
@@ -7064,10 +7333,16 @@ module Aws::S3
7064
7333
  # for the request.
7065
7334
  # @return [String]
7066
7335
  #
7336
+ # @!attribute [rw] restore_output_path
7337
+ # Indicates the path in the provided S3 output location where Select
7338
+ # results will be restored to.
7339
+ # @return [String]
7340
+ #
7067
7341
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObjectOutput AWS API Documentation
7068
7342
  #
7069
7343
  class RestoreObjectOutput < Struct.new(
7070
- :request_charged)
7344
+ :request_charged,
7345
+ :restore_output_path)
7071
7346
  include Aws::Structure
7072
7347
  end
7073
7348
 
@@ -7079,10 +7354,75 @@ module Aws::S3
7079
7354
  # key: "ObjectKey", # required
7080
7355
  # version_id: "ObjectVersionId",
7081
7356
  # restore_request: {
7082
- # days: 1, # required
7357
+ # days: 1,
7083
7358
  # glacier_job_parameters: {
7084
7359
  # tier: "Standard", # required, accepts Standard, Bulk, Expedited
7085
7360
  # },
7361
+ # type: "SELECT", # accepts SELECT
7362
+ # tier: "Standard", # accepts Standard, Bulk, Expedited
7363
+ # description: "Description",
7364
+ # select_parameters: {
7365
+ # input_serialization: { # required
7366
+ # csv: {
7367
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
7368
+ # comments: "Comments",
7369
+ # quote_escape_character: "QuoteEscapeCharacter",
7370
+ # record_delimiter: "RecordDelimiter",
7371
+ # field_delimiter: "FieldDelimiter",
7372
+ # quote_character: "QuoteCharacter",
7373
+ # },
7374
+ # },
7375
+ # expression_type: "SQL", # required, accepts SQL
7376
+ # expression: "Expression", # required
7377
+ # output_serialization: { # required
7378
+ # csv: {
7379
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
7380
+ # quote_escape_character: "QuoteEscapeCharacter",
7381
+ # record_delimiter: "RecordDelimiter",
7382
+ # field_delimiter: "FieldDelimiter",
7383
+ # quote_character: "QuoteCharacter",
7384
+ # },
7385
+ # },
7386
+ # },
7387
+ # output_location: {
7388
+ # s3: {
7389
+ # bucket_name: "BucketName", # required
7390
+ # prefix: "LocationPrefix", # required
7391
+ # encryption: {
7392
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms
7393
+ # kms_key_id: "SSEKMSKeyId",
7394
+ # kms_context: "KMSContext",
7395
+ # },
7396
+ # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
7397
+ # access_control_list: [
7398
+ # {
7399
+ # grantee: {
7400
+ # display_name: "DisplayName",
7401
+ # email_address: "EmailAddress",
7402
+ # id: "ID",
7403
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
7404
+ # uri: "URI",
7405
+ # },
7406
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
7407
+ # },
7408
+ # ],
7409
+ # tagging: {
7410
+ # tag_set: [ # required
7411
+ # {
7412
+ # key: "ObjectKey", # required
7413
+ # value: "Value", # required
7414
+ # },
7415
+ # ],
7416
+ # },
7417
+ # user_metadata: [
7418
+ # {
7419
+ # name: "MetadataKey",
7420
+ # value: "MetadataValue",
7421
+ # },
7422
+ # ],
7423
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
7424
+ # },
7425
+ # },
7086
7426
  # },
7087
7427
  # request_payer: "requester", # accepts requester
7088
7428
  # }
@@ -7097,6 +7437,7 @@ module Aws::S3
7097
7437
  # @return [String]
7098
7438
  #
7099
7439
  # @!attribute [rw] restore_request
7440
+ # Container for restore job parameters.
7100
7441
  # @return [Types::RestoreRequest]
7101
7442
  #
7102
7443
  # @!attribute [rw] request_payer
@@ -7118,29 +7459,123 @@ module Aws::S3
7118
7459
  include Aws::Structure
7119
7460
  end
7120
7461
 
7462
+ # Container for restore job parameters.
7463
+ #
7121
7464
  # @note When making an API call, you may pass RestoreRequest
7122
7465
  # data as a hash:
7123
7466
  #
7124
7467
  # {
7125
- # days: 1, # required
7468
+ # days: 1,
7126
7469
  # glacier_job_parameters: {
7127
7470
  # tier: "Standard", # required, accepts Standard, Bulk, Expedited
7128
7471
  # },
7472
+ # type: "SELECT", # accepts SELECT
7473
+ # tier: "Standard", # accepts Standard, Bulk, Expedited
7474
+ # description: "Description",
7475
+ # select_parameters: {
7476
+ # input_serialization: { # required
7477
+ # csv: {
7478
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
7479
+ # comments: "Comments",
7480
+ # quote_escape_character: "QuoteEscapeCharacter",
7481
+ # record_delimiter: "RecordDelimiter",
7482
+ # field_delimiter: "FieldDelimiter",
7483
+ # quote_character: "QuoteCharacter",
7484
+ # },
7485
+ # },
7486
+ # expression_type: "SQL", # required, accepts SQL
7487
+ # expression: "Expression", # required
7488
+ # output_serialization: { # required
7489
+ # csv: {
7490
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
7491
+ # quote_escape_character: "QuoteEscapeCharacter",
7492
+ # record_delimiter: "RecordDelimiter",
7493
+ # field_delimiter: "FieldDelimiter",
7494
+ # quote_character: "QuoteCharacter",
7495
+ # },
7496
+ # },
7497
+ # },
7498
+ # output_location: {
7499
+ # s3: {
7500
+ # bucket_name: "BucketName", # required
7501
+ # prefix: "LocationPrefix", # required
7502
+ # encryption: {
7503
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms
7504
+ # kms_key_id: "SSEKMSKeyId",
7505
+ # kms_context: "KMSContext",
7506
+ # },
7507
+ # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
7508
+ # access_control_list: [
7509
+ # {
7510
+ # grantee: {
7511
+ # display_name: "DisplayName",
7512
+ # email_address: "EmailAddress",
7513
+ # id: "ID",
7514
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
7515
+ # uri: "URI",
7516
+ # },
7517
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
7518
+ # },
7519
+ # ],
7520
+ # tagging: {
7521
+ # tag_set: [ # required
7522
+ # {
7523
+ # key: "ObjectKey", # required
7524
+ # value: "Value", # required
7525
+ # },
7526
+ # ],
7527
+ # },
7528
+ # user_metadata: [
7529
+ # {
7530
+ # name: "MetadataKey",
7531
+ # value: "MetadataValue",
7532
+ # },
7533
+ # ],
7534
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
7535
+ # },
7536
+ # },
7129
7537
  # }
7130
7538
  #
7131
7539
  # @!attribute [rw] days
7132
- # Lifetime of the active copy in days
7540
+ # Lifetime of the active copy in days. Do not use with restores that
7541
+ # specify OutputLocation.
7133
7542
  # @return [Integer]
7134
7543
  #
7135
7544
  # @!attribute [rw] glacier_job_parameters
7136
- # Glacier related prameters pertaining to this job.
7545
+ # Glacier related parameters pertaining to this job. Do not use with
7546
+ # restores that specify OutputLocation.
7137
7547
  # @return [Types::GlacierJobParameters]
7138
7548
  #
7549
+ # @!attribute [rw] type
7550
+ # Type of restore request.
7551
+ # @return [String]
7552
+ #
7553
+ # @!attribute [rw] tier
7554
+ # Glacier retrieval tier at which the restore will be processed.
7555
+ # @return [String]
7556
+ #
7557
+ # @!attribute [rw] description
7558
+ # The optional description for the job.
7559
+ # @return [String]
7560
+ #
7561
+ # @!attribute [rw] select_parameters
7562
+ # Describes the parameters for Select job types.
7563
+ # @return [Types::SelectParameters]
7564
+ #
7565
+ # @!attribute [rw] output_location
7566
+ # Describes the location where the restore job's output is stored.
7567
+ # @return [Types::OutputLocation]
7568
+ #
7139
7569
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreRequest AWS API Documentation
7140
7570
  #
7141
7571
  class RestoreRequest < Struct.new(
7142
7572
  :days,
7143
- :glacier_job_parameters)
7573
+ :glacier_job_parameters,
7574
+ :type,
7575
+ :tier,
7576
+ :description,
7577
+ :select_parameters,
7578
+ :output_location)
7144
7579
  include Aws::Structure
7145
7580
  end
7146
7581
 
@@ -7297,6 +7732,98 @@ module Aws::S3
7297
7732
  include Aws::Structure
7298
7733
  end
7299
7734
 
7735
+ # Describes an S3 location that will receive the results of the restore
7736
+ # request.
7737
+ #
7738
+ # @note When making an API call, you may pass S3Location
7739
+ # data as a hash:
7740
+ #
7741
+ # {
7742
+ # bucket_name: "BucketName", # required
7743
+ # prefix: "LocationPrefix", # required
7744
+ # encryption: {
7745
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms
7746
+ # kms_key_id: "SSEKMSKeyId",
7747
+ # kms_context: "KMSContext",
7748
+ # },
7749
+ # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
7750
+ # access_control_list: [
7751
+ # {
7752
+ # grantee: {
7753
+ # display_name: "DisplayName",
7754
+ # email_address: "EmailAddress",
7755
+ # id: "ID",
7756
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
7757
+ # uri: "URI",
7758
+ # },
7759
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
7760
+ # },
7761
+ # ],
7762
+ # tagging: {
7763
+ # tag_set: [ # required
7764
+ # {
7765
+ # key: "ObjectKey", # required
7766
+ # value: "Value", # required
7767
+ # },
7768
+ # ],
7769
+ # },
7770
+ # user_metadata: [
7771
+ # {
7772
+ # name: "MetadataKey",
7773
+ # value: "MetadataValue",
7774
+ # },
7775
+ # ],
7776
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
7777
+ # }
7778
+ #
7779
+ # @!attribute [rw] bucket_name
7780
+ # The name of the bucket where the restore results will be placed.
7781
+ # @return [String]
7782
+ #
7783
+ # @!attribute [rw] prefix
7784
+ # The prefix that is prepended to the restore results for this
7785
+ # request.
7786
+ # @return [String]
7787
+ #
7788
+ # @!attribute [rw] encryption
7789
+ # Describes the server-side encryption that will be applied to the
7790
+ # restore results.
7791
+ # @return [Types::Encryption]
7792
+ #
7793
+ # @!attribute [rw] canned_acl
7794
+ # The canned ACL to apply to the restore results.
7795
+ # @return [String]
7796
+ #
7797
+ # @!attribute [rw] access_control_list
7798
+ # A list of grants that control access to the staged results.
7799
+ # @return [Array<Types::Grant>]
7800
+ #
7801
+ # @!attribute [rw] tagging
7802
+ # The tag-set that is applied to the restore results.
7803
+ # @return [Types::Tagging]
7804
+ #
7805
+ # @!attribute [rw] user_metadata
7806
+ # A list of metadata to store with the restore results in S3.
7807
+ # @return [Array<Types::MetadataEntry>]
7808
+ #
7809
+ # @!attribute [rw] storage_class
7810
+ # The class of storage used to store the restore results.
7811
+ # @return [String]
7812
+ #
7813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3Location AWS API Documentation
7814
+ #
7815
+ class S3Location < Struct.new(
7816
+ :bucket_name,
7817
+ :prefix,
7818
+ :encryption,
7819
+ :canned_acl,
7820
+ :access_control_list,
7821
+ :tagging,
7822
+ :user_metadata,
7823
+ :storage_class)
7824
+ include Aws::Structure
7825
+ end
7826
+
7300
7827
  # Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
7301
7828
  #
7302
7829
  # @note When making an API call, you may pass SSEKMS
@@ -7326,6 +7853,61 @@ module Aws::S3
7326
7853
  #
7327
7854
  class SSES3 < Aws::EmptyStructure; end
7328
7855
 
7856
+ # Describes the parameters for Select job types.
7857
+ #
7858
+ # @note When making an API call, you may pass SelectParameters
7859
+ # data as a hash:
7860
+ #
7861
+ # {
7862
+ # input_serialization: { # required
7863
+ # csv: {
7864
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
7865
+ # comments: "Comments",
7866
+ # quote_escape_character: "QuoteEscapeCharacter",
7867
+ # record_delimiter: "RecordDelimiter",
7868
+ # field_delimiter: "FieldDelimiter",
7869
+ # quote_character: "QuoteCharacter",
7870
+ # },
7871
+ # },
7872
+ # expression_type: "SQL", # required, accepts SQL
7873
+ # expression: "Expression", # required
7874
+ # output_serialization: { # required
7875
+ # csv: {
7876
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
7877
+ # quote_escape_character: "QuoteEscapeCharacter",
7878
+ # record_delimiter: "RecordDelimiter",
7879
+ # field_delimiter: "FieldDelimiter",
7880
+ # quote_character: "QuoteCharacter",
7881
+ # },
7882
+ # },
7883
+ # }
7884
+ #
7885
+ # @!attribute [rw] input_serialization
7886
+ # Describes the serialization format of the object.
7887
+ # @return [Types::InputSerialization]
7888
+ #
7889
+ # @!attribute [rw] expression_type
7890
+ # The type of the provided expression (e.g., SQL).
7891
+ # @return [String]
7892
+ #
7893
+ # @!attribute [rw] expression
7894
+ # The expression that is used to query the object.
7895
+ # @return [String]
7896
+ #
7897
+ # @!attribute [rw] output_serialization
7898
+ # Describes how the results of the Select job are serialized.
7899
+ # @return [Types::OutputSerialization]
7900
+ #
7901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectParameters AWS API Documentation
7902
+ #
7903
+ class SelectParameters < Struct.new(
7904
+ :input_serialization,
7905
+ :expression_type,
7906
+ :expression,
7907
+ :output_serialization)
7908
+ include Aws::Structure
7909
+ end
7910
+
7329
7911
  # Describes the default server-side encryption to apply to new objects
7330
7912
  # in the bucket. If Put Object request does not specify any server-side
7331
7913
  # encryption, this default encryption will be applied.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-17 00:00:00.000000000 Z
11
+ date: 2017-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms