aws-sdk-snowball 1.0.0.rc1

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