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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4fa9b066cadf7b945d758c2f33edc9a26eb681a1
4
+ data.tar.gz: 75026e44ccf64242b54b2279b4184dd2415b1256
5
+ SHA512:
6
+ metadata.gz: cf41c1bd844032b68c9bf06515212dacc64bf7caef47b671a65fba80a65b044f23cd7ef9803dcfd42fcd22100912be725961b3ed1a2580b8982bee929b28ea1a
7
+ data.tar.gz: 7985223d5035c3ab6f0bb09c42d83fab058026961eb3cbefacb7bd7f4198cfe33b1a131b619b17294e6b73b22a4cccecd32c5d5c6835f2adc304f4ae59e1126a
@@ -0,0 +1,47 @@
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
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-snowball/types'
12
+ require_relative 'aws-sdk-snowball/client_api'
13
+ require_relative 'aws-sdk-snowball/client'
14
+ require_relative 'aws-sdk-snowball/errors'
15
+ require_relative 'aws-sdk-snowball/resource'
16
+ require_relative 'aws-sdk-snowball/customizations'
17
+
18
+ # This module provides support for Amazon Import/Export Snowball. This module is available in the
19
+ # `aws-sdk-snowball` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Import/Export Snowball all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::Snowball::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::Snowball
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,700 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:snowball)
25
+
26
+ module Aws
27
+ module Snowball
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :snowball
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Cancels the specified job. Note that you can only cancel a job before
143
+ # its `JobState` value changes to `PreparingAppliance`. Requesting the
144
+ # `ListJobs` or `DescribeJob` action will return a job's `JobState` as
145
+ # part of the response element data returned.
146
+ # @option params [required, String] :job_id
147
+ # The 39 character job ID for the job that you want to cancel, for
148
+ # example `JID123e4567-e89b-12d3-a456-426655440000`.
149
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
150
+ #
151
+ # @example Request syntax with placeholder values
152
+ # resp = client.cancel_job({
153
+ # job_id: "JobId", # required
154
+ # })
155
+ # @overload cancel_job(params = {})
156
+ # @param [Hash] params ({})
157
+ def cancel_job(params = {}, options = {})
158
+ req = build_request(:cancel_job, params)
159
+ req.send_request(options)
160
+ end
161
+
162
+ # Creates an address for a Snowball to be shipped to.
163
+ #
164
+ # Addresses are validated at the time of creation. The address you
165
+ # provide must be located within the serviceable area of your region. If
166
+ # the address is invalid or unsupported, then an exception is thrown.
167
+ # @option params [required, Types::Address] :address
168
+ # The address that you want the Snowball shipped to.
169
+ # @return [Types::CreateAddressResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
170
+ #
171
+ # * {Types::CreateAddressResult#address_id #AddressId} => String
172
+ #
173
+ # @example Request syntax with placeholder values
174
+ # resp = client.create_address({
175
+ # address: { # required
176
+ # address_id: "AddressId",
177
+ # name: "String",
178
+ # company: "String",
179
+ # street_1: "String",
180
+ # street_2: "String",
181
+ # street_3: "String",
182
+ # city: "String",
183
+ # state_or_province: "String",
184
+ # prefecture_or_district: "String",
185
+ # landmark: "String",
186
+ # country: "String",
187
+ # postal_code: "String",
188
+ # phone_number: "String",
189
+ # },
190
+ # })
191
+ #
192
+ # @example Response structure
193
+ # resp.address_id #=> String
194
+ # @overload create_address(params = {})
195
+ # @param [Hash] params ({})
196
+ def create_address(params = {}, options = {})
197
+ req = build_request(:create_address, params)
198
+ req.send_request(options)
199
+ end
200
+
201
+ # Creates a job to import or export data between Amazon S3 and your
202
+ # on-premises data center. Note that your AWS account must have the
203
+ # right trust policies and permissions in place to create a job for
204
+ # Snowball. For more information, see api-reference-policies.
205
+ # @option params [required, String] :job_type
206
+ # Defines the type of job that you're creating.
207
+ # @option params [required, Types::JobResource] :resources
208
+ # Defines the Amazon S3 buckets associated with this job.
209
+ #
210
+ # With `IMPORT` jobs, you specify the bucket or buckets that your
211
+ # transferred data will be imported into.
212
+ #
213
+ # With `EXPORT` jobs, you specify the bucket or buckets that your
214
+ # transferred data will be exported from. Optionally, you can also
215
+ # specify a `KeyRange` value. If you choose to export a range, you
216
+ # define the length of the range by providing either an inclusive
217
+ # `BeginMarker` value, an inclusive `EndMarker` value, or both. Ranges
218
+ # are UTF-8 binary sorted.
219
+ # @option params [String] :description
220
+ # Defines an optional description of this specific job, for example
221
+ # `Important Photos 2016-08-11`.
222
+ # @option params [required, String] :address_id
223
+ # The ID for the address that you want the Snowball shipped to.
224
+ # @option params [String] :kms_key_arn
225
+ # The `KmsKeyARN` that you want to associate with this job. `KmsKeyARN`s
226
+ # are created using the [CreateKey][1] AWS Key Management Service (KMS)
227
+ # API action.
228
+ #
229
+ #
230
+ #
231
+ # [1]: http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html
232
+ # @option params [required, String] :role_arn
233
+ # The `RoleARN` that you want to associate with this job. `RoleArn`s are
234
+ # created using the [CreateRole][1] AWS Identity and Access Management
235
+ # (IAM) API action.
236
+ #
237
+ #
238
+ #
239
+ # [1]: http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html
240
+ # @option params [String] :snowball_capacity_preference
241
+ # If your job is being created in one of the US regions, you have the
242
+ # option of specifying what size Snowball you'd like for this job. In
243
+ # all other regions, Snowballs come with 80 TB in storage capacity.
244
+ # @option params [required, String] :shipping_option
245
+ # The shipping speed for this job. Note that this speed does not dictate
246
+ # how soon you'll get the Snowball, rather it represents how quickly
247
+ # the Snowball moves to its destination while in transit. Regional
248
+ # shipping speeds are as follows:
249
+ #
250
+ # * In Australia, you have access to express shipping. Typically,
251
+ # Snowballs shipped express are delivered in about a day.
252
+ #
253
+ # * In the European Union (EU), you have access to express shipping.
254
+ # Typically, Snowballs shipped express are delivered in about a day.
255
+ # In addition, most countries in the EU have access to standard
256
+ # shipping, which typically takes less than a week, one way.
257
+ #
258
+ # * In India, Snowballs are delivered in one to seven days.
259
+ #
260
+ # * In the US, you have access to one-day shipping and two-day shipping.
261
+ # @option params [Types::Notification] :notification
262
+ # Defines the Amazon Simple Notification Service (Amazon SNS)
263
+ # notification settings for this job.
264
+ # @return [Types::CreateJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
265
+ #
266
+ # * {Types::CreateJobResult#job_id #JobId} => String
267
+ #
268
+ # @example Request syntax with placeholder values
269
+ # resp = client.create_job({
270
+ # job_type: "IMPORT", # required, accepts IMPORT, EXPORT
271
+ # resources: { # required
272
+ # s3_resources: [
273
+ # {
274
+ # bucket_arn: "ResourceARN",
275
+ # key_range: {
276
+ # begin_marker: "String",
277
+ # end_marker: "String",
278
+ # },
279
+ # },
280
+ # ],
281
+ # },
282
+ # description: "String",
283
+ # address_id: "AddressId", # required
284
+ # kms_key_arn: "KmsKeyARN",
285
+ # role_arn: "RoleARN", # required
286
+ # snowball_capacity_preference: "T50", # accepts T50, T80, NoPreference
287
+ # shipping_option: "SECOND_DAY", # required, accepts SECOND_DAY, NEXT_DAY, EXPRESS, STANDARD
288
+ # notification: {
289
+ # sns_topic_arn: "SnsTopicARN",
290
+ # job_states_to_notify: ["New"], # accepts New, PreparingAppliance, PreparingShipment, InTransitToCustomer, WithCustomer, InTransitToAWS, WithAWS, InProgress, Complete, Cancelled, Listing, Pending
291
+ # notify_all: false,
292
+ # },
293
+ # })
294
+ #
295
+ # @example Response structure
296
+ # resp.job_id #=> String
297
+ # @overload create_job(params = {})
298
+ # @param [Hash] params ({})
299
+ def create_job(params = {}, options = {})
300
+ req = build_request(:create_job, params)
301
+ req.send_request(options)
302
+ end
303
+
304
+ # Takes an `AddressId` and returns specific details about that address
305
+ # in the form of an `Address` object.
306
+ # @option params [required, String] :address_id
307
+ # The automatically generated ID for a specific address.
308
+ # @return [Types::DescribeAddressResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
309
+ #
310
+ # * {Types::DescribeAddressResult#address #Address} => Types::Address
311
+ #
312
+ # @example Request syntax with placeholder values
313
+ # resp = client.describe_address({
314
+ # address_id: "AddressId", # required
315
+ # })
316
+ #
317
+ # @example Response structure
318
+ # resp.address.address_id #=> String
319
+ # resp.address.name #=> String
320
+ # resp.address.company #=> String
321
+ # resp.address.street_1 #=> String
322
+ # resp.address.street_2 #=> String
323
+ # resp.address.street_3 #=> String
324
+ # resp.address.city #=> String
325
+ # resp.address.state_or_province #=> String
326
+ # resp.address.prefecture_or_district #=> String
327
+ # resp.address.landmark #=> String
328
+ # resp.address.country #=> String
329
+ # resp.address.postal_code #=> String
330
+ # resp.address.phone_number #=> String
331
+ # @overload describe_address(params = {})
332
+ # @param [Hash] params ({})
333
+ def describe_address(params = {}, options = {})
334
+ req = build_request(:describe_address, params)
335
+ req.send_request(options)
336
+ end
337
+
338
+ # Returns a specified number of `ADDRESS` objects. Calling this API in
339
+ # one of the US regions will return addresses from the list of all
340
+ # addresses associated with this account in all US regions.
341
+ # @option params [Integer] :max_results
342
+ # The number of `ADDRESS` objects to return.
343
+ # @option params [String] :next_token
344
+ # HTTP requests are stateless. To identify what object comes "next" in
345
+ # the list of `ADDRESS` objects, you have the option of specifying a
346
+ # value for `NextToken` as the starting point for your list of returned
347
+ # addresses.
348
+ # @return [Types::DescribeAddressesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
349
+ #
350
+ # * {Types::DescribeAddressesResult#addresses #Addresses} => Array&lt;Types::Address&gt;
351
+ # * {Types::DescribeAddressesResult#next_token #NextToken} => String
352
+ #
353
+ # @example Request syntax with placeholder values
354
+ # resp = client.describe_addresses({
355
+ # max_results: 1,
356
+ # next_token: "String",
357
+ # })
358
+ #
359
+ # @example Response structure
360
+ # resp.addresses #=> Array
361
+ # resp.addresses[0].address_id #=> String
362
+ # resp.addresses[0].name #=> String
363
+ # resp.addresses[0].company #=> String
364
+ # resp.addresses[0].street_1 #=> String
365
+ # resp.addresses[0].street_2 #=> String
366
+ # resp.addresses[0].street_3 #=> String
367
+ # resp.addresses[0].city #=> String
368
+ # resp.addresses[0].state_or_province #=> String
369
+ # resp.addresses[0].prefecture_or_district #=> String
370
+ # resp.addresses[0].landmark #=> String
371
+ # resp.addresses[0].country #=> String
372
+ # resp.addresses[0].postal_code #=> String
373
+ # resp.addresses[0].phone_number #=> String
374
+ # resp.next_token #=> String
375
+ # @overload describe_addresses(params = {})
376
+ # @param [Hash] params ({})
377
+ def describe_addresses(params = {}, options = {})
378
+ req = build_request(:describe_addresses, params)
379
+ req.send_request(options)
380
+ end
381
+
382
+ # Returns information about a specific job including shipping
383
+ # information, job status, and other important metadata.
384
+ # @option params [required, String] :job_id
385
+ # The automatically generated ID for a job, for example
386
+ # `JID123e4567-e89b-12d3-a456-426655440000`.
387
+ # @return [Types::DescribeJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
388
+ #
389
+ # * {Types::DescribeJobResult#job_metadata #JobMetadata} => Types::JobMetadata
390
+ # * {Types::DescribeJobResult#sub_job_metadata #SubJobMetadata} => Array&lt;Types::JobMetadata&gt;
391
+ #
392
+ # @example Request syntax with placeholder values
393
+ # resp = client.describe_job({
394
+ # job_id: "JobId", # required
395
+ # })
396
+ #
397
+ # @example Response structure
398
+ # resp.job_metadata.job_id #=> String
399
+ # resp.job_metadata.job_state #=> String, one of "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending"
400
+ # resp.job_metadata.job_type #=> String, one of "IMPORT", "EXPORT"
401
+ # resp.job_metadata.creation_date #=> Time
402
+ # resp.job_metadata.resources.s3_resources #=> Array
403
+ # resp.job_metadata.resources.s3_resources[0].bucket_arn #=> String
404
+ # resp.job_metadata.resources.s3_resources[0].key_range.begin_marker #=> String
405
+ # resp.job_metadata.resources.s3_resources[0].key_range.end_marker #=> String
406
+ # resp.job_metadata.description #=> String
407
+ # resp.job_metadata.kms_key_arn #=> String
408
+ # resp.job_metadata.role_arn #=> String
409
+ # resp.job_metadata.address_id #=> String
410
+ # resp.job_metadata.shipping_details.shipping_option #=> String, one of "SECOND_DAY", "NEXT_DAY", "EXPRESS", "STANDARD"
411
+ # resp.job_metadata.shipping_details.inbound_shipment.status #=> String
412
+ # resp.job_metadata.shipping_details.inbound_shipment.tracking_number #=> String
413
+ # resp.job_metadata.shipping_details.outbound_shipment.status #=> String
414
+ # resp.job_metadata.shipping_details.outbound_shipment.tracking_number #=> String
415
+ # resp.job_metadata.snowball_capacity_preference #=> String, one of "T50", "T80", "NoPreference"
416
+ # resp.job_metadata.notification.sns_topic_arn #=> String
417
+ # resp.job_metadata.notification.job_states_to_notify #=> Array
418
+ # resp.job_metadata.notification.job_states_to_notify[0] #=> String, one of "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending"
419
+ # resp.job_metadata.notification.notify_all #=> Boolean
420
+ # resp.job_metadata.data_transfer_progress.bytes_transferred #=> Integer
421
+ # resp.job_metadata.data_transfer_progress.objects_transferred #=> Integer
422
+ # resp.job_metadata.data_transfer_progress.total_bytes #=> Integer
423
+ # resp.job_metadata.data_transfer_progress.total_objects #=> Integer
424
+ # resp.job_metadata.job_log_info.job_completion_report_uri #=> String
425
+ # resp.job_metadata.job_log_info.job_success_log_uri #=> String
426
+ # resp.job_metadata.job_log_info.job_failure_log_uri #=> String
427
+ # resp.sub_job_metadata #=> Array
428
+ # resp.sub_job_metadata[0].job_id #=> String
429
+ # resp.sub_job_metadata[0].job_state #=> String, one of "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending"
430
+ # resp.sub_job_metadata[0].job_type #=> String, one of "IMPORT", "EXPORT"
431
+ # resp.sub_job_metadata[0].creation_date #=> Time
432
+ # resp.sub_job_metadata[0].resources.s3_resources #=> Array
433
+ # resp.sub_job_metadata[0].resources.s3_resources[0].bucket_arn #=> String
434
+ # resp.sub_job_metadata[0].resources.s3_resources[0].key_range.begin_marker #=> String
435
+ # resp.sub_job_metadata[0].resources.s3_resources[0].key_range.end_marker #=> String
436
+ # resp.sub_job_metadata[0].description #=> String
437
+ # resp.sub_job_metadata[0].kms_key_arn #=> String
438
+ # resp.sub_job_metadata[0].role_arn #=> String
439
+ # resp.sub_job_metadata[0].address_id #=> String
440
+ # resp.sub_job_metadata[0].shipping_details.shipping_option #=> String, one of "SECOND_DAY", "NEXT_DAY", "EXPRESS", "STANDARD"
441
+ # resp.sub_job_metadata[0].shipping_details.inbound_shipment.status #=> String
442
+ # resp.sub_job_metadata[0].shipping_details.inbound_shipment.tracking_number #=> String
443
+ # resp.sub_job_metadata[0].shipping_details.outbound_shipment.status #=> String
444
+ # resp.sub_job_metadata[0].shipping_details.outbound_shipment.tracking_number #=> String
445
+ # resp.sub_job_metadata[0].snowball_capacity_preference #=> String, one of "T50", "T80", "NoPreference"
446
+ # resp.sub_job_metadata[0].notification.sns_topic_arn #=> String
447
+ # resp.sub_job_metadata[0].notification.job_states_to_notify #=> Array
448
+ # resp.sub_job_metadata[0].notification.job_states_to_notify[0] #=> String, one of "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending"
449
+ # resp.sub_job_metadata[0].notification.notify_all #=> Boolean
450
+ # resp.sub_job_metadata[0].data_transfer_progress.bytes_transferred #=> Integer
451
+ # resp.sub_job_metadata[0].data_transfer_progress.objects_transferred #=> Integer
452
+ # resp.sub_job_metadata[0].data_transfer_progress.total_bytes #=> Integer
453
+ # resp.sub_job_metadata[0].data_transfer_progress.total_objects #=> Integer
454
+ # resp.sub_job_metadata[0].job_log_info.job_completion_report_uri #=> String
455
+ # resp.sub_job_metadata[0].job_log_info.job_success_log_uri #=> String
456
+ # resp.sub_job_metadata[0].job_log_info.job_failure_log_uri #=> String
457
+ # @overload describe_job(params = {})
458
+ # @param [Hash] params ({})
459
+ def describe_job(params = {}, options = {})
460
+ req = build_request(:describe_job, params)
461
+ req.send_request(options)
462
+ end
463
+
464
+ # Returns a link to an Amazon S3 presigned URL for the manifest file
465
+ # associated with the specified `JobId` value. You can access the
466
+ # manifest file for up to 60 minutes after this request has been made.
467
+ # To access the manifest file after 60 minutes have passed, you'll have
468
+ # to make another call to the `GetJobManifest` action.
469
+ #
470
+ # The manifest is an encrypted file that you can download after your job
471
+ # enters the `WithCustomer` status. The manifest is decrypted by using
472
+ # the `UnlockCode` code value, when you pass both values to the Snowball
473
+ # through the Snowball client when the client is started for the first
474
+ # time.
475
+ #
476
+ # As a best practice, we recommend that you don't save a copy of an
477
+ # `UnlockCode` value in the same location as the manifest file for that
478
+ # job. Saving these separately helps prevent unauthorized parties from
479
+ # gaining access to the Snowball associated with that job.
480
+ #
481
+ # Note that the credentials of a given job, including its manifest file
482
+ # and unlock code, expire 90 days after the job is created.
483
+ # @option params [required, String] :job_id
484
+ # The ID for a job that you want to get the manifest file for, for
485
+ # example `JID123e4567-e89b-12d3-a456-426655440000`.
486
+ # @return [Types::GetJobManifestResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
487
+ #
488
+ # * {Types::GetJobManifestResult#manifest_uri #ManifestURI} => String
489
+ #
490
+ # @example Request syntax with placeholder values
491
+ # resp = client.get_job_manifest({
492
+ # job_id: "JobId", # required
493
+ # })
494
+ #
495
+ # @example Response structure
496
+ # resp.manifest_uri #=> String
497
+ # @overload get_job_manifest(params = {})
498
+ # @param [Hash] params ({})
499
+ def get_job_manifest(params = {}, options = {})
500
+ req = build_request(:get_job_manifest, params)
501
+ req.send_request(options)
502
+ end
503
+
504
+ # Returns the `UnlockCode` code value for the specified job. A
505
+ # particular `UnlockCode` value can be accessed for up to 90 days after
506
+ # the associated job has been created.
507
+ #
508
+ # The `UnlockCode` value is a 29-character code with 25 alphanumeric
509
+ # characters and 4 hyphens. This code is used to decrypt the manifest
510
+ # file when it is passed along with the manifest to the Snowball through
511
+ # the Snowball client when the client is started for the first time.
512
+ #
513
+ # As a best practice, we recommend that you don't save a copy of the
514
+ # `UnlockCode` in the same location as the manifest file for that job.
515
+ # Saving these separately helps prevent unauthorized parties from
516
+ # gaining access to the Snowball associated with that job.
517
+ # @option params [required, String] :job_id
518
+ # The ID for the job that you want to get the `UnlockCode` value for,
519
+ # for example `JID123e4567-e89b-12d3-a456-426655440000`.
520
+ # @return [Types::GetJobUnlockCodeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
521
+ #
522
+ # * {Types::GetJobUnlockCodeResult#unlock_code #UnlockCode} => String
523
+ #
524
+ # @example Request syntax with placeholder values
525
+ # resp = client.get_job_unlock_code({
526
+ # job_id: "JobId", # required
527
+ # })
528
+ #
529
+ # @example Response structure
530
+ # resp.unlock_code #=> String
531
+ # @overload get_job_unlock_code(params = {})
532
+ # @param [Hash] params ({})
533
+ def get_job_unlock_code(params = {}, options = {})
534
+ req = build_request(:get_job_unlock_code, params)
535
+ req.send_request(options)
536
+ end
537
+
538
+ # Returns information about the Snowball service limit for your account,
539
+ # and also the number of Snowballs your account has in use.
540
+ #
541
+ # Note that the default service limit for the number of Snowballs that
542
+ # you can have at one time is 1. If you want to increase your service
543
+ # limit, contact AWS Support.
544
+ # @return [Types::GetSnowballUsageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
545
+ #
546
+ # * {Types::GetSnowballUsageResult#snowball_limit #SnowballLimit} => Integer
547
+ # * {Types::GetSnowballUsageResult#snowballs_in_use #SnowballsInUse} => Integer
548
+ #
549
+ # @example Request syntax with placeholder values
550
+ # resp = client.get_snowball_usage()
551
+ #
552
+ # @example Response structure
553
+ # resp.snowball_limit #=> Integer
554
+ # resp.snowballs_in_use #=> Integer
555
+ # @overload get_snowball_usage(params = {})
556
+ # @param [Hash] params ({})
557
+ def get_snowball_usage(params = {}, options = {})
558
+ req = build_request(:get_snowball_usage, params)
559
+ req.send_request(options)
560
+ end
561
+
562
+ # Returns an array of `JobListEntry` objects of the specified length.
563
+ # Each `JobListEntry` object contains a job's state, a job's ID, and a
564
+ # value that indicates whether the job is a job part, in the case of
565
+ # export jobs. Calling this API action in one of the US regions will
566
+ # return jobs from the list of all jobs associated with this account in
567
+ # all US regions.
568
+ # @option params [Integer] :max_results
569
+ # The number of `JobListEntry` objects to return.
570
+ # @option params [String] :next_token
571
+ # HTTP requests are stateless. To identify what object comes "next" in
572
+ # the list of `JobListEntry` objects, you have the option of specifying
573
+ # `NextToken` as the starting point for your returned list.
574
+ # @return [Types::ListJobsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
575
+ #
576
+ # * {Types::ListJobsResult#job_list_entries #JobListEntries} => Array&lt;Types::JobListEntry&gt;
577
+ # * {Types::ListJobsResult#next_token #NextToken} => String
578
+ #
579
+ # @example Request syntax with placeholder values
580
+ # resp = client.list_jobs({
581
+ # max_results: 1,
582
+ # next_token: "String",
583
+ # })
584
+ #
585
+ # @example Response structure
586
+ # resp.job_list_entries #=> Array
587
+ # resp.job_list_entries[0].job_id #=> String
588
+ # resp.job_list_entries[0].job_state #=> String, one of "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending"
589
+ # resp.job_list_entries[0].is_master #=> Boolean
590
+ # resp.next_token #=> String
591
+ # @overload list_jobs(params = {})
592
+ # @param [Hash] params ({})
593
+ def list_jobs(params = {}, options = {})
594
+ req = build_request(:list_jobs, params)
595
+ req.send_request(options)
596
+ end
597
+
598
+ # While a job's `JobState` value is `New`, you can update some of the
599
+ # information associated with a job. Once the job changes to a different
600
+ # job state, usually within 60 minutes of the job being created, this
601
+ # action is no longer available.
602
+ # @option params [required, String] :job_id
603
+ # The job ID of the job that you want to update, for example
604
+ # `JID123e4567-e89b-12d3-a456-426655440000`.
605
+ # @option params [String] :role_arn
606
+ # The new role Amazon Resource Name (ARN) that you want to associate
607
+ # with this job. To create a role ARN, use the [CreateRole][1] AWS
608
+ # Identity and Access Management (IAM) API action.
609
+ #
610
+ #
611
+ #
612
+ # [1]: http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html
613
+ # @option params [Types::Notification] :notification
614
+ # The new or updated Notification object.
615
+ # @option params [Types::JobResource] :resources
616
+ # The updated S3Resource object (for a single Amazon S3 bucket or key
617
+ # range), or the updated JobResource object (for multiple buckets or key
618
+ # ranges).
619
+ # @option params [String] :address_id
620
+ # The ID of the updated Address object.
621
+ # @option params [String] :shipping_option
622
+ # The updated shipping option value of this job's ShippingDetails
623
+ # object.
624
+ # @option params [String] :description
625
+ # The updated description of this job's JobMetadata object.
626
+ # @option params [String] :snowball_capacity_preference
627
+ # The updated `SnowballCapacityPreference` of this job's JobMetadata
628
+ # object. Note that the 50 TB Snowballs are only available in the US
629
+ # regions.
630
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
631
+ #
632
+ # @example Request syntax with placeholder values
633
+ # resp = client.update_job({
634
+ # job_id: "JobId", # required
635
+ # role_arn: "RoleARN",
636
+ # notification: {
637
+ # sns_topic_arn: "SnsTopicARN",
638
+ # job_states_to_notify: ["New"], # accepts New, PreparingAppliance, PreparingShipment, InTransitToCustomer, WithCustomer, InTransitToAWS, WithAWS, InProgress, Complete, Cancelled, Listing, Pending
639
+ # notify_all: false,
640
+ # },
641
+ # resources: {
642
+ # s3_resources: [
643
+ # {
644
+ # bucket_arn: "ResourceARN",
645
+ # key_range: {
646
+ # begin_marker: "String",
647
+ # end_marker: "String",
648
+ # },
649
+ # },
650
+ # ],
651
+ # },
652
+ # address_id: "AddressId",
653
+ # shipping_option: "SECOND_DAY", # accepts SECOND_DAY, NEXT_DAY, EXPRESS, STANDARD
654
+ # description: "String",
655
+ # snowball_capacity_preference: "T50", # accepts T50, T80, NoPreference
656
+ # })
657
+ # @overload update_job(params = {})
658
+ # @param [Hash] params ({})
659
+ def update_job(params = {}, options = {})
660
+ req = build_request(:update_job, params)
661
+ req.send_request(options)
662
+ end
663
+
664
+ # @!endgroup
665
+
666
+ # @param params ({})
667
+ # @api private
668
+ def build_request(operation_name, params = {})
669
+ handlers = @handlers.for(operation_name)
670
+ context = Seahorse::Client::RequestContext.new(
671
+ operation_name: operation_name,
672
+ operation: config.api.operation(operation_name),
673
+ client: self,
674
+ params: params,
675
+ config: config)
676
+ context[:gem_name] = 'aws-sdk-snowball'
677
+ context[:gem_version] = '1.0.0.rc1'
678
+ Seahorse::Client::Request.new(handlers, context)
679
+ end
680
+
681
+ # @api private
682
+ # @deprecated
683
+ def waiter_names
684
+ []
685
+ end
686
+
687
+ class << self
688
+
689
+ # @api private
690
+ attr_reader :identifier
691
+
692
+ # @api private
693
+ def errors_module
694
+ Errors
695
+ end
696
+
697
+ end
698
+ end
699
+ end
700
+ end