aws-sdk-glacier 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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