/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Glacier { namespace Model { /** *

Provides options for downloading output of an Amazon S3 Glacier * job.

See Also:

AWS * API Reference

*/ class GetJobOutputRequest : public GlacierRequest { public: AWS_GLACIER_API GetJobOutputRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetJobOutput"; } AWS_GLACIER_API Aws::String SerializePayload() const override; AWS_GLACIER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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 S3 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.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

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 S3 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.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

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 S3 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.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

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 S3 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.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

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 S3 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.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

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 S3 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.

*/ inline GetJobOutputRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

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 S3 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.

*/ inline GetJobOutputRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

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 S3 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.

*/ inline GetJobOutputRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The name of the vault.

*/ inline const Aws::String& GetVaultName() const{ return m_vaultName; } /** *

The name of the vault.

*/ inline bool VaultNameHasBeenSet() const { return m_vaultNameHasBeenSet; } /** *

The name of the vault.

*/ inline void SetVaultName(const Aws::String& value) { m_vaultNameHasBeenSet = true; m_vaultName = value; } /** *

The name of the vault.

*/ inline void SetVaultName(Aws::String&& value) { m_vaultNameHasBeenSet = true; m_vaultName = std::move(value); } /** *

The name of the vault.

*/ inline void SetVaultName(const char* value) { m_vaultNameHasBeenSet = true; m_vaultName.assign(value); } /** *

The name of the vault.

*/ inline GetJobOutputRequest& WithVaultName(const Aws::String& value) { SetVaultName(value); return *this;} /** *

The name of the vault.

*/ inline GetJobOutputRequest& WithVaultName(Aws::String&& value) { SetVaultName(std::move(value)); return *this;} /** *

The name of the vault.

*/ inline GetJobOutputRequest& WithVaultName(const char* value) { SetVaultName(value); return *this;} /** *

The job ID whose data is downloaded.

*/ inline const Aws::String& GetJobId() const{ return m_jobId; } /** *

The job ID whose data is downloaded.

*/ inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } /** *

The job ID whose data is downloaded.

*/ inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } /** *

The job ID whose data is downloaded.

*/ inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } /** *

The job ID whose data is downloaded.

*/ inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } /** *

The job ID whose data is downloaded.

*/ inline GetJobOutputRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} /** *

The job ID whose data is downloaded.

*/ inline GetJobOutputRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} /** *

The job ID whose data is downloaded.

*/ inline GetJobOutputRequest& WithJobId(const char* value) { SetJobId(value); return *this;} /** *

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 S3 Glacier. You * compare this value with the checksum you computed to ensure you have downloaded * the entire archive content with no errors.

*/ inline const Aws::String& GetRange() const{ return m_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 S3 Glacier. You * compare this value with the checksum you computed to ensure you have downloaded * the entire archive content with no errors.

*/ inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; } /** *

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 S3 Glacier. You * compare this value with the checksum you computed to ensure you have downloaded * the entire archive content with no errors.

*/ inline void SetRange(const Aws::String& value) { m_rangeHasBeenSet = true; m_range = value; } /** *

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 S3 Glacier. You * compare this value with the checksum you computed to ensure you have downloaded * the entire archive content with no errors.

*/ inline void SetRange(Aws::String&& value) { m_rangeHasBeenSet = true; m_range = std::move(value); } /** *

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 S3 Glacier. You * compare this value with the checksum you computed to ensure you have downloaded * the entire archive content with no errors.

*/ inline void SetRange(const char* value) { m_rangeHasBeenSet = true; m_range.assign(value); } /** *

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 S3 Glacier. You * compare this value with the checksum you computed to ensure you have downloaded * the entire archive content with no errors.

*/ inline GetJobOutputRequest& WithRange(const Aws::String& value) { SetRange(value); return *this;} /** *

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 S3 Glacier. You * compare this value with the checksum you computed to ensure you have downloaded * the entire archive content with no errors.

*/ inline GetJobOutputRequest& WithRange(Aws::String&& value) { SetRange(std::move(value)); return *this;} /** *

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 S3 Glacier. You * compare this value with the checksum you computed to ensure you have downloaded * the entire archive content with no errors.

*/ inline GetJobOutputRequest& WithRange(const char* value) { SetRange(value); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_vaultName; bool m_vaultNameHasBeenSet = false; Aws::String m_jobId; bool m_jobIdHasBeenSet = false; Aws::String m_range; bool m_rangeHasBeenSet = false; }; } // namespace Model } // namespace Glacier } // namespace Aws