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

The criteria that determines how many retries are allowed for each failure * type for a job.

See Also:

AWS * API Reference

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

The type of job execution failures that can initiate a job retry.

*/ inline const RetryableFailureType& GetFailureType() const{ return m_failureType; } /** *

The type of job execution failures that can initiate a job retry.

*/ inline bool FailureTypeHasBeenSet() const { return m_failureTypeHasBeenSet; } /** *

The type of job execution failures that can initiate a job retry.

*/ inline void SetFailureType(const RetryableFailureType& value) { m_failureTypeHasBeenSet = true; m_failureType = value; } /** *

The type of job execution failures that can initiate a job retry.

*/ inline void SetFailureType(RetryableFailureType&& value) { m_failureTypeHasBeenSet = true; m_failureType = std::move(value); } /** *

The type of job execution failures that can initiate a job retry.

*/ inline RetryCriteria& WithFailureType(const RetryableFailureType& value) { SetFailureType(value); return *this;} /** *

The type of job execution failures that can initiate a job retry.

*/ inline RetryCriteria& WithFailureType(RetryableFailureType&& value) { SetFailureType(std::move(value)); return *this;} /** *

The number of retries allowed for a failure type for the job.

*/ inline int GetNumberOfRetries() const{ return m_numberOfRetries; } /** *

The number of retries allowed for a failure type for the job.

*/ inline bool NumberOfRetriesHasBeenSet() const { return m_numberOfRetriesHasBeenSet; } /** *

The number of retries allowed for a failure type for the job.

*/ inline void SetNumberOfRetries(int value) { m_numberOfRetriesHasBeenSet = true; m_numberOfRetries = value; } /** *

The number of retries allowed for a failure type for the job.

*/ inline RetryCriteria& WithNumberOfRetries(int value) { SetNumberOfRetries(value); return *this;} private: RetryableFailureType m_failureType; bool m_failureTypeHasBeenSet = false; int m_numberOfRetries; bool m_numberOfRetriesHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws