aws-sdk-snowball 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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