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

Provides options for defining a job.

See Also:

AWS * API Reference

*/ class JobParameters { public: AWS_GLACIER_API JobParameters(); AWS_GLACIER_API JobParameters(Aws::Utils::Json::JsonView jsonValue); AWS_GLACIER_API JobParameters& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLACIER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

When initiating a job to retrieve a vault inventory, you can optionally add * this parameter to your request to specify the output format. If you are * initiating an inventory job and do not specify a Format field, JSON is the * default format. Valid values are "CSV" and "JSON".

*/ inline const Aws::String& GetFormat() const{ return m_format; } /** *

When initiating a job to retrieve a vault inventory, you can optionally add * this parameter to your request to specify the output format. If you are * initiating an inventory job and do not specify a Format field, JSON is the * default format. Valid values are "CSV" and "JSON".

*/ inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } /** *

When initiating a job to retrieve a vault inventory, you can optionally add * this parameter to your request to specify the output format. If you are * initiating an inventory job and do not specify a Format field, JSON is the * default format. Valid values are "CSV" and "JSON".

*/ inline void SetFormat(const Aws::String& value) { m_formatHasBeenSet = true; m_format = value; } /** *

When initiating a job to retrieve a vault inventory, you can optionally add * this parameter to your request to specify the output format. If you are * initiating an inventory job and do not specify a Format field, JSON is the * default format. Valid values are "CSV" and "JSON".

*/ inline void SetFormat(Aws::String&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } /** *

When initiating a job to retrieve a vault inventory, you can optionally add * this parameter to your request to specify the output format. If you are * initiating an inventory job and do not specify a Format field, JSON is the * default format. Valid values are "CSV" and "JSON".

*/ inline void SetFormat(const char* value) { m_formatHasBeenSet = true; m_format.assign(value); } /** *

When initiating a job to retrieve a vault inventory, you can optionally add * this parameter to your request to specify the output format. If you are * initiating an inventory job and do not specify a Format field, JSON is the * default format. Valid values are "CSV" and "JSON".

*/ inline JobParameters& WithFormat(const Aws::String& value) { SetFormat(value); return *this;} /** *

When initiating a job to retrieve a vault inventory, you can optionally add * this parameter to your request to specify the output format. If you are * initiating an inventory job and do not specify a Format field, JSON is the * default format. Valid values are "CSV" and "JSON".

*/ inline JobParameters& WithFormat(Aws::String&& value) { SetFormat(std::move(value)); return *this;} /** *

When initiating a job to retrieve a vault inventory, you can optionally add * this parameter to your request to specify the output format. If you are * initiating an inventory job and do not specify a Format field, JSON is the * default format. Valid values are "CSV" and "JSON".

*/ inline JobParameters& WithFormat(const char* value) { SetFormat(value); return *this;} /** *

The job type. You can initiate a job to perform a select query on an archive, * retrieve an archive, or get an inventory of a vault. Valid values are "select", * "archive-retrieval" and "inventory-retrieval".

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The job type. You can initiate a job to perform a select query on an archive, * retrieve an archive, or get an inventory of a vault. Valid values are "select", * "archive-retrieval" and "inventory-retrieval".

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The job type. You can initiate a job to perform a select query on an archive, * retrieve an archive, or get an inventory of a vault. Valid values are "select", * "archive-retrieval" and "inventory-retrieval".

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The job type. You can initiate a job to perform a select query on an archive, * retrieve an archive, or get an inventory of a vault. Valid values are "select", * "archive-retrieval" and "inventory-retrieval".

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The job type. You can initiate a job to perform a select query on an archive, * retrieve an archive, or get an inventory of a vault. Valid values are "select", * "archive-retrieval" and "inventory-retrieval".

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The job type. You can initiate a job to perform a select query on an archive, * retrieve an archive, or get an inventory of a vault. Valid values are "select", * "archive-retrieval" and "inventory-retrieval".

*/ inline JobParameters& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The job type. You can initiate a job to perform a select query on an archive, * retrieve an archive, or get an inventory of a vault. Valid values are "select", * "archive-retrieval" and "inventory-retrieval".

*/ inline JobParameters& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The job type. You can initiate a job to perform a select query on an archive, * retrieve an archive, or get an inventory of a vault. Valid values are "select", * "archive-retrieval" and "inventory-retrieval".

*/ inline JobParameters& WithType(const char* value) { SetType(value); return *this;} /** *

The ID of the archive that you want to retrieve. This field is required only * if Type is set to select or * archive-retrievalcode>. An error occurs if you specify this * request parameter for an inventory retrieval job request.

*/ inline const Aws::String& GetArchiveId() const{ return m_archiveId; } /** *

The ID of the archive that you want to retrieve. This field is required only * if Type is set to select or * archive-retrievalcode>. An error occurs if you specify this * request parameter for an inventory retrieval job request.

*/ inline bool ArchiveIdHasBeenSet() const { return m_archiveIdHasBeenSet; } /** *

The ID of the archive that you want to retrieve. This field is required only * if Type is set to select or * archive-retrievalcode>. An error occurs if you specify this * request parameter for an inventory retrieval job request.

*/ inline void SetArchiveId(const Aws::String& value) { m_archiveIdHasBeenSet = true; m_archiveId = value; } /** *

The ID of the archive that you want to retrieve. This field is required only * if Type is set to select or * archive-retrievalcode>. An error occurs if you specify this * request parameter for an inventory retrieval job request.

*/ inline void SetArchiveId(Aws::String&& value) { m_archiveIdHasBeenSet = true; m_archiveId = std::move(value); } /** *

The ID of the archive that you want to retrieve. This field is required only * if Type is set to select or * archive-retrievalcode>. An error occurs if you specify this * request parameter for an inventory retrieval job request.

*/ inline void SetArchiveId(const char* value) { m_archiveIdHasBeenSet = true; m_archiveId.assign(value); } /** *

The ID of the archive that you want to retrieve. This field is required only * if Type is set to select or * archive-retrievalcode>. An error occurs if you specify this * request parameter for an inventory retrieval job request.

*/ inline JobParameters& WithArchiveId(const Aws::String& value) { SetArchiveId(value); return *this;} /** *

The ID of the archive that you want to retrieve. This field is required only * if Type is set to select or * archive-retrievalcode>. An error occurs if you specify this * request parameter for an inventory retrieval job request.

*/ inline JobParameters& WithArchiveId(Aws::String&& value) { SetArchiveId(std::move(value)); return *this;} /** *

The ID of the archive that you want to retrieve. This field is required only * if Type is set to select or * archive-retrievalcode>. An error occurs if you specify this * request parameter for an inventory retrieval job request.

*/ inline JobParameters& WithArchiveId(const char* value) { SetArchiveId(value); return *this;} /** *

The optional description for the job. The description must be less than or * equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control * codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The optional description for the job. The description must be less than or * equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control * codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The optional description for the job. The description must be less than or * equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control * codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The optional description for the job. The description must be less than or * equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control * codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The optional description for the job. The description must be less than or * equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control * codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The optional description for the job. The description must be less than or * equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control * codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

*/ inline JobParameters& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The optional description for the job. The description must be less than or * equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control * codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

*/ inline JobParameters& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The optional description for the job. The description must be less than or * equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control * codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

*/ inline JobParameters& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when * the job is completed and the output is ready for you to download. The specified * topic publishes the notification to its subscribers. The SNS topic must * exist.

*/ inline const Aws::String& GetSNSTopic() const{ return m_sNSTopic; } /** *

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when * the job is completed and the output is ready for you to download. The specified * topic publishes the notification to its subscribers. The SNS topic must * exist.

*/ inline bool SNSTopicHasBeenSet() const { return m_sNSTopicHasBeenSet; } /** *

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when * the job is completed and the output is ready for you to download. The specified * topic publishes the notification to its subscribers. The SNS topic must * exist.

*/ inline void SetSNSTopic(const Aws::String& value) { m_sNSTopicHasBeenSet = true; m_sNSTopic = value; } /** *

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when * the job is completed and the output is ready for you to download. The specified * topic publishes the notification to its subscribers. The SNS topic must * exist.

*/ inline void SetSNSTopic(Aws::String&& value) { m_sNSTopicHasBeenSet = true; m_sNSTopic = std::move(value); } /** *

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when * the job is completed and the output is ready for you to download. The specified * topic publishes the notification to its subscribers. The SNS topic must * exist.

*/ inline void SetSNSTopic(const char* value) { m_sNSTopicHasBeenSet = true; m_sNSTopic.assign(value); } /** *

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when * the job is completed and the output is ready for you to download. The specified * topic publishes the notification to its subscribers. The SNS topic must * exist.

*/ inline JobParameters& WithSNSTopic(const Aws::String& value) { SetSNSTopic(value); return *this;} /** *

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when * the job is completed and the output is ready for you to download. The specified * topic publishes the notification to its subscribers. The SNS topic must * exist.

*/ inline JobParameters& WithSNSTopic(Aws::String&& value) { SetSNSTopic(std::move(value)); return *this;} /** *

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when * the job is completed and the output is ready for you to download. The specified * topic publishes the notification to its subscribers. The SNS topic must * exist.

*/ inline JobParameters& WithSNSTopic(const char* value) { SetSNSTopic(value); return *this;} /** *

The byte range to retrieve for an archive retrieval. in the form * "StartByteValue-EndByteValue" If not specified, the whole archive * is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned * which means that StartByteValue must be divisible by 1 MB and * EndByteValue plus 1 must be divisible by 1 MB or be the end of the * archive specified as the archive byte size value minus 1. If RetrievalByteRange * is not megabyte aligned, this operation returns a 400 response.

An error * occurs if you specify this field for an inventory retrieval job request.

*/ inline const Aws::String& GetRetrievalByteRange() const{ return m_retrievalByteRange; } /** *

The byte range to retrieve for an archive retrieval. in the form * "StartByteValue-EndByteValue" If not specified, the whole archive * is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned * which means that StartByteValue must be divisible by 1 MB and * EndByteValue plus 1 must be divisible by 1 MB or be the end of the * archive specified as the archive byte size value minus 1. If RetrievalByteRange * is not megabyte aligned, this operation returns a 400 response.

An error * occurs if you specify this field for an inventory retrieval job request.

*/ inline bool RetrievalByteRangeHasBeenSet() const { return m_retrievalByteRangeHasBeenSet; } /** *

The byte range to retrieve for an archive retrieval. in the form * "StartByteValue-EndByteValue" If not specified, the whole archive * is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned * which means that StartByteValue must be divisible by 1 MB and * EndByteValue plus 1 must be divisible by 1 MB or be the end of the * archive specified as the archive byte size value minus 1. If RetrievalByteRange * is not megabyte aligned, this operation returns a 400 response.

An error * occurs if you specify this field for an inventory retrieval job request.

*/ inline void SetRetrievalByteRange(const Aws::String& value) { m_retrievalByteRangeHasBeenSet = true; m_retrievalByteRange = value; } /** *

The byte range to retrieve for an archive retrieval. in the form * "StartByteValue-EndByteValue" If not specified, the whole archive * is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned * which means that StartByteValue must be divisible by 1 MB and * EndByteValue plus 1 must be divisible by 1 MB or be the end of the * archive specified as the archive byte size value minus 1. If RetrievalByteRange * is not megabyte aligned, this operation returns a 400 response.

An error * occurs if you specify this field for an inventory retrieval job request.

*/ inline void SetRetrievalByteRange(Aws::String&& value) { m_retrievalByteRangeHasBeenSet = true; m_retrievalByteRange = std::move(value); } /** *

The byte range to retrieve for an archive retrieval. in the form * "StartByteValue-EndByteValue" If not specified, the whole archive * is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned * which means that StartByteValue must be divisible by 1 MB and * EndByteValue plus 1 must be divisible by 1 MB or be the end of the * archive specified as the archive byte size value minus 1. If RetrievalByteRange * is not megabyte aligned, this operation returns a 400 response.

An error * occurs if you specify this field for an inventory retrieval job request.

*/ inline void SetRetrievalByteRange(const char* value) { m_retrievalByteRangeHasBeenSet = true; m_retrievalByteRange.assign(value); } /** *

The byte range to retrieve for an archive retrieval. in the form * "StartByteValue-EndByteValue" If not specified, the whole archive * is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned * which means that StartByteValue must be divisible by 1 MB and * EndByteValue plus 1 must be divisible by 1 MB or be the end of the * archive specified as the archive byte size value minus 1. If RetrievalByteRange * is not megabyte aligned, this operation returns a 400 response.

An error * occurs if you specify this field for an inventory retrieval job request.

*/ inline JobParameters& WithRetrievalByteRange(const Aws::String& value) { SetRetrievalByteRange(value); return *this;} /** *

The byte range to retrieve for an archive retrieval. in the form * "StartByteValue-EndByteValue" If not specified, the whole archive * is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned * which means that StartByteValue must be divisible by 1 MB and * EndByteValue plus 1 must be divisible by 1 MB or be the end of the * archive specified as the archive byte size value minus 1. If RetrievalByteRange * is not megabyte aligned, this operation returns a 400 response.

An error * occurs if you specify this field for an inventory retrieval job request.

*/ inline JobParameters& WithRetrievalByteRange(Aws::String&& value) { SetRetrievalByteRange(std::move(value)); return *this;} /** *

The byte range to retrieve for an archive retrieval. in the form * "StartByteValue-EndByteValue" If not specified, the whole archive * is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned * which means that StartByteValue must be divisible by 1 MB and * EndByteValue plus 1 must be divisible by 1 MB or be the end of the * archive specified as the archive byte size value minus 1. If RetrievalByteRange * is not megabyte aligned, this operation returns a 400 response.

An error * occurs if you specify this field for an inventory retrieval job request.

*/ inline JobParameters& WithRetrievalByteRange(const char* value) { SetRetrievalByteRange(value); return *this;} /** *

The tier to use for a select or an archive retrieval job. Valid values are * Expedited, Standard, or Bulk. * Standard is the default.

*/ inline const Aws::String& GetTier() const{ return m_tier; } /** *

The tier to use for a select or an archive retrieval job. Valid values are * Expedited, Standard, or Bulk. * Standard is the default.

*/ inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } /** *

The tier to use for a select or an archive retrieval job. Valid values are * Expedited, Standard, or Bulk. * Standard is the default.

*/ inline void SetTier(const Aws::String& value) { m_tierHasBeenSet = true; m_tier = value; } /** *

The tier to use for a select or an archive retrieval job. Valid values are * Expedited, Standard, or Bulk. * Standard is the default.

*/ inline void SetTier(Aws::String&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } /** *

The tier to use for a select or an archive retrieval job. Valid values are * Expedited, Standard, or Bulk. * Standard is the default.

*/ inline void SetTier(const char* value) { m_tierHasBeenSet = true; m_tier.assign(value); } /** *

The tier to use for a select or an archive retrieval job. Valid values are * Expedited, Standard, or Bulk. * Standard is the default.

*/ inline JobParameters& WithTier(const Aws::String& value) { SetTier(value); return *this;} /** *

The tier to use for a select or an archive retrieval job. Valid values are * Expedited, Standard, or Bulk. * Standard is the default.

*/ inline JobParameters& WithTier(Aws::String&& value) { SetTier(std::move(value)); return *this;} /** *

The tier to use for a select or an archive retrieval job. Valid values are * Expedited, Standard, or Bulk. * Standard is the default.

*/ inline JobParameters& WithTier(const char* value) { SetTier(value); return *this;} /** *

Input parameters used for range inventory retrieval.

*/ inline const InventoryRetrievalJobInput& GetInventoryRetrievalParameters() const{ return m_inventoryRetrievalParameters; } /** *

Input parameters used for range inventory retrieval.

*/ inline bool InventoryRetrievalParametersHasBeenSet() const { return m_inventoryRetrievalParametersHasBeenSet; } /** *

Input parameters used for range inventory retrieval.

*/ inline void SetInventoryRetrievalParameters(const InventoryRetrievalJobInput& value) { m_inventoryRetrievalParametersHasBeenSet = true; m_inventoryRetrievalParameters = value; } /** *

Input parameters used for range inventory retrieval.

*/ inline void SetInventoryRetrievalParameters(InventoryRetrievalJobInput&& value) { m_inventoryRetrievalParametersHasBeenSet = true; m_inventoryRetrievalParameters = std::move(value); } /** *

Input parameters used for range inventory retrieval.

*/ inline JobParameters& WithInventoryRetrievalParameters(const InventoryRetrievalJobInput& value) { SetInventoryRetrievalParameters(value); return *this;} /** *

Input parameters used for range inventory retrieval.

*/ inline JobParameters& WithInventoryRetrievalParameters(InventoryRetrievalJobInput&& value) { SetInventoryRetrievalParameters(std::move(value)); return *this;} /** *

Contains the parameters that define a job.

*/ inline const SelectParameters& GetSelectParameters() const{ return m_selectParameters; } /** *

Contains the parameters that define a job.

*/ inline bool SelectParametersHasBeenSet() const { return m_selectParametersHasBeenSet; } /** *

Contains the parameters that define a job.

*/ inline void SetSelectParameters(const SelectParameters& value) { m_selectParametersHasBeenSet = true; m_selectParameters = value; } /** *

Contains the parameters that define a job.

*/ inline void SetSelectParameters(SelectParameters&& value) { m_selectParametersHasBeenSet = true; m_selectParameters = std::move(value); } /** *

Contains the parameters that define a job.

*/ inline JobParameters& WithSelectParameters(const SelectParameters& value) { SetSelectParameters(value); return *this;} /** *

Contains the parameters that define a job.

*/ inline JobParameters& WithSelectParameters(SelectParameters&& value) { SetSelectParameters(std::move(value)); return *this;} /** *

Contains information about the location where the select job results are * stored.

*/ inline const OutputLocation& GetOutputLocation() const{ return m_outputLocation; } /** *

Contains information about the location where the select job results are * stored.

*/ inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; } /** *

Contains information about the location where the select job results are * stored.

*/ inline void SetOutputLocation(const OutputLocation& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; } /** *

Contains information about the location where the select job results are * stored.

*/ inline void SetOutputLocation(OutputLocation&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); } /** *

Contains information about the location where the select job results are * stored.

*/ inline JobParameters& WithOutputLocation(const OutputLocation& value) { SetOutputLocation(value); return *this;} /** *

Contains information about the location where the select job results are * stored.

*/ inline JobParameters& WithOutputLocation(OutputLocation&& value) { SetOutputLocation(std::move(value)); return *this;} private: Aws::String m_format; bool m_formatHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_archiveId; bool m_archiveIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_sNSTopic; bool m_sNSTopicHasBeenSet = false; Aws::String m_retrievalByteRange; bool m_retrievalByteRangeHasBeenSet = false; Aws::String m_tier; bool m_tierHasBeenSet = false; InventoryRetrievalJobInput m_inventoryRetrievalParameters; bool m_inventoryRetrievalParametersHasBeenSet = false; SelectParameters m_selectParameters; bool m_selectParametersHasBeenSet = false; OutputLocation m_outputLocation; bool m_outputLocationHasBeenSet = false; }; } // namespace Model } // namespace Glacier } // namespace Aws