def get_job_output(params = {}, options = {}, &block)
      req = build_request(:get_job_output, params)
      req.send_request(options, &block)
    end
def get_job_output(params = {}, options = {}, &block)
      req = build_request(:get_job_output, params)
      req.send_request(options, &block)
    end
This operation downloads the output of the job you initiated using
 InitiateJob. Depending on the job type you specified when you
 initiated the job, the output will be either the content of an archive
 or a vault inventory.

 You can download all the job output or download a portion of the
 output by specifying a byte range. In the case of an archive retrieval
 job, depending on the byte range you specify, Amazon Glacier returns
 the checksum for the portion of the data. You can compute the checksum
 on the client and verify that the values match to ensure the portion
 you downloaded is the correct data.

 A job ID will not expire for at least 24 hours after Amazon Glacier
 completes the job. That a byte range. For both archive and inventory
 retrieval jobs, you should verify the downloaded size against the size
 returned in the headers from the **Get Job Output** response.

 For archive retrieval jobs, you should also verify that the size is
 what you expected. If you download a portion of the output, the
 expected size is based on the range of bytes you specified. For
 example, if you specify a range of `bytes=0-1048575`, you should
 verify your download size is 1,048,576 bytes. If you download an
 entire archive, the expected size is the size of the archive when you
 uploaded it to Amazon Glacier The expected size is also returned in
 the headers from the **Get Job Output** response.

 In the case of an archive retrieval job, depending on the byte range
 you specify, Amazon Glacier returns the checksum for the portion of
 the data. To ensure the portion you downloaded is the correct data,
 compute the checksum on the client, verify that the values match, and
 verify that the size is what you expected.

 A job ID does not expire for at least 24 hours after Amazon Glacier
 completes the job. That is, you can download the job output within the
 24 hours period after Amazon Glacier completes the job.

 An AWS account has full permission to perform all operations
 (actions). However, AWS Identity and Access Management (IAM) users
 don't have any permissions by default. You must grant them explicit
 permission to perform specific actions. For more information, see
 [Access Control Using AWS Identity and Access Management (IAM)][1].

 For conceptual information and the underlying REST API, see
 [Downloading a Vault Inventory][2], [Downloading an Archive][3], and
 [Get Job Output ][4]



 [1]: http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html
 [2]: http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.html
 [3]: http://docs.aws.amazon.com/amazonglacier/latest/dev/downloading-an-archive.html
 [4]: http://docs.aws.amazon.com/amazonglacier/latest/dev/api-job-output-get.html

 @option params [required, String] :account_id
   The `AccountId` value is the AWS account ID of the account that owns
   the vault. You can either specify an AWS account ID or optionally a
   single '`-`' (hyphen), in which case Amazon Glacier uses the AWS
   account ID associated with the credentials used to sign the request.
   If you use an account ID, do not include any hyphens ('-') in the
   ID.

 @option params [required, String] :vault_name
   The name of the vault.

 @option params [required, String] :job_id
   The job ID whose data is downloaded.

 @option params [String] :range
   The range of bytes to retrieve from the output. For example, if you
   want to download the first 1,048,576 bytes, specify the range as
   `bytes=0-1048575`. By default, this operation downloads the entire
   output.

   If the job output is large, then you can use a range to retrieve a
   portion of the output. This allows you to download the entire output
   in smaller chunks of bytes. For example, suppose you have 1 GB of job
   output you want to download and you decide to download 128 MB chunks
   of data at a time, which is a total of eight Get Job Output requests.
   You use the following process to download the job output:

   1.  Download a 128 MB chunk of output by specifying the appropriate
       byte range. Verify that all 128 MB of data was received.

   2.  Along with the data, the response includes a SHA256 tree hash of
       the payload. You compute the checksum of the payload on the client
       and compare it with the checksum you received in the response to
       ensure you received all the expected data.

   3.  Repeat steps 1 and 2 for all the eight 128 MB chunks of output
       data, each time specifying the appropriate byte range.

   4.  After downloading all the parts of the job output, you have a list
       of eight checksum values. Compute the tree hash of these values to
       find the checksum of the entire output. Using the DescribeJob API,
       obtain job information of the job that provided you the output.
       The response includes the checksum of the entire archive stored in
       Amazon Glacier. You compare this value with the checksum you
       computed to ensure you have downloaded the entire archive content
       with no errors.

 @return [Types::GetJobOutputOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

   * {Types::GetJobOutputOutput#body #body} => IO
   * {Types::GetJobOutputOutput#checksum #checksum} => String
   * {Types::GetJobOutputOutput#status #status} => Integer
   * {Types::GetJobOutputOutput#content_range #content_range} => String
   * {Types::GetJobOutputOutput#accept_ranges #accept_ranges} => String
   * {Types::GetJobOutputOutput#content_type #content_type} => String
   * {Types::GetJobOutputOutput#archive_description #archive_description} => String


 @example Example: To get the output of a previously initiated job

   # The example downloads the output of a previously initiated inventory retrieval job that is identified by the job ID.

   resp = client.get_job_output({
     account_id: "-",
     job_id: "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW",
     range: "",
     vault_name: "my-vaul",
   })

   resp.to_h outputs the following:
   {
     accept_ranges: "bytes",
     body: "inventory-data",
     content_type: "application/json",
     status: 200,
   }

 @example Request syntax with placeholder values

   resp = client.get_job_output({
     account_id: "string", # required
     vault_name: "string", # required
     job_id: "string", # required
     range: "string",
   })

 @example Response structure

   resp.body #=> IO
   resp.checksum #=> String
   resp.status #=> Integer
   resp.content_range #=> String
   resp.accept_ranges #=> String
   resp.content_type #=> String
   resp.archive_description #=> String

 @overload get_job_output(params = {})
 @param [Hash] params ({})