/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Snowball { namespace Model { /** */ class CreateLongTermPricingRequest : public SnowballRequest { public: AWS_SNOWBALL_API CreateLongTermPricingRequest(); // 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 "CreateLongTermPricing"; } AWS_SNOWBALL_API Aws::String SerializePayload() const override; AWS_SNOWBALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The type of long-term pricing option you want for the device, either 1-year * or 3-year long-term pricing.

*/ inline const LongTermPricingType& GetLongTermPricingType() const{ return m_longTermPricingType; } /** *

The type of long-term pricing option you want for the device, either 1-year * or 3-year long-term pricing.

*/ inline bool LongTermPricingTypeHasBeenSet() const { return m_longTermPricingTypeHasBeenSet; } /** *

The type of long-term pricing option you want for the device, either 1-year * or 3-year long-term pricing.

*/ inline void SetLongTermPricingType(const LongTermPricingType& value) { m_longTermPricingTypeHasBeenSet = true; m_longTermPricingType = value; } /** *

The type of long-term pricing option you want for the device, either 1-year * or 3-year long-term pricing.

*/ inline void SetLongTermPricingType(LongTermPricingType&& value) { m_longTermPricingTypeHasBeenSet = true; m_longTermPricingType = std::move(value); } /** *

The type of long-term pricing option you want for the device, either 1-year * or 3-year long-term pricing.

*/ inline CreateLongTermPricingRequest& WithLongTermPricingType(const LongTermPricingType& value) { SetLongTermPricingType(value); return *this;} /** *

The type of long-term pricing option you want for the device, either 1-year * or 3-year long-term pricing.

*/ inline CreateLongTermPricingRequest& WithLongTermPricingType(LongTermPricingType&& value) { SetLongTermPricingType(std::move(value)); return *this;} /** *

Specifies whether the current long-term pricing type for the device should be * renewed.

*/ inline bool GetIsLongTermPricingAutoRenew() const{ return m_isLongTermPricingAutoRenew; } /** *

Specifies whether the current long-term pricing type for the device should be * renewed.

*/ inline bool IsLongTermPricingAutoRenewHasBeenSet() const { return m_isLongTermPricingAutoRenewHasBeenSet; } /** *

Specifies whether the current long-term pricing type for the device should be * renewed.

*/ inline void SetIsLongTermPricingAutoRenew(bool value) { m_isLongTermPricingAutoRenewHasBeenSet = true; m_isLongTermPricingAutoRenew = value; } /** *

Specifies whether the current long-term pricing type for the device should be * renewed.

*/ inline CreateLongTermPricingRequest& WithIsLongTermPricingAutoRenew(bool value) { SetIsLongTermPricingAutoRenew(value); return *this;} /** *

The type of Snow Family devices to use for the long-term pricing job.

*/ inline const SnowballType& GetSnowballType() const{ return m_snowballType; } /** *

The type of Snow Family devices to use for the long-term pricing job.

*/ inline bool SnowballTypeHasBeenSet() const { return m_snowballTypeHasBeenSet; } /** *

The type of Snow Family devices to use for the long-term pricing job.

*/ inline void SetSnowballType(const SnowballType& value) { m_snowballTypeHasBeenSet = true; m_snowballType = value; } /** *

The type of Snow Family devices to use for the long-term pricing job.

*/ inline void SetSnowballType(SnowballType&& value) { m_snowballTypeHasBeenSet = true; m_snowballType = std::move(value); } /** *

The type of Snow Family devices to use for the long-term pricing job.

*/ inline CreateLongTermPricingRequest& WithSnowballType(const SnowballType& value) { SetSnowballType(value); return *this;} /** *

The type of Snow Family devices to use for the long-term pricing job.

*/ inline CreateLongTermPricingRequest& WithSnowballType(SnowballType&& value) { SetSnowballType(std::move(value)); return *this;} private: LongTermPricingType m_longTermPricingType; bool m_longTermPricingTypeHasBeenSet = false; bool m_isLongTermPricingAutoRenew; bool m_isLongTermPricingAutoRenewHasBeenSet = false; SnowballType m_snowballType; bool m_snowballTypeHasBeenSet = false; }; } // namespace Model } // namespace Snowball } // namespace Aws