aws-sdk-snowball 1.0.0.rc1

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.
@@ -0,0 +1,376 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Snowball
10
+ # @api private
11
+ module ClientApi
12
+
13
+ include Seahorse::Model
14
+
15
+ Address = Shapes::StructureShape.new(name: 'Address')
16
+ AddressId = Shapes::StringShape.new(name: 'AddressId')
17
+ AddressList = Shapes::ListShape.new(name: 'AddressList')
18
+ Boolean = Shapes::BooleanShape.new(name: 'Boolean')
19
+ CancelJobRequest = Shapes::StructureShape.new(name: 'CancelJobRequest')
20
+ CancelJobResult = Shapes::StructureShape.new(name: 'CancelJobResult')
21
+ CreateAddressRequest = Shapes::StructureShape.new(name: 'CreateAddressRequest')
22
+ CreateAddressResult = Shapes::StructureShape.new(name: 'CreateAddressResult')
23
+ CreateJobRequest = Shapes::StructureShape.new(name: 'CreateJobRequest')
24
+ CreateJobResult = Shapes::StructureShape.new(name: 'CreateJobResult')
25
+ DataTransfer = Shapes::StructureShape.new(name: 'DataTransfer')
26
+ DescribeAddressRequest = Shapes::StructureShape.new(name: 'DescribeAddressRequest')
27
+ DescribeAddressResult = Shapes::StructureShape.new(name: 'DescribeAddressResult')
28
+ DescribeAddressesRequest = Shapes::StructureShape.new(name: 'DescribeAddressesRequest')
29
+ DescribeAddressesResult = Shapes::StructureShape.new(name: 'DescribeAddressesResult')
30
+ DescribeJobRequest = Shapes::StructureShape.new(name: 'DescribeJobRequest')
31
+ DescribeJobResult = Shapes::StructureShape.new(name: 'DescribeJobResult')
32
+ GetJobManifestRequest = Shapes::StructureShape.new(name: 'GetJobManifestRequest')
33
+ GetJobManifestResult = Shapes::StructureShape.new(name: 'GetJobManifestResult')
34
+ GetJobUnlockCodeRequest = Shapes::StructureShape.new(name: 'GetJobUnlockCodeRequest')
35
+ GetJobUnlockCodeResult = Shapes::StructureShape.new(name: 'GetJobUnlockCodeResult')
36
+ GetSnowballUsageRequest = Shapes::StructureShape.new(name: 'GetSnowballUsageRequest')
37
+ GetSnowballUsageResult = Shapes::StructureShape.new(name: 'GetSnowballUsageResult')
38
+ Integer = Shapes::IntegerShape.new(name: 'Integer')
39
+ InvalidAddressException = Shapes::StructureShape.new(name: 'InvalidAddressException')
40
+ InvalidJobStateException = Shapes::StructureShape.new(name: 'InvalidJobStateException')
41
+ InvalidResourceException = Shapes::StructureShape.new(name: 'InvalidResourceException')
42
+ JobId = Shapes::StringShape.new(name: 'JobId')
43
+ JobListEntry = Shapes::StructureShape.new(name: 'JobListEntry')
44
+ JobListEntryList = Shapes::ListShape.new(name: 'JobListEntryList')
45
+ JobLogs = Shapes::StructureShape.new(name: 'JobLogs')
46
+ JobMetadata = Shapes::StructureShape.new(name: 'JobMetadata')
47
+ JobMetadataList = Shapes::ListShape.new(name: 'JobMetadataList')
48
+ JobResource = Shapes::StructureShape.new(name: 'JobResource')
49
+ JobState = Shapes::StringShape.new(name: 'JobState')
50
+ JobStateList = Shapes::ListShape.new(name: 'JobStateList')
51
+ JobType = Shapes::StringShape.new(name: 'JobType')
52
+ KMSRequestFailedException = Shapes::StructureShape.new(name: 'KMSRequestFailedException')
53
+ KeyRange = Shapes::StructureShape.new(name: 'KeyRange')
54
+ KmsKeyARN = Shapes::StringShape.new(name: 'KmsKeyARN')
55
+ ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
56
+ ListJobsResult = Shapes::StructureShape.new(name: 'ListJobsResult')
57
+ ListLimit = Shapes::IntegerShape.new(name: 'ListLimit')
58
+ Long = Shapes::IntegerShape.new(name: 'Long')
59
+ Notification = Shapes::StructureShape.new(name: 'Notification')
60
+ ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
61
+ RoleARN = Shapes::StringShape.new(name: 'RoleARN')
62
+ S3Resource = Shapes::StructureShape.new(name: 'S3Resource')
63
+ S3ResourceList = Shapes::ListShape.new(name: 'S3ResourceList')
64
+ Shipment = Shapes::StructureShape.new(name: 'Shipment')
65
+ ShippingDetails = Shapes::StructureShape.new(name: 'ShippingDetails')
66
+ ShippingOption = Shapes::StringShape.new(name: 'ShippingOption')
67
+ SnowballCapacity = Shapes::StringShape.new(name: 'SnowballCapacity')
68
+ SnsTopicARN = Shapes::StringShape.new(name: 'SnsTopicARN')
69
+ String = Shapes::StringShape.new(name: 'String')
70
+ Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
71
+ UnsupportedAddressException = Shapes::StructureShape.new(name: 'UnsupportedAddressException')
72
+ UpdateJobRequest = Shapes::StructureShape.new(name: 'UpdateJobRequest')
73
+ UpdateJobResult = Shapes::StructureShape.new(name: 'UpdateJobResult')
74
+
75
+ Address.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, location_name: "AddressId"))
76
+ Address.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
77
+ Address.add_member(:company, Shapes::ShapeRef.new(shape: String, location_name: "Company"))
78
+ Address.add_member(:street_1, Shapes::ShapeRef.new(shape: String, location_name: "Street1"))
79
+ Address.add_member(:street_2, Shapes::ShapeRef.new(shape: String, location_name: "Street2"))
80
+ Address.add_member(:street_3, Shapes::ShapeRef.new(shape: String, location_name: "Street3"))
81
+ Address.add_member(:city, Shapes::ShapeRef.new(shape: String, location_name: "City"))
82
+ Address.add_member(:state_or_province, Shapes::ShapeRef.new(shape: String, location_name: "StateOrProvince"))
83
+ Address.add_member(:prefecture_or_district, Shapes::ShapeRef.new(shape: String, location_name: "PrefectureOrDistrict"))
84
+ Address.add_member(:landmark, Shapes::ShapeRef.new(shape: String, location_name: "Landmark"))
85
+ Address.add_member(:country, Shapes::ShapeRef.new(shape: String, location_name: "Country"))
86
+ Address.add_member(:postal_code, Shapes::ShapeRef.new(shape: String, location_name: "PostalCode"))
87
+ Address.add_member(:phone_number, Shapes::ShapeRef.new(shape: String, location_name: "PhoneNumber"))
88
+ Address.struct_class = Types::Address
89
+
90
+ AddressList.member = Shapes::ShapeRef.new(shape: Address)
91
+
92
+ CancelJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
93
+ CancelJobRequest.struct_class = Types::CancelJobRequest
94
+
95
+ CancelJobResult.struct_class = Types::CancelJobResult
96
+
97
+ CreateAddressRequest.add_member(:address, Shapes::ShapeRef.new(shape: Address, required: true, location_name: "Address"))
98
+ CreateAddressRequest.struct_class = Types::CreateAddressRequest
99
+
100
+ CreateAddressResult.add_member(:address_id, Shapes::ShapeRef.new(shape: String, location_name: "AddressId"))
101
+ CreateAddressResult.struct_class = Types::CreateAddressResult
102
+
103
+ CreateJobRequest.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, required: true, location_name: "JobType"))
104
+ CreateJobRequest.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, required: true, location_name: "Resources"))
105
+ CreateJobRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
106
+ CreateJobRequest.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, required: true, location_name: "AddressId"))
107
+ CreateJobRequest.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyARN, location_name: "KmsKeyARN"))
108
+ CreateJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, required: true, location_name: "RoleARN"))
109
+ CreateJobRequest.add_member(:snowball_capacity_preference, Shapes::ShapeRef.new(shape: SnowballCapacity, location_name: "SnowballCapacityPreference"))
110
+ CreateJobRequest.add_member(:shipping_option, Shapes::ShapeRef.new(shape: ShippingOption, required: true, location_name: "ShippingOption"))
111
+ CreateJobRequest.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
112
+ CreateJobRequest.struct_class = Types::CreateJobRequest
113
+
114
+ CreateJobResult.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
115
+ CreateJobResult.struct_class = Types::CreateJobResult
116
+
117
+ DataTransfer.add_member(:bytes_transferred, Shapes::ShapeRef.new(shape: Long, location_name: "BytesTransferred"))
118
+ DataTransfer.add_member(:objects_transferred, Shapes::ShapeRef.new(shape: Long, location_name: "ObjectsTransferred"))
119
+ DataTransfer.add_member(:total_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "TotalBytes"))
120
+ DataTransfer.add_member(:total_objects, Shapes::ShapeRef.new(shape: Long, location_name: "TotalObjects"))
121
+ DataTransfer.struct_class = Types::DataTransfer
122
+
123
+ DescribeAddressRequest.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, required: true, location_name: "AddressId"))
124
+ DescribeAddressRequest.struct_class = Types::DescribeAddressRequest
125
+
126
+ DescribeAddressResult.add_member(:address, Shapes::ShapeRef.new(shape: Address, location_name: "Address"))
127
+ DescribeAddressResult.struct_class = Types::DescribeAddressResult
128
+
129
+ DescribeAddressesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListLimit, location_name: "MaxResults"))
130
+ DescribeAddressesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
131
+ DescribeAddressesRequest.struct_class = Types::DescribeAddressesRequest
132
+
133
+ DescribeAddressesResult.add_member(:addresses, Shapes::ShapeRef.new(shape: AddressList, location_name: "Addresses"))
134
+ DescribeAddressesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
135
+ DescribeAddressesResult.struct_class = Types::DescribeAddressesResult
136
+
137
+ DescribeJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
138
+ DescribeJobRequest.struct_class = Types::DescribeJobRequest
139
+
140
+ DescribeJobResult.add_member(:job_metadata, Shapes::ShapeRef.new(shape: JobMetadata, location_name: "JobMetadata"))
141
+ DescribeJobResult.add_member(:sub_job_metadata, Shapes::ShapeRef.new(shape: JobMetadataList, location_name: "SubJobMetadata"))
142
+ DescribeJobResult.struct_class = Types::DescribeJobResult
143
+
144
+ GetJobManifestRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
145
+ GetJobManifestRequest.struct_class = Types::GetJobManifestRequest
146
+
147
+ GetJobManifestResult.add_member(:manifest_uri, Shapes::ShapeRef.new(shape: String, location_name: "ManifestURI"))
148
+ GetJobManifestResult.struct_class = Types::GetJobManifestResult
149
+
150
+ GetJobUnlockCodeRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
151
+ GetJobUnlockCodeRequest.struct_class = Types::GetJobUnlockCodeRequest
152
+
153
+ GetJobUnlockCodeResult.add_member(:unlock_code, Shapes::ShapeRef.new(shape: String, location_name: "UnlockCode"))
154
+ GetJobUnlockCodeResult.struct_class = Types::GetJobUnlockCodeResult
155
+
156
+ GetSnowballUsageRequest.struct_class = Types::GetSnowballUsageRequest
157
+
158
+ GetSnowballUsageResult.add_member(:snowball_limit, Shapes::ShapeRef.new(shape: Integer, location_name: "SnowballLimit"))
159
+ GetSnowballUsageResult.add_member(:snowballs_in_use, Shapes::ShapeRef.new(shape: Integer, location_name: "SnowballsInUse"))
160
+ GetSnowballUsageResult.struct_class = Types::GetSnowballUsageResult
161
+
162
+ JobListEntry.add_member(:job_id, Shapes::ShapeRef.new(shape: String, location_name: "JobId"))
163
+ JobListEntry.add_member(:job_state, Shapes::ShapeRef.new(shape: JobState, location_name: "JobState"))
164
+ JobListEntry.add_member(:is_master, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsMaster"))
165
+ JobListEntry.struct_class = Types::JobListEntry
166
+
167
+ JobListEntryList.member = Shapes::ShapeRef.new(shape: JobListEntry)
168
+
169
+ JobLogs.add_member(:job_completion_report_uri, Shapes::ShapeRef.new(shape: String, location_name: "JobCompletionReportURI"))
170
+ JobLogs.add_member(:job_success_log_uri, Shapes::ShapeRef.new(shape: String, location_name: "JobSuccessLogURI"))
171
+ JobLogs.add_member(:job_failure_log_uri, Shapes::ShapeRef.new(shape: String, location_name: "JobFailureLogURI"))
172
+ JobLogs.struct_class = Types::JobLogs
173
+
174
+ JobMetadata.add_member(:job_id, Shapes::ShapeRef.new(shape: String, location_name: "JobId"))
175
+ JobMetadata.add_member(:job_state, Shapes::ShapeRef.new(shape: JobState, location_name: "JobState"))
176
+ JobMetadata.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, location_name: "JobType"))
177
+ JobMetadata.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDate"))
178
+ JobMetadata.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, location_name: "Resources"))
179
+ JobMetadata.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
180
+ JobMetadata.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyARN, location_name: "KmsKeyARN"))
181
+ JobMetadata.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
182
+ JobMetadata.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, location_name: "AddressId"))
183
+ JobMetadata.add_member(:shipping_details, Shapes::ShapeRef.new(shape: ShippingDetails, location_name: "ShippingDetails"))
184
+ JobMetadata.add_member(:snowball_capacity_preference, Shapes::ShapeRef.new(shape: SnowballCapacity, location_name: "SnowballCapacityPreference"))
185
+ JobMetadata.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
186
+ JobMetadata.add_member(:data_transfer_progress, Shapes::ShapeRef.new(shape: DataTransfer, location_name: "DataTransferProgress"))
187
+ JobMetadata.add_member(:job_log_info, Shapes::ShapeRef.new(shape: JobLogs, location_name: "JobLogInfo"))
188
+ JobMetadata.struct_class = Types::JobMetadata
189
+
190
+ JobMetadataList.member = Shapes::ShapeRef.new(shape: JobMetadata)
191
+
192
+ JobResource.add_member(:s3_resources, Shapes::ShapeRef.new(shape: S3ResourceList, location_name: "S3Resources"))
193
+ JobResource.struct_class = Types::JobResource
194
+
195
+ JobStateList.member = Shapes::ShapeRef.new(shape: JobState)
196
+
197
+ KeyRange.add_member(:begin_marker, Shapes::ShapeRef.new(shape: String, location_name: "BeginMarker"))
198
+ KeyRange.add_member(:end_marker, Shapes::ShapeRef.new(shape: String, location_name: "EndMarker"))
199
+ KeyRange.struct_class = Types::KeyRange
200
+
201
+ ListJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListLimit, location_name: "MaxResults"))
202
+ ListJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
203
+ ListJobsRequest.struct_class = Types::ListJobsRequest
204
+
205
+ ListJobsResult.add_member(:job_list_entries, Shapes::ShapeRef.new(shape: JobListEntryList, location_name: "JobListEntries"))
206
+ ListJobsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
207
+ ListJobsResult.struct_class = Types::ListJobsResult
208
+
209
+ Notification.add_member(:sns_topic_arn, Shapes::ShapeRef.new(shape: SnsTopicARN, location_name: "SnsTopicARN"))
210
+ Notification.add_member(:job_states_to_notify, Shapes::ShapeRef.new(shape: JobStateList, location_name: "JobStatesToNotify"))
211
+ Notification.add_member(:notify_all, Shapes::ShapeRef.new(shape: Boolean, location_name: "NotifyAll"))
212
+ Notification.struct_class = Types::Notification
213
+
214
+ S3Resource.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "BucketArn"))
215
+ S3Resource.add_member(:key_range, Shapes::ShapeRef.new(shape: KeyRange, location_name: "KeyRange"))
216
+ S3Resource.struct_class = Types::S3Resource
217
+
218
+ S3ResourceList.member = Shapes::ShapeRef.new(shape: S3Resource)
219
+
220
+ Shipment.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "Status"))
221
+ Shipment.add_member(:tracking_number, Shapes::ShapeRef.new(shape: String, location_name: "TrackingNumber"))
222
+ Shipment.struct_class = Types::Shipment
223
+
224
+ ShippingDetails.add_member(:shipping_option, Shapes::ShapeRef.new(shape: ShippingOption, location_name: "ShippingOption"))
225
+ ShippingDetails.add_member(:inbound_shipment, Shapes::ShapeRef.new(shape: Shipment, location_name: "InboundShipment"))
226
+ ShippingDetails.add_member(:outbound_shipment, Shapes::ShapeRef.new(shape: Shipment, location_name: "OutboundShipment"))
227
+ ShippingDetails.struct_class = Types::ShippingDetails
228
+
229
+ UpdateJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
230
+ UpdateJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
231
+ UpdateJobRequest.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
232
+ UpdateJobRequest.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, location_name: "Resources"))
233
+ UpdateJobRequest.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, location_name: "AddressId"))
234
+ UpdateJobRequest.add_member(:shipping_option, Shapes::ShapeRef.new(shape: ShippingOption, location_name: "ShippingOption"))
235
+ UpdateJobRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
236
+ UpdateJobRequest.add_member(:snowball_capacity_preference, Shapes::ShapeRef.new(shape: SnowballCapacity, location_name: "SnowballCapacityPreference"))
237
+ UpdateJobRequest.struct_class = Types::UpdateJobRequest
238
+
239
+ UpdateJobResult.struct_class = Types::UpdateJobResult
240
+
241
+
242
+ # @api private
243
+ API = Seahorse::Model::Api.new.tap do |api|
244
+
245
+ api.version = "2016-06-30"
246
+
247
+ api.metadata = {
248
+ "endpointPrefix" => "snowball",
249
+ "jsonVersion" => "1.1",
250
+ "protocol" => "json",
251
+ "serviceFullName" => "Amazon Import/Export Snowball",
252
+ "signatureVersion" => "v4",
253
+ "targetPrefix" => "AWSIESnowballJobManagementService",
254
+ }
255
+
256
+ api.add_operation(:cancel_job, Seahorse::Model::Operation.new.tap do |o|
257
+ o.name = "CancelJob"
258
+ o.http_method = "POST"
259
+ o.http_request_uri = "/"
260
+ o.input = Shapes::ShapeRef.new(shape: CancelJobRequest)
261
+ o.output = Shapes::ShapeRef.new(shape: CancelJobResult)
262
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
263
+ o.errors << Shapes::ShapeRef.new(shape: InvalidJobStateException)
264
+ o.errors << Shapes::ShapeRef.new(shape: KMSRequestFailedException)
265
+ end)
266
+
267
+ api.add_operation(:create_address, Seahorse::Model::Operation.new.tap do |o|
268
+ o.name = "CreateAddress"
269
+ o.http_method = "POST"
270
+ o.http_request_uri = "/"
271
+ o.input = Shapes::ShapeRef.new(shape: CreateAddressRequest)
272
+ o.output = Shapes::ShapeRef.new(shape: CreateAddressResult)
273
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAddressException)
274
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedAddressException)
275
+ end)
276
+
277
+ api.add_operation(:create_job, Seahorse::Model::Operation.new.tap do |o|
278
+ o.name = "CreateJob"
279
+ o.http_method = "POST"
280
+ o.http_request_uri = "/"
281
+ o.input = Shapes::ShapeRef.new(shape: CreateJobRequest)
282
+ o.output = Shapes::ShapeRef.new(shape: CreateJobResult)
283
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
284
+ o.errors << Shapes::ShapeRef.new(shape: KMSRequestFailedException)
285
+ end)
286
+
287
+ api.add_operation(:describe_address, Seahorse::Model::Operation.new.tap do |o|
288
+ o.name = "DescribeAddress"
289
+ o.http_method = "POST"
290
+ o.http_request_uri = "/"
291
+ o.input = Shapes::ShapeRef.new(shape: DescribeAddressRequest)
292
+ o.output = Shapes::ShapeRef.new(shape: DescribeAddressResult)
293
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
294
+ end)
295
+
296
+ api.add_operation(:describe_addresses, Seahorse::Model::Operation.new.tap do |o|
297
+ o.name = "DescribeAddresses"
298
+ o.http_method = "POST"
299
+ o.http_request_uri = "/"
300
+ o.input = Shapes::ShapeRef.new(shape: DescribeAddressesRequest)
301
+ o.output = Shapes::ShapeRef.new(shape: DescribeAddressesResult)
302
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
303
+ o[:pager] = Aws::Pager.new(
304
+ limit_key: "max_results",
305
+ tokens: {
306
+ "next_token" => "next_token"
307
+ }
308
+ )
309
+ end)
310
+
311
+ api.add_operation(:describe_job, Seahorse::Model::Operation.new.tap do |o|
312
+ o.name = "DescribeJob"
313
+ o.http_method = "POST"
314
+ o.http_request_uri = "/"
315
+ o.input = Shapes::ShapeRef.new(shape: DescribeJobRequest)
316
+ o.output = Shapes::ShapeRef.new(shape: DescribeJobResult)
317
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
318
+ end)
319
+
320
+ api.add_operation(:get_job_manifest, Seahorse::Model::Operation.new.tap do |o|
321
+ o.name = "GetJobManifest"
322
+ o.http_method = "POST"
323
+ o.http_request_uri = "/"
324
+ o.input = Shapes::ShapeRef.new(shape: GetJobManifestRequest)
325
+ o.output = Shapes::ShapeRef.new(shape: GetJobManifestResult)
326
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
327
+ o.errors << Shapes::ShapeRef.new(shape: InvalidJobStateException)
328
+ end)
329
+
330
+ api.add_operation(:get_job_unlock_code, Seahorse::Model::Operation.new.tap do |o|
331
+ o.name = "GetJobUnlockCode"
332
+ o.http_method = "POST"
333
+ o.http_request_uri = "/"
334
+ o.input = Shapes::ShapeRef.new(shape: GetJobUnlockCodeRequest)
335
+ o.output = Shapes::ShapeRef.new(shape: GetJobUnlockCodeResult)
336
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
337
+ o.errors << Shapes::ShapeRef.new(shape: InvalidJobStateException)
338
+ end)
339
+
340
+ api.add_operation(:get_snowball_usage, Seahorse::Model::Operation.new.tap do |o|
341
+ o.name = "GetSnowballUsage"
342
+ o.http_method = "POST"
343
+ o.http_request_uri = "/"
344
+ o.input = Shapes::ShapeRef.new(shape: GetSnowballUsageRequest)
345
+ o.output = Shapes::ShapeRef.new(shape: GetSnowballUsageResult)
346
+ end)
347
+
348
+ api.add_operation(:list_jobs, Seahorse::Model::Operation.new.tap do |o|
349
+ o.name = "ListJobs"
350
+ o.http_method = "POST"
351
+ o.http_request_uri = "/"
352
+ o.input = Shapes::ShapeRef.new(shape: ListJobsRequest)
353
+ o.output = Shapes::ShapeRef.new(shape: ListJobsResult)
354
+ o[:pager] = Aws::Pager.new(
355
+ limit_key: "max_results",
356
+ tokens: {
357
+ "next_token" => "next_token"
358
+ }
359
+ )
360
+ end)
361
+
362
+ api.add_operation(:update_job, Seahorse::Model::Operation.new.tap do |o|
363
+ o.name = "UpdateJob"
364
+ o.http_method = "POST"
365
+ o.http_request_uri = "/"
366
+ o.input = Shapes::ShapeRef.new(shape: UpdateJobRequest)
367
+ o.output = Shapes::ShapeRef.new(shape: UpdateJobResult)
368
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
369
+ o.errors << Shapes::ShapeRef.new(shape: InvalidJobStateException)
370
+ o.errors << Shapes::ShapeRef.new(shape: KMSRequestFailedException)
371
+ end)
372
+ end
373
+
374
+ end
375
+ end
376
+ end
@@ -0,0 +1,7 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Snowball
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Snowball
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,965 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Snowball
10
+ module Types
11
+
12
+ # The address that you want the Snowball or Snowballs associated with a
13
+ # specific job to be shipped to. Addresses are validated at the time of
14
+ # creation. The address you provide must be located within the
15
+ # serviceable area of your region. Although no individual elements of
16
+ # the `Address` are required, if the address is invalid or unsupported,
17
+ # then an exception is thrown.
18
+ # @note When making an API call, pass Address
19
+ # data as a hash:
20
+ #
21
+ # {
22
+ # address_id: "AddressId",
23
+ # name: "String",
24
+ # company: "String",
25
+ # street_1: "String",
26
+ # street_2: "String",
27
+ # street_3: "String",
28
+ # city: "String",
29
+ # state_or_province: "String",
30
+ # prefecture_or_district: "String",
31
+ # landmark: "String",
32
+ # country: "String",
33
+ # postal_code: "String",
34
+ # phone_number: "String",
35
+ # }
36
+ # @!attribute [rw] address_id
37
+ # The unique ID for an address.
38
+ # @return [String]
39
+ #
40
+ # @!attribute [rw] name
41
+ # The name of a person to receive a Snowball at an address.
42
+ # @return [String]
43
+ #
44
+ # @!attribute [rw] company
45
+ # The name of the company to receive a Snowball at an address.
46
+ # @return [String]
47
+ #
48
+ # @!attribute [rw] street_1
49
+ # The first line in a street address that a Snowball is to be
50
+ # delivered to.
51
+ # @return [String]
52
+ #
53
+ # @!attribute [rw] street_2
54
+ # The second line in a street address that a Snowball is to be
55
+ # delivered to.
56
+ # @return [String]
57
+ #
58
+ # @!attribute [rw] street_3
59
+ # The third line in a street address that a Snowball is to be
60
+ # delivered to.
61
+ # @return [String]
62
+ #
63
+ # @!attribute [rw] city
64
+ # The city in an address that a Snowball is to be delivered to.
65
+ # @return [String]
66
+ #
67
+ # @!attribute [rw] state_or_province
68
+ # The state or province in an address that a Snowball is to be
69
+ # delivered to.
70
+ # @return [String]
71
+ #
72
+ # @!attribute [rw] prefecture_or_district
73
+ # The prefecture or district in an address that a Snowball is to be
74
+ # delivered to.
75
+ # @return [String]
76
+ #
77
+ # @!attribute [rw] landmark
78
+ # A landmark listed in an address that a Snowball is to be delivered
79
+ # to.
80
+ # @return [String]
81
+ #
82
+ # @!attribute [rw] country
83
+ # The country in an address that a Snowball is to be delivered to.
84
+ # @return [String]
85
+ #
86
+ # @!attribute [rw] postal_code
87
+ # The postal code in an address that a Snowball is to be delivered to.
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] phone_number
91
+ # The phone number associated with an address that a Snowball is to be
92
+ # delivered to.
93
+ # @return [String]
94
+ class Address < Struct.new(
95
+ :address_id,
96
+ :name,
97
+ :company,
98
+ :street_1,
99
+ :street_2,
100
+ :street_3,
101
+ :city,
102
+ :state_or_province,
103
+ :prefecture_or_district,
104
+ :landmark,
105
+ :country,
106
+ :postal_code,
107
+ :phone_number)
108
+ include Aws::Structure
109
+ end
110
+
111
+ # @note When making an API call, pass CancelJobRequest
112
+ # data as a hash:
113
+ #
114
+ # {
115
+ # job_id: "JobId", # required
116
+ # }
117
+ # @!attribute [rw] job_id
118
+ # The 39 character job ID for the job that you want to cancel, for
119
+ # example `JID123e4567-e89b-12d3-a456-426655440000`.
120
+ # @return [String]
121
+ class CancelJobRequest < Struct.new(
122
+ :job_id)
123
+ include Aws::Structure
124
+ end
125
+
126
+ class CancelJobResult < Aws::EmptyStructure; end
127
+
128
+ # @note When making an API call, pass CreateAddressRequest
129
+ # data as a hash:
130
+ #
131
+ # {
132
+ # address: { # required
133
+ # address_id: "AddressId",
134
+ # name: "String",
135
+ # company: "String",
136
+ # street_1: "String",
137
+ # street_2: "String",
138
+ # street_3: "String",
139
+ # city: "String",
140
+ # state_or_province: "String",
141
+ # prefecture_or_district: "String",
142
+ # landmark: "String",
143
+ # country: "String",
144
+ # postal_code: "String",
145
+ # phone_number: "String",
146
+ # },
147
+ # }
148
+ # @!attribute [rw] address
149
+ # The address that you want the Snowball shipped to.
150
+ # @return [Types::Address]
151
+ class CreateAddressRequest < Struct.new(
152
+ :address)
153
+ include Aws::Structure
154
+ end
155
+
156
+ # @!attribute [rw] address_id
157
+ # The automatically generated ID for a specific address. You'll use
158
+ # this ID when you create a job to specify which address you want the
159
+ # Snowball for that job shipped to.
160
+ # @return [String]
161
+ class CreateAddressResult < Struct.new(
162
+ :address_id)
163
+ include Aws::Structure
164
+ end
165
+
166
+ # @note When making an API call, pass CreateJobRequest
167
+ # data as a hash:
168
+ #
169
+ # {
170
+ # job_type: "IMPORT", # required, accepts IMPORT, EXPORT
171
+ # resources: { # required
172
+ # s3_resources: [
173
+ # {
174
+ # bucket_arn: "ResourceARN",
175
+ # key_range: {
176
+ # begin_marker: "String",
177
+ # end_marker: "String",
178
+ # },
179
+ # },
180
+ # ],
181
+ # },
182
+ # description: "String",
183
+ # address_id: "AddressId", # required
184
+ # kms_key_arn: "KmsKeyARN",
185
+ # role_arn: "RoleARN", # required
186
+ # snowball_capacity_preference: "T50", # accepts T50, T80, NoPreference
187
+ # shipping_option: "SECOND_DAY", # required, accepts SECOND_DAY, NEXT_DAY, EXPRESS, STANDARD
188
+ # notification: {
189
+ # sns_topic_arn: "SnsTopicARN",
190
+ # job_states_to_notify: ["New"], # accepts New, PreparingAppliance, PreparingShipment, InTransitToCustomer, WithCustomer, InTransitToAWS, WithAWS, InProgress, Complete, Cancelled, Listing, Pending
191
+ # notify_all: false,
192
+ # },
193
+ # }
194
+ # @!attribute [rw] job_type
195
+ # Defines the type of job that you're creating.
196
+ # @return [String]
197
+ #
198
+ # @!attribute [rw] resources
199
+ # Defines the Amazon S3 buckets associated with this job.
200
+ #
201
+ # With `IMPORT` jobs, you specify the bucket or buckets that your
202
+ # transferred data will be imported into.
203
+ #
204
+ # With `EXPORT` jobs, you specify the bucket or buckets that your
205
+ # transferred data will be exported from. Optionally, you can also
206
+ # specify a `KeyRange` value. If you choose to export a range, you
207
+ # define the length of the range by providing either an inclusive
208
+ # `BeginMarker` value, an inclusive `EndMarker` value, or both. Ranges
209
+ # are UTF-8 binary sorted.
210
+ # @return [Types::JobResource]
211
+ #
212
+ # @!attribute [rw] description
213
+ # Defines an optional description of this specific job, for example
214
+ # `Important Photos 2016-08-11`.
215
+ # @return [String]
216
+ #
217
+ # @!attribute [rw] address_id
218
+ # The ID for the address that you want the Snowball shipped to.
219
+ # @return [String]
220
+ #
221
+ # @!attribute [rw] kms_key_arn
222
+ # The `KmsKeyARN` that you want to associate with this job.
223
+ # `KmsKeyARN`s are created using the [CreateKey][1] AWS Key Management
224
+ # Service (KMS) API action.
225
+ #
226
+ #
227
+ #
228
+ # [1]: http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html
229
+ # @return [String]
230
+ #
231
+ # @!attribute [rw] role_arn
232
+ # The `RoleARN` that you want to associate with this job. `RoleArn`s
233
+ # are created using the [CreateRole][1] AWS Identity and Access
234
+ # Management (IAM) API action.
235
+ #
236
+ #
237
+ #
238
+ # [1]: http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html
239
+ # @return [String]
240
+ #
241
+ # @!attribute [rw] snowball_capacity_preference
242
+ # If your job is being created in one of the US regions, you have the
243
+ # option of specifying what size Snowball you'd like for this job. In
244
+ # all other regions, Snowballs come with 80 TB in storage capacity.
245
+ # @return [String]
246
+ #
247
+ # @!attribute [rw] shipping_option
248
+ # The shipping speed for this job. Note that this speed does not
249
+ # dictate how soon you'll get the Snowball, rather it represents how
250
+ # quickly the Snowball moves to its destination while in transit.
251
+ # Regional shipping speeds are as follows:
252
+ #
253
+ # * In Australia, you have access to express shipping. Typically,
254
+ # Snowballs shipped express are delivered in about a day.
255
+ #
256
+ # * In the European Union (EU), you have access to express shipping.
257
+ # Typically, Snowballs shipped express are delivered in about a day.
258
+ # In addition, most countries in the EU have access to standard
259
+ # shipping, which typically takes less than a week, one way.
260
+ #
261
+ # * In India, Snowballs are delivered in one to seven days.
262
+ #
263
+ # * In the US, you have access to one-day shipping and two-day
264
+ # shipping.
265
+ # @return [String]
266
+ #
267
+ # @!attribute [rw] notification
268
+ # Defines the Amazon Simple Notification Service (Amazon SNS)
269
+ # notification settings for this job.
270
+ # @return [Types::Notification]
271
+ class CreateJobRequest < Struct.new(
272
+ :job_type,
273
+ :resources,
274
+ :description,
275
+ :address_id,
276
+ :kms_key_arn,
277
+ :role_arn,
278
+ :snowball_capacity_preference,
279
+ :shipping_option,
280
+ :notification)
281
+ include Aws::Structure
282
+ end
283
+
284
+ # @!attribute [rw] job_id
285
+ # The automatically generated ID for a job, for example
286
+ # `JID123e4567-e89b-12d3-a456-426655440000`.
287
+ # @return [String]
288
+ class CreateJobResult < Struct.new(
289
+ :job_id)
290
+ include Aws::Structure
291
+ end
292
+
293
+ # Defines the real-time status of a Snowball's data transfer while the
294
+ # appliance is at AWS. Note that this data is only available while a job
295
+ # has a `JobState` value of `InProgress`, for both import and export
296
+ # jobs.
297
+ # @!attribute [rw] bytes_transferred
298
+ # The number of bytes transferred between a Snowball and Amazon S3.
299
+ # @return [Integer]
300
+ #
301
+ # @!attribute [rw] objects_transferred
302
+ # The number of objects transferred between a Snowball and Amazon S3.
303
+ # @return [Integer]
304
+ #
305
+ # @!attribute [rw] total_bytes
306
+ # The total bytes of data for a transfer between a Snowball and Amazon
307
+ # S3. This value is set to 0 (zero) until all the keys that will be
308
+ # transferred have been listed.
309
+ # @return [Integer]
310
+ #
311
+ # @!attribute [rw] total_objects
312
+ # The total number of objects for a transfer between a Snowball and
313
+ # Amazon S3. This value is set to 0 (zero) until all the keys that
314
+ # will be transferred have been listed.
315
+ # @return [Integer]
316
+ class DataTransfer < Struct.new(
317
+ :bytes_transferred,
318
+ :objects_transferred,
319
+ :total_bytes,
320
+ :total_objects)
321
+ include Aws::Structure
322
+ end
323
+
324
+ # @note When making an API call, pass DescribeAddressRequest
325
+ # data as a hash:
326
+ #
327
+ # {
328
+ # address_id: "AddressId", # required
329
+ # }
330
+ # @!attribute [rw] address_id
331
+ # The automatically generated ID for a specific address.
332
+ # @return [String]
333
+ class DescribeAddressRequest < Struct.new(
334
+ :address_id)
335
+ include Aws::Structure
336
+ end
337
+
338
+ # @!attribute [rw] address
339
+ # The address that you want the Snowball or Snowballs associated with
340
+ # a specific job to be shipped to.
341
+ # @return [Types::Address]
342
+ class DescribeAddressResult < Struct.new(
343
+ :address)
344
+ include Aws::Structure
345
+ end
346
+
347
+ # @note When making an API call, pass DescribeAddressesRequest
348
+ # data as a hash:
349
+ #
350
+ # {
351
+ # max_results: 1,
352
+ # next_token: "String",
353
+ # }
354
+ # @!attribute [rw] max_results
355
+ # The number of `ADDRESS` objects to return.
356
+ # @return [Integer]
357
+ #
358
+ # @!attribute [rw] next_token
359
+ # HTTP requests are stateless. To identify what object comes "next"
360
+ # in the list of `ADDRESS` objects, you have the option of specifying
361
+ # a value for `NextToken` as the starting point for your list of
362
+ # returned addresses.
363
+ # @return [String]
364
+ class DescribeAddressesRequest < Struct.new(
365
+ :max_results,
366
+ :next_token)
367
+ include Aws::Structure
368
+ end
369
+
370
+ # @!attribute [rw] addresses
371
+ # The Snowball shipping addresses that were created for this account.
372
+ # @return [Array<Types::Address>]
373
+ #
374
+ # @!attribute [rw] next_token
375
+ # HTTP requests are stateless. If you use the automatically generated
376
+ # `NextToken` value in your next `DescribeAddresses` call, your list
377
+ # of returned addresses will start from this point in the array.
378
+ # @return [String]
379
+ class DescribeAddressesResult < Struct.new(
380
+ :addresses,
381
+ :next_token)
382
+ include Aws::Structure
383
+ end
384
+
385
+ # @note When making an API call, pass DescribeJobRequest
386
+ # data as a hash:
387
+ #
388
+ # {
389
+ # job_id: "JobId", # required
390
+ # }
391
+ # @!attribute [rw] job_id
392
+ # The automatically generated ID for a job, for example
393
+ # `JID123e4567-e89b-12d3-a456-426655440000`.
394
+ # @return [String]
395
+ class DescribeJobRequest < Struct.new(
396
+ :job_id)
397
+ include Aws::Structure
398
+ end
399
+
400
+ # @!attribute [rw] job_metadata
401
+ # Information about a specific job, including shipping information,
402
+ # job status, and other important metadata.
403
+ # @return [Types::JobMetadata]
404
+ #
405
+ # @!attribute [rw] sub_job_metadata
406
+ # Information about a specific job part (in the case of an export
407
+ # job), including shipping information, job status, and other
408
+ # important metadata.
409
+ # @return [Array<Types::JobMetadata>]
410
+ class DescribeJobResult < Struct.new(
411
+ :job_metadata,
412
+ :sub_job_metadata)
413
+ include Aws::Structure
414
+ end
415
+
416
+ # @note When making an API call, pass GetJobManifestRequest
417
+ # data as a hash:
418
+ #
419
+ # {
420
+ # job_id: "JobId", # required
421
+ # }
422
+ # @!attribute [rw] job_id
423
+ # The ID for a job that you want to get the manifest file for, for
424
+ # example `JID123e4567-e89b-12d3-a456-426655440000`.
425
+ # @return [String]
426
+ class GetJobManifestRequest < Struct.new(
427
+ :job_id)
428
+ include Aws::Structure
429
+ end
430
+
431
+ # @!attribute [rw] manifest_uri
432
+ # The Amazon S3 presigned URL for the manifest file associated with
433
+ # the specified `JobId` value.
434
+ # @return [String]
435
+ class GetJobManifestResult < Struct.new(
436
+ :manifest_uri)
437
+ include Aws::Structure
438
+ end
439
+
440
+ # @note When making an API call, pass GetJobUnlockCodeRequest
441
+ # data as a hash:
442
+ #
443
+ # {
444
+ # job_id: "JobId", # required
445
+ # }
446
+ # @!attribute [rw] job_id
447
+ # The ID for the job that you want to get the `UnlockCode` value for,
448
+ # for example `JID123e4567-e89b-12d3-a456-426655440000`.
449
+ # @return [String]
450
+ class GetJobUnlockCodeRequest < Struct.new(
451
+ :job_id)
452
+ include Aws::Structure
453
+ end
454
+
455
+ # @!attribute [rw] unlock_code
456
+ # The `UnlockCode` value for the specified job. The `UnlockCode` value
457
+ # can be accessed for up to 90 days after the job has been created.
458
+ # @return [String]
459
+ class GetJobUnlockCodeResult < Struct.new(
460
+ :unlock_code)
461
+ include Aws::Structure
462
+ end
463
+
464
+ # @api private
465
+ class GetSnowballUsageRequest < Aws::EmptyStructure; end
466
+
467
+ # @!attribute [rw] snowball_limit
468
+ # The service limit for number of Snowballs this account can have at
469
+ # once. The default service limit is 1 (one).
470
+ # @return [Integer]
471
+ #
472
+ # @!attribute [rw] snowballs_in_use
473
+ # The number of Snowballs that this account is currently using.
474
+ # @return [Integer]
475
+ class GetSnowballUsageResult < Struct.new(
476
+ :snowball_limit,
477
+ :snowballs_in_use)
478
+ include Aws::Structure
479
+ end
480
+
481
+ # Each `JobListEntry` object contains a job's state, a job's ID, and a
482
+ # value that indicates whether the job is a job part, in the case of an
483
+ # export job.
484
+ # @!attribute [rw] job_id
485
+ # The automatically generated ID for a job, for example
486
+ # `JID123e4567-e89b-12d3-a456-426655440000`.
487
+ # @return [String]
488
+ #
489
+ # @!attribute [rw] job_state
490
+ # The current state of this job.
491
+ # @return [String]
492
+ #
493
+ # @!attribute [rw] is_master
494
+ # A value that indicates that this job is a master job. A master job
495
+ # represents a successful request to create an export job. Master jobs
496
+ # aren't associated with any Snowballs. Instead, each master job will
497
+ # have at least one job part, and each job part is associated with a
498
+ # Snowball. It might take some time before the job parts associated
499
+ # with a particular master job are listed, because they are created
500
+ # after the master job is created.
501
+ # @return [Boolean]
502
+ class JobListEntry < Struct.new(
503
+ :job_id,
504
+ :job_state,
505
+ :is_master)
506
+ include Aws::Structure
507
+ end
508
+
509
+ # Contains job logs. Whenever Snowball is used to import data into or
510
+ # export data out of Amazon S3, you'll have the option of downloading a
511
+ # PDF job report. Job logs are returned as a part of the response syntax
512
+ # of the `DescribeJob` action in the `JobMetadata` data type. The job
513
+ # logs can be accessed for up to 60 minutes after this request has been
514
+ # made. To access any of the job logs after 60 minutes have passed,
515
+ # you'll have to make another call to the `DescribeJob` action.
516
+ #
517
+ # For import jobs, the PDF job report becomes available at the end of
518
+ # the import process. For export jobs, your job report typically becomes
519
+ # available while the Snowball for your job part is being delivered to
520
+ # you.
521
+ #
522
+ # The job report provides you insight into the state of your Amazon S3
523
+ # data transfer. The report includes details about your job or job part
524
+ # for your records.
525
+ #
526
+ # For deeper visibility into the status of your transferred objects, you
527
+ # can look at the two associated logs: a success log and a failure log.
528
+ # The logs are saved in comma-separated value (CSV) format, and the name
529
+ # of each log includes the ID of the job or job part that the log
530
+ # describes.
531
+ # @!attribute [rw] job_completion_report_uri
532
+ # A link to an Amazon S3 presigned URL where the job completion report
533
+ # is located.
534
+ # @return [String]
535
+ #
536
+ # @!attribute [rw] job_success_log_uri
537
+ # A link to an Amazon S3 presigned URL where the job success log is
538
+ # located.
539
+ # @return [String]
540
+ #
541
+ # @!attribute [rw] job_failure_log_uri
542
+ # A link to an Amazon S3 presigned URL where the job failure log is
543
+ # located.
544
+ # @return [String]
545
+ class JobLogs < Struct.new(
546
+ :job_completion_report_uri,
547
+ :job_success_log_uri,
548
+ :job_failure_log_uri)
549
+ include Aws::Structure
550
+ end
551
+
552
+ # Contains information about a specific job including shipping
553
+ # information, job status, and other important metadata. This
554
+ # information is returned as a part of the response syntax of the
555
+ # `DescribeJob` action.
556
+ # @!attribute [rw] job_id
557
+ # The automatically generated ID for a job, for example
558
+ # `JID123e4567-e89b-12d3-a456-426655440000`.
559
+ # @return [String]
560
+ #
561
+ # @!attribute [rw] job_state
562
+ # The current state of the jobs.
563
+ # @return [String]
564
+ #
565
+ # @!attribute [rw] job_type
566
+ # The type of job.
567
+ # @return [String]
568
+ #
569
+ # @!attribute [rw] creation_date
570
+ # The creation date for this job.
571
+ # @return [Time]
572
+ #
573
+ # @!attribute [rw] resources
574
+ # An array of `S3Resource` objects. Each `S3Resource` object
575
+ # represents an Amazon S3 bucket that your transferred data will be
576
+ # exported from or imported into.
577
+ # @return [Types::JobResource]
578
+ #
579
+ # @!attribute [rw] description
580
+ # The description of the job, provided at job creation.
581
+ # @return [String]
582
+ #
583
+ # @!attribute [rw] kms_key_arn
584
+ # The Amazon Resource Name (ARN) for the AWS Key Management Service
585
+ # (AWS KMS) key associated with this job. This ARN was created using
586
+ # the `CreateKey` API action in AWS KMS.
587
+ # @return [String]
588
+ #
589
+ # @!attribute [rw] role_arn
590
+ # The role ARN associated with this job. This ARN was created using
591
+ # the `CreateRole` API action in AWS Identity and Access Management
592
+ # (IAM).
593
+ # @return [String]
594
+ #
595
+ # @!attribute [rw] address_id
596
+ # The ID for the address that you want the Snowball shipped to.
597
+ # @return [String]
598
+ #
599
+ # @!attribute [rw] shipping_details
600
+ # A job's shipping information, including inbound and outbound
601
+ # tracking numbers and shipping speed options.
602
+ # @return [Types::ShippingDetails]
603
+ #
604
+ # @!attribute [rw] snowball_capacity_preference
605
+ # The Snowball capacity preference for this job, specified at job
606
+ # creation. In US regions, you can choose between 50 TB and 80 TB
607
+ # Snowballs. All other regions use 80 TB capacity Snowballs.
608
+ # @return [String]
609
+ #
610
+ # @!attribute [rw] notification
611
+ # The Amazon Simple Notification Service (Amazon SNS) notification
612
+ # settings associated with a specific job. The `Notification` object
613
+ # is returned as a part of the response syntax of the `DescribeJob`
614
+ # action in the `JobMetadata` data type.
615
+ # @return [Types::Notification]
616
+ #
617
+ # @!attribute [rw] data_transfer_progress
618
+ # A value that defines the real-time status of a Snowball's data
619
+ # transfer while the appliance is at AWS. Note that this data is only
620
+ # available while a job has a `JobState` value of `InProgress`, for
621
+ # both import and export jobs.
622
+ # @return [Types::DataTransfer]
623
+ #
624
+ # @!attribute [rw] job_log_info
625
+ # Links to Amazon S3 presigned URLs for the job report and logs. For
626
+ # import jobs, the PDF job report becomes available at the end of the
627
+ # import process. For export jobs, your job report typically becomes
628
+ # available while the Snowball for your job part is being delivered to
629
+ # you.
630
+ # @return [Types::JobLogs]
631
+ class JobMetadata < Struct.new(
632
+ :job_id,
633
+ :job_state,
634
+ :job_type,
635
+ :creation_date,
636
+ :resources,
637
+ :description,
638
+ :kms_key_arn,
639
+ :role_arn,
640
+ :address_id,
641
+ :shipping_details,
642
+ :snowball_capacity_preference,
643
+ :notification,
644
+ :data_transfer_progress,
645
+ :job_log_info)
646
+ include Aws::Structure
647
+ end
648
+
649
+ # Contains an array of `S3Resource` objects. Each `S3Resource` object
650
+ # represents an Amazon S3 bucket that your transferred data will be
651
+ # exported from or imported into.
652
+ # @note When making an API call, pass JobResource
653
+ # data as a hash:
654
+ #
655
+ # {
656
+ # s3_resources: [
657
+ # {
658
+ # bucket_arn: "ResourceARN",
659
+ # key_range: {
660
+ # begin_marker: "String",
661
+ # end_marker: "String",
662
+ # },
663
+ # },
664
+ # ],
665
+ # }
666
+ # @!attribute [rw] s3_resources
667
+ # An array of `S3Resource` objects.
668
+ # @return [Array<Types::S3Resource>]
669
+ class JobResource < Struct.new(
670
+ :s3_resources)
671
+ include Aws::Structure
672
+ end
673
+
674
+ # Contains a key range. For export jobs, a `S3Resource` object can have
675
+ # an optional `KeyRange` value. The length of the range is defined at
676
+ # job creation, and has either an inclusive `BeginMarker`, an inclusive
677
+ # `EndMarker`, or both. Ranges are UTF-8 binary sorted.
678
+ # @note When making an API call, pass KeyRange
679
+ # data as a hash:
680
+ #
681
+ # {
682
+ # begin_marker: "String",
683
+ # end_marker: "String",
684
+ # }
685
+ # @!attribute [rw] begin_marker
686
+ # The key that starts an optional key range for an export job. Ranges
687
+ # are inclusive and UTF-8 binary sorted.
688
+ # @return [String]
689
+ #
690
+ # @!attribute [rw] end_marker
691
+ # The key that ends an optional key range for an export job. Ranges
692
+ # are inclusive and UTF-8 binary sorted.
693
+ # @return [String]
694
+ class KeyRange < Struct.new(
695
+ :begin_marker,
696
+ :end_marker)
697
+ include Aws::Structure
698
+ end
699
+
700
+ # @note When making an API call, pass ListJobsRequest
701
+ # data as a hash:
702
+ #
703
+ # {
704
+ # max_results: 1,
705
+ # next_token: "String",
706
+ # }
707
+ # @!attribute [rw] max_results
708
+ # The number of `JobListEntry` objects to return.
709
+ # @return [Integer]
710
+ #
711
+ # @!attribute [rw] next_token
712
+ # HTTP requests are stateless. To identify what object comes "next"
713
+ # in the list of `JobListEntry` objects, you have the option of
714
+ # specifying `NextToken` as the starting point for your returned list.
715
+ # @return [String]
716
+ class ListJobsRequest < Struct.new(
717
+ :max_results,
718
+ :next_token)
719
+ include Aws::Structure
720
+ end
721
+
722
+ # @!attribute [rw] job_list_entries
723
+ # Each `JobListEntry` object contains a job's state, a job's ID, and
724
+ # a value that indicates whether the job is a job part, in the case of
725
+ # export jobs.
726
+ # @return [Array<Types::JobListEntry>]
727
+ #
728
+ # @!attribute [rw] next_token
729
+ # HTTP requests are stateless. If you use this automatically generated
730
+ # `NextToken` value in your next `ListJobs` call, your returned
731
+ # `JobListEntry` objects will start from this point in the array.
732
+ # @return [String]
733
+ class ListJobsResult < Struct.new(
734
+ :job_list_entries,
735
+ :next_token)
736
+ include Aws::Structure
737
+ end
738
+
739
+ # The Amazon Simple Notification Service (Amazon SNS) notification
740
+ # settings associated with a specific job. The `Notification` object is
741
+ # returned as a part of the response syntax of the `DescribeJob` action
742
+ # in the `JobMetadata` data type.
743
+ #
744
+ # When the notification settings are defined during job creation, you
745
+ # can choose to notify based on a specific set of job states using the
746
+ # `JobStatesToNotify` array of strings, or you can specify that you want
747
+ # to have Amazon SNS notifications sent out for all job states with
748
+ # `NotifyAll` set to true.
749
+ # @note When making an API call, pass Notification
750
+ # data as a hash:
751
+ #
752
+ # {
753
+ # sns_topic_arn: "SnsTopicARN",
754
+ # job_states_to_notify: ["New"], # accepts New, PreparingAppliance, PreparingShipment, InTransitToCustomer, WithCustomer, InTransitToAWS, WithAWS, InProgress, Complete, Cancelled, Listing, Pending
755
+ # notify_all: false,
756
+ # }
757
+ # @!attribute [rw] sns_topic_arn
758
+ # The new SNS `TopicArn` that you want to associate with this job. You
759
+ # can create Amazon Resource Names (ARNs) for topics by using the
760
+ # [CreateTopic][1] Amazon SNS API action.
761
+ #
762
+ # Note that you can subscribe email addresses to an Amazon SNS topic
763
+ # through the AWS Management Console, or by using the [Subscribe][2]
764
+ # AWS Simple Notification Service (SNS) API action.
765
+ #
766
+ #
767
+ #
768
+ # [1]: http://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html
769
+ # [2]: http://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html
770
+ # @return [String]
771
+ #
772
+ # @!attribute [rw] job_states_to_notify
773
+ # The list of job states that will trigger a notification for this
774
+ # job.
775
+ # @return [Array<String>]
776
+ #
777
+ # @!attribute [rw] notify_all
778
+ # Any change in job state will trigger a notification for this job.
779
+ # @return [Boolean]
780
+ class Notification < Struct.new(
781
+ :sns_topic_arn,
782
+ :job_states_to_notify,
783
+ :notify_all)
784
+ include Aws::Structure
785
+ end
786
+
787
+ # Each `S3Resource` object represents an Amazon S3 bucket that your
788
+ # transferred data will be exported from or imported into. For export
789
+ # jobs, this object can have an optional `KeyRange` value. The length of
790
+ # the range is defined at job creation, and has either an inclusive
791
+ # `BeginMarker`, an inclusive `EndMarker`, or both. Ranges are UTF-8
792
+ # binary sorted.
793
+ # @note When making an API call, pass S3Resource
794
+ # data as a hash:
795
+ #
796
+ # {
797
+ # bucket_arn: "ResourceARN",
798
+ # key_range: {
799
+ # begin_marker: "String",
800
+ # end_marker: "String",
801
+ # },
802
+ # }
803
+ # @!attribute [rw] bucket_arn
804
+ # The Amazon Resource Name (ARN) of an Amazon S3 bucket.
805
+ # @return [String]
806
+ #
807
+ # @!attribute [rw] key_range
808
+ # For export jobs, you can provide an optional `KeyRange` within a
809
+ # specific Amazon S3 bucket. The length of the range is defined at job
810
+ # creation, and has either an inclusive `BeginMarker`, an inclusive
811
+ # `EndMarker`, or both. Ranges are UTF-8 binary sorted.
812
+ # @return [Types::KeyRange]
813
+ class S3Resource < Struct.new(
814
+ :bucket_arn,
815
+ :key_range)
816
+ include Aws::Structure
817
+ end
818
+
819
+ # The `Status` and `TrackingNumber` information for an inbound or
820
+ # outbound shipment.
821
+ # @!attribute [rw] status
822
+ # Status information for a shipment. Valid statuses include `NEW`,
823
+ # `IN_TRANSIT`, and `DELIVERED`.
824
+ # @return [String]
825
+ #
826
+ # @!attribute [rw] tracking_number
827
+ # The tracking number for this job. Using this tracking number with
828
+ # your region's carrier's website, you can track a Snowball as the
829
+ # carrier transports it.
830
+ #
831
+ # For India, the carrier is Amazon Logistics. For all other regions,
832
+ # UPS is the carrier.
833
+ # @return [String]
834
+ class Shipment < Struct.new(
835
+ :status,
836
+ :tracking_number)
837
+ include Aws::Structure
838
+ end
839
+
840
+ # A job's shipping information, including inbound and outbound tracking
841
+ # numbers and shipping speed options.
842
+ # @!attribute [rw] shipping_option
843
+ # The shipping speed for a particular job. Note that this speed does
844
+ # not dictate how soon you'll get the Snowball from the job's
845
+ # creation date. This speed represents how quickly it moves to its
846
+ # destination while in transit. Regional shipping speeds are as
847
+ # follows:
848
+ #
849
+ # * In Australia, you have access to express shipping. Typically,
850
+ # Snowballs shipped express are delivered in about a day.
851
+ #
852
+ # * In the European Union (EU), you have access to express shipping.
853
+ # Typically, Snowballs shipped express are delivered in about a day.
854
+ # In addition, most countries in the EU have access to standard
855
+ # shipping, which typically takes less than a week, one way.
856
+ #
857
+ # * In India, Snowballs are delivered in one to seven days.
858
+ #
859
+ # * In the United States of America (US), you have access to one-day
860
+ # shipping and two-day shipping.
861
+ # @return [String]
862
+ #
863
+ # @!attribute [rw] inbound_shipment
864
+ # The `Status` and `TrackingNumber` values for a Snowball being
865
+ # delivered to the address that you specified for a particular job.
866
+ # @return [Types::Shipment]
867
+ #
868
+ # @!attribute [rw] outbound_shipment
869
+ # The `Status` and `TrackingNumber` values for a Snowball being
870
+ # returned to AWS for a particular job.
871
+ # @return [Types::Shipment]
872
+ class ShippingDetails < Struct.new(
873
+ :shipping_option,
874
+ :inbound_shipment,
875
+ :outbound_shipment)
876
+ include Aws::Structure
877
+ end
878
+
879
+ # @note When making an API call, pass UpdateJobRequest
880
+ # data as a hash:
881
+ #
882
+ # {
883
+ # job_id: "JobId", # required
884
+ # role_arn: "RoleARN",
885
+ # notification: {
886
+ # sns_topic_arn: "SnsTopicARN",
887
+ # job_states_to_notify: ["New"], # accepts New, PreparingAppliance, PreparingShipment, InTransitToCustomer, WithCustomer, InTransitToAWS, WithAWS, InProgress, Complete, Cancelled, Listing, Pending
888
+ # notify_all: false,
889
+ # },
890
+ # resources: {
891
+ # s3_resources: [
892
+ # {
893
+ # bucket_arn: "ResourceARN",
894
+ # key_range: {
895
+ # begin_marker: "String",
896
+ # end_marker: "String",
897
+ # },
898
+ # },
899
+ # ],
900
+ # },
901
+ # address_id: "AddressId",
902
+ # shipping_option: "SECOND_DAY", # accepts SECOND_DAY, NEXT_DAY, EXPRESS, STANDARD
903
+ # description: "String",
904
+ # snowball_capacity_preference: "T50", # accepts T50, T80, NoPreference
905
+ # }
906
+ # @!attribute [rw] job_id
907
+ # The job ID of the job that you want to update, for example
908
+ # `JID123e4567-e89b-12d3-a456-426655440000`.
909
+ # @return [String]
910
+ #
911
+ # @!attribute [rw] role_arn
912
+ # The new role Amazon Resource Name (ARN) that you want to associate
913
+ # with this job. To create a role ARN, use the [CreateRole][1] AWS
914
+ # Identity and Access Management (IAM) API action.
915
+ #
916
+ #
917
+ #
918
+ # [1]: http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html
919
+ # @return [String]
920
+ #
921
+ # @!attribute [rw] notification
922
+ # The new or updated Notification object.
923
+ # @return [Types::Notification]
924
+ #
925
+ # @!attribute [rw] resources
926
+ # The updated S3Resource object (for a single Amazon S3 bucket or key
927
+ # range), or the updated JobResource object (for multiple buckets or
928
+ # key ranges).
929
+ # @return [Types::JobResource]
930
+ #
931
+ # @!attribute [rw] address_id
932
+ # The ID of the updated Address object.
933
+ # @return [String]
934
+ #
935
+ # @!attribute [rw] shipping_option
936
+ # The updated shipping option value of this job's ShippingDetails
937
+ # object.
938
+ # @return [String]
939
+ #
940
+ # @!attribute [rw] description
941
+ # The updated description of this job's JobMetadata object.
942
+ # @return [String]
943
+ #
944
+ # @!attribute [rw] snowball_capacity_preference
945
+ # The updated `SnowballCapacityPreference` of this job's JobMetadata
946
+ # object. Note that the 50 TB Snowballs are only available in the US
947
+ # regions.
948
+ # @return [String]
949
+ class UpdateJobRequest < Struct.new(
950
+ :job_id,
951
+ :role_arn,
952
+ :notification,
953
+ :resources,
954
+ :address_id,
955
+ :shipping_option,
956
+ :description,
957
+ :snowball_capacity_preference)
958
+ include Aws::Structure
959
+ end
960
+
961
+ class UpdateJobResult < Aws::EmptyStructure; end
962
+
963
+ end
964
+ end
965
+ end