aws-sdk-glacier 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -47,47 +47,50 @@ module Aws::Glacier
47
47
  end
48
48
  alias :job_id :id
49
49
 
50
- # The job description you provided when you initiated the job.
50
+ # The job description provided when initiating the job.
51
51
  # @return [String]
52
52
  def job_description
53
53
  data[:job_description]
54
54
  end
55
55
 
56
- # The job type. It is either ArchiveRetrieval or InventoryRetrieval.
56
+ # The job type. This value is either `ArchiveRetrieval`,
57
+ # `InventoryRetrieval`, or `Select`.
57
58
  # @return [String]
58
59
  def action
59
60
  data[:action]
60
61
  end
61
62
 
62
- # For an ArchiveRetrieval job, this is the archive ID requested for
63
- # download. Otherwise, this field is null.
63
+ # The archive ID requested for a select job or archive retrieval.
64
+ # Otherwise, this field is null.
64
65
  # @return [String]
65
66
  def archive_id
66
67
  data[:archive_id]
67
68
  end
68
69
 
69
- # The Amazon Resource Name (ARN) of the vault from which the archive
70
+ # The Amazon Resource Name (ARN) of the vault from which an archive
70
71
  # retrieval was requested.
71
72
  # @return [String]
72
73
  def vault_arn
73
74
  data[:vault_arn]
74
75
  end
75
76
 
76
- # The UTC date when the job was created. A string representation of ISO
77
- # 8601 date format, for example, "2012-03-20T17:03:43.221Z".
77
+ # The UTC date when the job was created. This value is a string
78
+ # representation of ISO 8601 date format, for example
79
+ # `"2012-03-20T17:03:43.221Z"`.
78
80
  # @return [Time]
79
81
  def creation_date
80
82
  data[:creation_date]
81
83
  end
82
84
 
83
- # The job status. When a job is completed, you get the job's output.
85
+ # The job status. When a job is completed, you get the job's output
86
+ # using Get Job Output (GET output).
84
87
  # @return [Boolean]
85
88
  def completed
86
89
  data[:completed]
87
90
  end
88
91
 
89
- # The status code can be InProgress, Succeeded, or Failed, and indicates
90
- # the status of the job.
92
+ # The status code can be `InProgress`, `Succeeded`, or `Failed`, and
93
+ # indicates the status of the job.
91
94
  # @return [String]
92
95
  def status_code
93
96
  data[:status_code]
@@ -99,80 +102,80 @@ module Aws::Glacier
99
102
  data[:status_message]
100
103
  end
101
104
 
102
- # For an ArchiveRetrieval job, this is the size in bytes of the archive
103
- # being requested for download. For the InventoryRetrieval job, the
104
- # value is null.
105
+ # For an archive retrieval job, this value is the size in bytes of the
106
+ # archive being requested for download. For an inventory retrieval or
107
+ # select job, this value is null.
105
108
  # @return [Integer]
106
109
  def archive_size_in_bytes
107
110
  data[:archive_size_in_bytes]
108
111
  end
109
112
 
110
- # For an InventoryRetrieval job, this is the size in bytes of the
111
- # inventory requested for download. For the ArchiveRetrieval job, the
112
- # value is null.
113
+ # For an inventory retrieval job, this value is the size in bytes of the
114
+ # inventory requested for download. For an archive retrieval or select
115
+ # job, this value is null.
113
116
  # @return [Integer]
114
117
  def inventory_size_in_bytes
115
118
  data[:inventory_size_in_bytes]
116
119
  end
117
120
 
118
- # An Amazon Simple Notification Service (Amazon SNS) topic that receives
119
- # notification.
121
+ # An Amazon SNS topic that receives notification.
120
122
  # @return [String]
121
123
  def sns_topic
122
124
  data[:sns_topic]
123
125
  end
124
126
 
125
- # The UTC time that the archive retrieval request completed. While the
126
- # job is in progress, the value will be null.
127
+ # The UTC time that the job request completed. While the job is in
128
+ # progress, the value is null.
127
129
  # @return [Time]
128
130
  def completion_date
129
131
  data[:completion_date]
130
132
  end
131
133
 
132
- # For an ArchiveRetrieval job, it is the checksum of the archive.
133
- # Otherwise, the value is null.
134
+ # For an archive retrieval job, this value is the checksum of the
135
+ # archive. Otherwise, this value is null.
134
136
  #
135
137
  # The SHA256 tree hash value for the requested range of an archive. If
136
- # the Initiate a Job request for an archive specified a tree-hash
138
+ # the **InitiateJob** request for an archive specified a tree-hash
137
139
  # aligned range, then this field returns a value.
138
140
  #
139
- # For the specific case when the whole archive is retrieved, this value
140
- # is the same as the ArchiveSHA256TreeHash value.
141
+ # If the whole archive is retrieved, this value is the same as the
142
+ # ArchiveSHA256TreeHash value.
141
143
  #
142
- # This field is null in the following situations:
144
+ # This field is null for the following:
143
145
  #
144
146
  # * Archive retrieval jobs that specify a range that is not tree-hash
145
- # aligned.
147
+ # aligned
146
148
  #
147
149
  # ^
148
150
  # ^
149
151
  #
150
152
  # * Archival jobs that specify a range that is equal to the whole
151
- # archive and the job status is InProgress.
153
+ # archive, when the job status is `InProgress`
152
154
  #
153
155
  # ^
154
156
  # ^
155
157
  #
156
- # * Inventory jobs.
158
+ # * Inventory jobs
157
159
  #
158
- # ^
160
+ # * Select jobs
159
161
  # @return [String]
160
162
  def sha256_tree_hash
161
163
  data[:sha256_tree_hash]
162
164
  end
163
165
 
164
166
  # The SHA256 tree hash of the entire archive for an archive retrieval.
165
- # For inventory retrieval jobs, this field is null.
167
+ # For inventory retrieval or select jobs, this field is null.
166
168
  # @return [String]
167
169
  def archive_sha256_tree_hash
168
170
  data[:archive_sha256_tree_hash]
169
171
  end
170
172
 
171
173
  # The retrieved byte range for archive retrieval jobs in the form
172
- # "*StartByteValue*-*EndByteValue*" If no range was specified in the
173
- # archive retrieval, then the whole archive is retrieved and
174
+ # *StartByteValue*-*EndByteValue*. If no range was specified in the
175
+ # archive retrieval, then the whole archive is retrieved. In this case,
174
176
  # *StartByteValue* equals 0 and *EndByteValue* equals the size of the
175
- # archive minus 1. For inventory retrieval jobs this field is null.
177
+ # archive minus 1. For inventory retrieval or select jobs, this field is
178
+ # null.
176
179
  # @return [String]
177
180
  def retrieval_byte_range
178
181
  data[:retrieval_byte_range]
@@ -191,6 +194,24 @@ module Aws::Glacier
191
194
  data[:inventory_retrieval_parameters]
192
195
  end
193
196
 
197
+ # Contains the job output location.
198
+ # @return [String]
199
+ def job_output_path
200
+ data[:job_output_path]
201
+ end
202
+
203
+ # Contains the parameters that define a select job.
204
+ # @return [Types::SelectParameters]
205
+ def select_parameters
206
+ data[:select_parameters]
207
+ end
208
+
209
+ # Contains the location where the data from the select job is stored.
210
+ # @return [Types::OutputLocation]
211
+ def output_location
212
+ data[:output_location]
213
+ end
214
+
194
215
  # @!endgroup
195
216
 
196
217
  # @return [Client]
@@ -152,6 +152,107 @@ module Aws::Glacier
152
152
  include Aws::Structure
153
153
  end
154
154
 
155
+ # Contains information about the comma-separated value (CSV) file to
156
+ # select from.
157
+ #
158
+ # @note When making an API call, you may pass CSVInput
159
+ # data as a hash:
160
+ #
161
+ # {
162
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
163
+ # comments: "string",
164
+ # quote_escape_character: "string",
165
+ # record_delimiter: "string",
166
+ # field_delimiter: "string",
167
+ # quote_character: "string",
168
+ # }
169
+ #
170
+ # @!attribute [rw] file_header_info
171
+ # Describes the first line of input. Valid values are `None`,
172
+ # `Ignore`, and `Use`.
173
+ # @return [String]
174
+ #
175
+ # @!attribute [rw] comments
176
+ # A single character used to indicate that a row should be ignored
177
+ # when the character is present at the start of that row.
178
+ # @return [String]
179
+ #
180
+ # @!attribute [rw] quote_escape_character
181
+ # A single character used for escaping the quotation-mark character
182
+ # inside an already escaped value.
183
+ # @return [String]
184
+ #
185
+ # @!attribute [rw] record_delimiter
186
+ # A value used to separate individual records from each other.
187
+ # @return [String]
188
+ #
189
+ # @!attribute [rw] field_delimiter
190
+ # A value used to separate individual fields from each other within a
191
+ # record.
192
+ # @return [String]
193
+ #
194
+ # @!attribute [rw] quote_character
195
+ # A value used as an escape character where the field delimiter is
196
+ # part of the value.
197
+ # @return [String]
198
+ #
199
+ class CSVInput < Struct.new(
200
+ :file_header_info,
201
+ :comments,
202
+ :quote_escape_character,
203
+ :record_delimiter,
204
+ :field_delimiter,
205
+ :quote_character)
206
+ include Aws::Structure
207
+ end
208
+
209
+ # Contains information about the comma-separated value (CSV) file that
210
+ # the job results are stored in.
211
+ #
212
+ # @note When making an API call, you may pass CSVOutput
213
+ # data as a hash:
214
+ #
215
+ # {
216
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
217
+ # quote_escape_character: "string",
218
+ # record_delimiter: "string",
219
+ # field_delimiter: "string",
220
+ # quote_character: "string",
221
+ # }
222
+ #
223
+ # @!attribute [rw] quote_fields
224
+ # A value that indicates whether all output fields should be contained
225
+ # within quotation marks.
226
+ # @return [String]
227
+ #
228
+ # @!attribute [rw] quote_escape_character
229
+ # A single character used for escaping the quotation-mark character
230
+ # inside an already escaped value.
231
+ # @return [String]
232
+ #
233
+ # @!attribute [rw] record_delimiter
234
+ # A value used to separate individual records from each other.
235
+ # @return [String]
236
+ #
237
+ # @!attribute [rw] field_delimiter
238
+ # A value used to separate individual fields from each other within a
239
+ # record.
240
+ # @return [String]
241
+ #
242
+ # @!attribute [rw] quote_character
243
+ # A value used as an escape character where the field delimiter is
244
+ # part of the value.
245
+ # @return [String]
246
+ #
247
+ class CSVOutput < Struct.new(
248
+ :quote_fields,
249
+ :quote_escape_character,
250
+ :record_delimiter,
251
+ :field_delimiter,
252
+ :quote_character)
253
+ include Aws::Structure
254
+ end
255
+
155
256
  # Provides options to complete a multipart upload operation. This
156
257
  # informs Amazon Glacier that all the archive parts have been uploaded
157
258
  # and Amazon Glacier can now assemble the archive from the uploaded
@@ -574,6 +675,41 @@ module Aws::Glacier
574
675
  include Aws::Structure
575
676
  end
576
677
 
678
+ # Contains information about the encryption used to store the job
679
+ # results in Amazon S3.
680
+ #
681
+ # @note When making an API call, you may pass Encryption
682
+ # data as a hash:
683
+ #
684
+ # {
685
+ # encryption_type: "aws:kms", # accepts aws:kms, AES256
686
+ # kms_key_id: "string",
687
+ # kms_context: "string",
688
+ # }
689
+ #
690
+ # @!attribute [rw] encryption_type
691
+ # The server-side encryption algorithm used when storing job results
692
+ # in Amazon S3, for example `AES256` or `aws:kms`.
693
+ # @return [String]
694
+ #
695
+ # @!attribute [rw] kms_key_id
696
+ # The AWS KMS key ID to use for object encryption. All GET and PUT
697
+ # requests for an object protected by AWS KMS fail if not made by
698
+ # using Secure Sockets Layer (SSL) or Signature Version 4.
699
+ # @return [String]
700
+ #
701
+ # @!attribute [rw] kms_context
702
+ # Optional. If the encryption type is `aws:kms`, you can use this
703
+ # value to specify the encryption context for the restore results.
704
+ # @return [String]
705
+ #
706
+ class Encryption < Struct.new(
707
+ :encryption_type,
708
+ :kms_key_id,
709
+ :kms_context)
710
+ include Aws::Structure
711
+ end
712
+
577
713
  # Input for GetDataRetrievalPolicy.
578
714
  #
579
715
  # @note When making an API call, you may pass GetDataRetrievalPolicyInput
@@ -892,41 +1028,44 @@ module Aws::Glacier
892
1028
  include Aws::Structure
893
1029
  end
894
1030
 
895
- # Describes an Amazon Glacier job.
1031
+ # Contains the description of an Amazon Glacier job.
896
1032
  #
897
1033
  # @!attribute [rw] job_id
898
1034
  # An opaque string that identifies an Amazon Glacier job.
899
1035
  # @return [String]
900
1036
  #
901
1037
  # @!attribute [rw] job_description
902
- # The job description you provided when you initiated the job.
1038
+ # The job description provided when initiating the job.
903
1039
  # @return [String]
904
1040
  #
905
1041
  # @!attribute [rw] action
906
- # The job type. It is either ArchiveRetrieval or InventoryRetrieval.
1042
+ # The job type. This value is either `ArchiveRetrieval`,
1043
+ # `InventoryRetrieval`, or `Select`.
907
1044
  # @return [String]
908
1045
  #
909
1046
  # @!attribute [rw] archive_id
910
- # For an ArchiveRetrieval job, this is the archive ID requested for
911
- # download. Otherwise, this field is null.
1047
+ # The archive ID requested for a select job or archive retrieval.
1048
+ # Otherwise, this field is null.
912
1049
  # @return [String]
913
1050
  #
914
1051
  # @!attribute [rw] vault_arn
915
- # The Amazon Resource Name (ARN) of the vault from which the archive
1052
+ # The Amazon Resource Name (ARN) of the vault from which an archive
916
1053
  # retrieval was requested.
917
1054
  # @return [String]
918
1055
  #
919
1056
  # @!attribute [rw] creation_date
920
- # The UTC date when the job was created. A string representation of
921
- # ISO 8601 date format, for example, "2012-03-20T17:03:43.221Z".
1057
+ # The UTC date when the job was created. This value is a string
1058
+ # representation of ISO 8601 date format, for example
1059
+ # `"2012-03-20T17:03:43.221Z"`.
922
1060
  # @return [Time]
923
1061
  #
924
1062
  # @!attribute [rw] completed
925
- # The job status. When a job is completed, you get the job's output.
1063
+ # The job status. When a job is completed, you get the job's output
1064
+ # using Get Job Output (GET output).
926
1065
  # @return [Boolean]
927
1066
  #
928
1067
  # @!attribute [rw] status_code
929
- # The status code can be InProgress, Succeeded, or Failed, and
1068
+ # The status code can be `InProgress`, `Succeeded`, or `Failed`, and
930
1069
  # indicates the status of the job.
931
1070
  # @return [String]
932
1071
  #
@@ -935,68 +1074,68 @@ module Aws::Glacier
935
1074
  # @return [String]
936
1075
  #
937
1076
  # @!attribute [rw] archive_size_in_bytes
938
- # For an ArchiveRetrieval job, this is the size in bytes of the
939
- # archive being requested for download. For the InventoryRetrieval
940
- # job, the value is null.
1077
+ # For an archive retrieval job, this value is the size in bytes of the
1078
+ # archive being requested for download. For an inventory retrieval or
1079
+ # select job, this value is null.
941
1080
  # @return [Integer]
942
1081
  #
943
1082
  # @!attribute [rw] inventory_size_in_bytes
944
- # For an InventoryRetrieval job, this is the size in bytes of the
945
- # inventory requested for download. For the ArchiveRetrieval job, the
946
- # value is null.
1083
+ # For an inventory retrieval job, this value is the size in bytes of
1084
+ # the inventory requested for download. For an archive retrieval or
1085
+ # select job, this value is null.
947
1086
  # @return [Integer]
948
1087
  #
949
1088
  # @!attribute [rw] sns_topic
950
- # An Amazon Simple Notification Service (Amazon SNS) topic that
951
- # receives notification.
1089
+ # An Amazon SNS topic that receives notification.
952
1090
  # @return [String]
953
1091
  #
954
1092
  # @!attribute [rw] completion_date
955
- # The UTC time that the archive retrieval request completed. While the
956
- # job is in progress, the value will be null.
1093
+ # The UTC time that the job request completed. While the job is in
1094
+ # progress, the value is null.
957
1095
  # @return [Time]
958
1096
  #
959
1097
  # @!attribute [rw] sha256_tree_hash
960
- # For an ArchiveRetrieval job, it is the checksum of the archive.
961
- # Otherwise, the value is null.
1098
+ # For an archive retrieval job, this value is the checksum of the
1099
+ # archive. Otherwise, this value is null.
962
1100
  #
963
1101
  # The SHA256 tree hash value for the requested range of an archive. If
964
- # the Initiate a Job request for an archive specified a tree-hash
1102
+ # the **InitiateJob** request for an archive specified a tree-hash
965
1103
  # aligned range, then this field returns a value.
966
1104
  #
967
- # For the specific case when the whole archive is retrieved, this
968
- # value is the same as the ArchiveSHA256TreeHash value.
1105
+ # If the whole archive is retrieved, this value is the same as the
1106
+ # ArchiveSHA256TreeHash value.
969
1107
  #
970
- # This field is null in the following situations:
1108
+ # This field is null for the following:
971
1109
  #
972
1110
  # * Archive retrieval jobs that specify a range that is not tree-hash
973
- # aligned.
1111
+ # aligned
974
1112
  #
975
1113
  # ^
976
1114
  # ^
977
1115
  #
978
1116
  # * Archival jobs that specify a range that is equal to the whole
979
- # archive and the job status is InProgress.
1117
+ # archive, when the job status is `InProgress`
980
1118
  #
981
1119
  # ^
982
1120
  # ^
983
1121
  #
984
- # * Inventory jobs.
1122
+ # * Inventory jobs
985
1123
  #
986
- # ^
1124
+ # * Select jobs
987
1125
  # @return [String]
988
1126
  #
989
1127
  # @!attribute [rw] archive_sha256_tree_hash
990
1128
  # The SHA256 tree hash of the entire archive for an archive retrieval.
991
- # For inventory retrieval jobs, this field is null.
1129
+ # For inventory retrieval or select jobs, this field is null.
992
1130
  # @return [String]
993
1131
  #
994
1132
  # @!attribute [rw] retrieval_byte_range
995
1133
  # The retrieved byte range for archive retrieval jobs in the form
996
- # "*StartByteValue*-*EndByteValue*" If no range was specified in the
997
- # archive retrieval, then the whole archive is retrieved and
998
- # *StartByteValue* equals 0 and *EndByteValue* equals the size of the
999
- # archive minus 1. For inventory retrieval jobs this field is null.
1134
+ # *StartByteValue*-*EndByteValue*. If no range was specified in the
1135
+ # archive retrieval, then the whole archive is retrieved. In this
1136
+ # case, *StartByteValue* equals 0 and *EndByteValue* equals the size
1137
+ # of the archive minus 1. For inventory retrieval or select jobs, this
1138
+ # field is null.
1000
1139
  # @return [String]
1001
1140
  #
1002
1141
  # @!attribute [rw] tier
@@ -1008,6 +1147,18 @@ module Aws::Glacier
1008
1147
  # Parameters used for range inventory retrieval.
1009
1148
  # @return [Types::InventoryRetrievalJobDescription]
1010
1149
  #
1150
+ # @!attribute [rw] job_output_path
1151
+ # Contains the job output location.
1152
+ # @return [String]
1153
+ #
1154
+ # @!attribute [rw] select_parameters
1155
+ # Contains the parameters that define a select job.
1156
+ # @return [Types::SelectParameters]
1157
+ #
1158
+ # @!attribute [rw] output_location
1159
+ # Contains the location where the data from the select job is stored.
1160
+ # @return [Types::OutputLocation]
1161
+ #
1011
1162
  class GlacierJobDescription < Struct.new(
1012
1163
  :job_id,
1013
1164
  :job_description,
@@ -1026,7 +1177,82 @@ module Aws::Glacier
1026
1177
  :archive_sha256_tree_hash,
1027
1178
  :retrieval_byte_range,
1028
1179
  :tier,
1029
- :inventory_retrieval_parameters)
1180
+ :inventory_retrieval_parameters,
1181
+ :job_output_path,
1182
+ :select_parameters,
1183
+ :output_location)
1184
+ include Aws::Structure
1185
+ end
1186
+
1187
+ # Contains information about a grant.
1188
+ #
1189
+ # @note When making an API call, you may pass Grant
1190
+ # data as a hash:
1191
+ #
1192
+ # {
1193
+ # grantee: {
1194
+ # type: "AmazonCustomerByEmail", # required, accepts AmazonCustomerByEmail, CanonicalUser, Group
1195
+ # display_name: "string",
1196
+ # uri: "string",
1197
+ # id: "string",
1198
+ # email_address: "string",
1199
+ # },
1200
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
1201
+ # }
1202
+ #
1203
+ # @!attribute [rw] grantee
1204
+ # The grantee.
1205
+ # @return [Types::Grantee]
1206
+ #
1207
+ # @!attribute [rw] permission
1208
+ # Specifies the permission given to the grantee.
1209
+ # @return [String]
1210
+ #
1211
+ class Grant < Struct.new(
1212
+ :grantee,
1213
+ :permission)
1214
+ include Aws::Structure
1215
+ end
1216
+
1217
+ # Contains information about the grantee.
1218
+ #
1219
+ # @note When making an API call, you may pass Grantee
1220
+ # data as a hash:
1221
+ #
1222
+ # {
1223
+ # type: "AmazonCustomerByEmail", # required, accepts AmazonCustomerByEmail, CanonicalUser, Group
1224
+ # display_name: "string",
1225
+ # uri: "string",
1226
+ # id: "string",
1227
+ # email_address: "string",
1228
+ # }
1229
+ #
1230
+ # @!attribute [rw] type
1231
+ # Type of grantee
1232
+ # @return [String]
1233
+ #
1234
+ # @!attribute [rw] display_name
1235
+ # Screen name of the grantee.
1236
+ # @return [String]
1237
+ #
1238
+ # @!attribute [rw] uri
1239
+ # URI of the grantee group.
1240
+ # @return [String]
1241
+ #
1242
+ # @!attribute [rw] id
1243
+ # The canonical user ID of the grantee.
1244
+ # @return [String]
1245
+ #
1246
+ # @!attribute [rw] email_address
1247
+ # Email address of the grantee.
1248
+ # @return [String]
1249
+ #
1250
+ class Grantee < Struct.new(
1251
+ :type,
1252
+ :display_name,
1253
+ :uri,
1254
+ :id,
1255
+ :email_address)
1030
1256
  include Aws::Structure
1031
1257
  end
1032
1258
 
@@ -1052,6 +1278,60 @@ module Aws::Glacier
1052
1278
  # limit: "string",
1053
1279
  # marker: "string",
1054
1280
  # },
1281
+ # select_parameters: {
1282
+ # input_serialization: {
1283
+ # csv: {
1284
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
1285
+ # comments: "string",
1286
+ # quote_escape_character: "string",
1287
+ # record_delimiter: "string",
1288
+ # field_delimiter: "string",
1289
+ # quote_character: "string",
1290
+ # },
1291
+ # },
1292
+ # expression_type: "SQL", # accepts SQL
1293
+ # expression: "string",
1294
+ # output_serialization: {
1295
+ # csv: {
1296
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
1297
+ # quote_escape_character: "string",
1298
+ # record_delimiter: "string",
1299
+ # field_delimiter: "string",
1300
+ # quote_character: "string",
1301
+ # },
1302
+ # },
1303
+ # },
1304
+ # output_location: {
1305
+ # s3: {
1306
+ # bucket_name: "string",
1307
+ # prefix: "string",
1308
+ # encryption: {
1309
+ # encryption_type: "aws:kms", # accepts aws:kms, AES256
1310
+ # kms_key_id: "string",
1311
+ # kms_context: "string",
1312
+ # },
1313
+ # canned_acl: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
1314
+ # access_control_list: [
1315
+ # {
1316
+ # grantee: {
1317
+ # type: "AmazonCustomerByEmail", # required, accepts AmazonCustomerByEmail, CanonicalUser, Group
1318
+ # display_name: "string",
1319
+ # uri: "string",
1320
+ # id: "string",
1321
+ # email_address: "string",
1322
+ # },
1323
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
1324
+ # },
1325
+ # ],
1326
+ # tagging: {
1327
+ # "string" => "string",
1328
+ # },
1329
+ # user_metadata: {
1330
+ # "string" => "string",
1331
+ # },
1332
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
1333
+ # },
1334
+ # },
1055
1335
  # },
1056
1336
  # }
1057
1337
  #
@@ -1089,9 +1369,14 @@ module Aws::Glacier
1089
1369
  # The ID of the job.
1090
1370
  # @return [String]
1091
1371
  #
1372
+ # @!attribute [rw] job_output_path
1373
+ # The path to the location of where the select results are stored.
1374
+ # @return [String]
1375
+ #
1092
1376
  class InitiateJobOutput < Struct.new(
1093
1377
  :location,
1094
- :job_id)
1378
+ :job_id,
1379
+ :job_output_path)
1095
1380
  include Aws::Structure
1096
1381
  end
1097
1382
 
@@ -1211,6 +1496,31 @@ module Aws::Glacier
1211
1496
  include Aws::Structure
1212
1497
  end
1213
1498
 
1499
+ # Describes how the archive is serialized.
1500
+ #
1501
+ # @note When making an API call, you may pass InputSerialization
1502
+ # data as a hash:
1503
+ #
1504
+ # {
1505
+ # csv: {
1506
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
1507
+ # comments: "string",
1508
+ # quote_escape_character: "string",
1509
+ # record_delimiter: "string",
1510
+ # field_delimiter: "string",
1511
+ # quote_character: "string",
1512
+ # },
1513
+ # }
1514
+ #
1515
+ # @!attribute [rw] csv
1516
+ # Describes the serialization of a CSV-encoded object.
1517
+ # @return [Types::CSVInput]
1518
+ #
1519
+ class InputSerialization < Struct.new(
1520
+ :csv)
1521
+ include Aws::Structure
1522
+ end
1523
+
1214
1524
  # Describes the options for a range inventory retrieval job.
1215
1525
  #
1216
1526
  # @!attribute [rw] format
@@ -1326,6 +1636,60 @@ module Aws::Glacier
1326
1636
  # limit: "string",
1327
1637
  # marker: "string",
1328
1638
  # },
1639
+ # select_parameters: {
1640
+ # input_serialization: {
1641
+ # csv: {
1642
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
1643
+ # comments: "string",
1644
+ # quote_escape_character: "string",
1645
+ # record_delimiter: "string",
1646
+ # field_delimiter: "string",
1647
+ # quote_character: "string",
1648
+ # },
1649
+ # },
1650
+ # expression_type: "SQL", # accepts SQL
1651
+ # expression: "string",
1652
+ # output_serialization: {
1653
+ # csv: {
1654
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
1655
+ # quote_escape_character: "string",
1656
+ # record_delimiter: "string",
1657
+ # field_delimiter: "string",
1658
+ # quote_character: "string",
1659
+ # },
1660
+ # },
1661
+ # },
1662
+ # output_location: {
1663
+ # s3: {
1664
+ # bucket_name: "string",
1665
+ # prefix: "string",
1666
+ # encryption: {
1667
+ # encryption_type: "aws:kms", # accepts aws:kms, AES256
1668
+ # kms_key_id: "string",
1669
+ # kms_context: "string",
1670
+ # },
1671
+ # canned_acl: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
1672
+ # access_control_list: [
1673
+ # {
1674
+ # grantee: {
1675
+ # type: "AmazonCustomerByEmail", # required, accepts AmazonCustomerByEmail, CanonicalUser, Group
1676
+ # display_name: "string",
1677
+ # uri: "string",
1678
+ # id: "string",
1679
+ # email_address: "string",
1680
+ # },
1681
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
1682
+ # },
1683
+ # ],
1684
+ # tagging: {
1685
+ # "string" => "string",
1686
+ # },
1687
+ # user_metadata: {
1688
+ # "string" => "string",
1689
+ # },
1690
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
1691
+ # },
1692
+ # },
1329
1693
  # }
1330
1694
  #
1331
1695
  # @!attribute [rw] format
@@ -1337,16 +1701,17 @@ module Aws::Glacier
1337
1701
  # @return [String]
1338
1702
  #
1339
1703
  # @!attribute [rw] type
1340
- # The job type. You can initiate a job to retrieve an archive or get
1341
- # an inventory of a vault. Valid values are "archive-retrieval" and
1704
+ # The job type. You can initiate a job to perform a select query on an
1705
+ # archive, retrieve an archive, or get an inventory of a vault. Valid
1706
+ # values are "select", "archive-retrieval" and
1342
1707
  # "inventory-retrieval".
1343
1708
  # @return [String]
1344
1709
  #
1345
1710
  # @!attribute [rw] archive_id
1346
1711
  # The ID of the archive that you want to retrieve. This field is
1347
- # required only if `Type` is set to archive-retrieval. An error occurs
1348
- # if you specify this request parameter for an inventory retrieval job
1349
- # request.
1712
+ # required only if `Type` is set to `select` or
1713
+ # `archive-retrieval`code&gt;. An error occurs if you specify this
1714
+ # request parameter for an inventory retrieval job request.
1350
1715
  # @return [String]
1351
1716
  #
1352
1717
  # @!attribute [rw] description
@@ -1378,14 +1743,24 @@ module Aws::Glacier
1378
1743
  # @return [String]
1379
1744
  #
1380
1745
  # @!attribute [rw] tier
1381
- # The retrieval option to use for the archive retrieval. Valid values
1382
- # are `Expedited`, `Standard`, or `Bulk`. `Standard` is the default.
1746
+ # The retrieval option to use for a select or archive retrieval job.
1747
+ # Valid values are `Expedited`, `Standard`, or `Bulk`. `Standard` is
1748
+ # the default.
1383
1749
  # @return [String]
1384
1750
  #
1385
1751
  # @!attribute [rw] inventory_retrieval_parameters
1386
1752
  # Input parameters used for range inventory retrieval.
1387
1753
  # @return [Types::InventoryRetrievalJobInput]
1388
1754
  #
1755
+ # @!attribute [rw] select_parameters
1756
+ # Contains the parameters that define a job.
1757
+ # @return [Types::SelectParameters]
1758
+ #
1759
+ # @!attribute [rw] output_location
1760
+ # Contains information about the location where the select job results
1761
+ # are stored.
1762
+ # @return [Types::OutputLocation]
1763
+ #
1389
1764
  class JobParameters < Struct.new(
1390
1765
  :format,
1391
1766
  :type,
@@ -1394,7 +1769,9 @@ module Aws::Glacier
1394
1769
  :sns_topic,
1395
1770
  :retrieval_byte_range,
1396
1771
  :tier,
1397
- :inventory_retrieval_parameters)
1772
+ :inventory_retrieval_parameters,
1773
+ :select_parameters,
1774
+ :output_location)
1398
1775
  include Aws::Structure
1399
1776
  end
1400
1777
 
@@ -1658,12 +2035,11 @@ module Aws::Glacier
1658
2035
  # }
1659
2036
  #
1660
2037
  # @!attribute [rw] account_id
1661
- # The `AccountId` value is the AWS account ID of the account that owns
1662
- # the vault. You can either specify an AWS account ID or optionally a
1663
- # single '-' (hyphen), in which case Amazon Glacier uses the AWS
1664
- # account ID associated with the credentials used to sign the request.
1665
- # If you use an account ID, don't include any hyphens ('-') in the
1666
- # ID.
2038
+ # The AWS account ID of the account that owns the vault. You can
2039
+ # either specify an AWS account ID or optionally a single '-'
2040
+ # (hyphen), in which case Amazon Glacier uses the AWS account ID
2041
+ # associated with the credentials used to sign the request. If you use
2042
+ # an account ID, don't include any hyphens ('-') in the ID.
1667
2043
  # @return [String]
1668
2044
  #
1669
2045
  class ListProvisionedCapacityInput < Struct.new(
@@ -1781,6 +2157,78 @@ module Aws::Glacier
1781
2157
  include Aws::Structure
1782
2158
  end
1783
2159
 
2160
+ # Contains information about the location where the select job results
2161
+ # are stored.
2162
+ #
2163
+ # @note When making an API call, you may pass OutputLocation
2164
+ # data as a hash:
2165
+ #
2166
+ # {
2167
+ # s3: {
2168
+ # bucket_name: "string",
2169
+ # prefix: "string",
2170
+ # encryption: {
2171
+ # encryption_type: "aws:kms", # accepts aws:kms, AES256
2172
+ # kms_key_id: "string",
2173
+ # kms_context: "string",
2174
+ # },
2175
+ # canned_acl: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
2176
+ # access_control_list: [
2177
+ # {
2178
+ # grantee: {
2179
+ # type: "AmazonCustomerByEmail", # required, accepts AmazonCustomerByEmail, CanonicalUser, Group
2180
+ # display_name: "string",
2181
+ # uri: "string",
2182
+ # id: "string",
2183
+ # email_address: "string",
2184
+ # },
2185
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
2186
+ # },
2187
+ # ],
2188
+ # tagging: {
2189
+ # "string" => "string",
2190
+ # },
2191
+ # user_metadata: {
2192
+ # "string" => "string",
2193
+ # },
2194
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
2195
+ # },
2196
+ # }
2197
+ #
2198
+ # @!attribute [rw] s3
2199
+ # Describes an S3 location that will receive the results of the
2200
+ # restore request.
2201
+ # @return [Types::S3Location]
2202
+ #
2203
+ class OutputLocation < Struct.new(
2204
+ :s3)
2205
+ include Aws::Structure
2206
+ end
2207
+
2208
+ # Describes how the select output is serialized.
2209
+ #
2210
+ # @note When making an API call, you may pass OutputSerialization
2211
+ # data as a hash:
2212
+ #
2213
+ # {
2214
+ # csv: {
2215
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
2216
+ # quote_escape_character: "string",
2217
+ # record_delimiter: "string",
2218
+ # field_delimiter: "string",
2219
+ # quote_character: "string",
2220
+ # },
2221
+ # }
2222
+ #
2223
+ # @!attribute [rw] csv
2224
+ # Describes the serialization of CSV-encoded query results.
2225
+ # @return [Types::CSVOutput]
2226
+ #
2227
+ class OutputSerialization < Struct.new(
2228
+ :csv)
2229
+ include Aws::Structure
2230
+ end
2231
+
1784
2232
  # A list of the part sizes of the multipart upload.
1785
2233
  #
1786
2234
  # @!attribute [rw] range_in_bytes
@@ -1886,6 +2334,141 @@ module Aws::Glacier
1886
2334
  include Aws::Structure
1887
2335
  end
1888
2336
 
2337
+ # Contains information about the location in Amazon S3 where the select
2338
+ # job results are stored.
2339
+ #
2340
+ # @note When making an API call, you may pass S3Location
2341
+ # data as a hash:
2342
+ #
2343
+ # {
2344
+ # bucket_name: "string",
2345
+ # prefix: "string",
2346
+ # encryption: {
2347
+ # encryption_type: "aws:kms", # accepts aws:kms, AES256
2348
+ # kms_key_id: "string",
2349
+ # kms_context: "string",
2350
+ # },
2351
+ # canned_acl: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
2352
+ # access_control_list: [
2353
+ # {
2354
+ # grantee: {
2355
+ # type: "AmazonCustomerByEmail", # required, accepts AmazonCustomerByEmail, CanonicalUser, Group
2356
+ # display_name: "string",
2357
+ # uri: "string",
2358
+ # id: "string",
2359
+ # email_address: "string",
2360
+ # },
2361
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
2362
+ # },
2363
+ # ],
2364
+ # tagging: {
2365
+ # "string" => "string",
2366
+ # },
2367
+ # user_metadata: {
2368
+ # "string" => "string",
2369
+ # },
2370
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
2371
+ # }
2372
+ #
2373
+ # @!attribute [rw] bucket_name
2374
+ # The name of the bucket where the restore results are stored.
2375
+ # @return [String]
2376
+ #
2377
+ # @!attribute [rw] prefix
2378
+ # The prefix that is prepended to the restore results for this
2379
+ # request.
2380
+ # @return [String]
2381
+ #
2382
+ # @!attribute [rw] encryption
2383
+ # Contains information about the encryption used to store the job
2384
+ # results in Amazon S3.
2385
+ # @return [Types::Encryption]
2386
+ #
2387
+ # @!attribute [rw] canned_acl
2388
+ # The canned ACL to apply to the restore results.
2389
+ # @return [String]
2390
+ #
2391
+ # @!attribute [rw] access_control_list
2392
+ # A list of grants that control access to the staged results.
2393
+ # @return [Array<Types::Grant>]
2394
+ #
2395
+ # @!attribute [rw] tagging
2396
+ # The tag-set that is applied to the restore results.
2397
+ # @return [Hash<String,String>]
2398
+ #
2399
+ # @!attribute [rw] user_metadata
2400
+ # A map of metadata to store with the restore results in Amazon S3.
2401
+ # @return [Hash<String,String>]
2402
+ #
2403
+ # @!attribute [rw] storage_class
2404
+ # The storage class used to store the restore results.
2405
+ # @return [String]
2406
+ #
2407
+ class S3Location < Struct.new(
2408
+ :bucket_name,
2409
+ :prefix,
2410
+ :encryption,
2411
+ :canned_acl,
2412
+ :access_control_list,
2413
+ :tagging,
2414
+ :user_metadata,
2415
+ :storage_class)
2416
+ include Aws::Structure
2417
+ end
2418
+
2419
+ # Contains information about the parameters used for a select.
2420
+ #
2421
+ # @note When making an API call, you may pass SelectParameters
2422
+ # data as a hash:
2423
+ #
2424
+ # {
2425
+ # input_serialization: {
2426
+ # csv: {
2427
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
2428
+ # comments: "string",
2429
+ # quote_escape_character: "string",
2430
+ # record_delimiter: "string",
2431
+ # field_delimiter: "string",
2432
+ # quote_character: "string",
2433
+ # },
2434
+ # },
2435
+ # expression_type: "SQL", # accepts SQL
2436
+ # expression: "string",
2437
+ # output_serialization: {
2438
+ # csv: {
2439
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
2440
+ # quote_escape_character: "string",
2441
+ # record_delimiter: "string",
2442
+ # field_delimiter: "string",
2443
+ # quote_character: "string",
2444
+ # },
2445
+ # },
2446
+ # }
2447
+ #
2448
+ # @!attribute [rw] input_serialization
2449
+ # Describes the serialization format of the object.
2450
+ # @return [Types::InputSerialization]
2451
+ #
2452
+ # @!attribute [rw] expression_type
2453
+ # The type of the provided expression, for example `SQL`.
2454
+ # @return [String]
2455
+ #
2456
+ # @!attribute [rw] expression
2457
+ # The expression that is used to select the object.
2458
+ # @return [String]
2459
+ #
2460
+ # @!attribute [rw] output_serialization
2461
+ # Describes how the results of the select job are serialized.
2462
+ # @return [Types::OutputSerialization]
2463
+ #
2464
+ class SelectParameters < Struct.new(
2465
+ :input_serialization,
2466
+ :expression_type,
2467
+ :expression,
2468
+ :output_serialization)
2469
+ include Aws::Structure
2470
+ end
2471
+
1889
2472
  # SetDataRetrievalPolicy input.
1890
2473
  #
1891
2474
  # @note When making an API call, you may pass SetDataRetrievalPolicyInput