/** * 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 PrivateNetworks { namespace Model { /** *

Determines the duration and renewal status of the commitment period for a * radio unit.

For pricing, see Amazon Web Services Private 5G * Pricing.

See Also:

AWS * API Reference

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

Determines whether the commitment period for a radio unit is set to * automatically renew for an additional 1 year after your current commitment * period expires.

Set to True, if you want your commitment * period to automatically renew. Set to False if you do not want your * commitment to automatically renew.

You can do the following:

    *
  • Set a 1-year commitment to automatically renew for an additional 1 year. * The hourly rate for the additional year will continue to be the same as your * existing 1-year rate.

  • Set a 3-year commitment to automatically * renew for an additional 1 year. The hourly rate for the additional year will * continue to be the same as your existing 3-year rate.

  • Turn off * a previously-enabled automatic renewal on a 1-year or 3-year commitment.

    *

You cannot use the automatic-renewal option for a 60-day * commitment.

*/ inline bool GetAutomaticRenewal() const{ return m_automaticRenewal; } /** *

Determines whether the commitment period for a radio unit is set to * automatically renew for an additional 1 year after your current commitment * period expires.

Set to True, if you want your commitment * period to automatically renew. Set to False if you do not want your * commitment to automatically renew.

You can do the following:

    *
  • Set a 1-year commitment to automatically renew for an additional 1 year. * The hourly rate for the additional year will continue to be the same as your * existing 1-year rate.

  • Set a 3-year commitment to automatically * renew for an additional 1 year. The hourly rate for the additional year will * continue to be the same as your existing 3-year rate.

  • Turn off * a previously-enabled automatic renewal on a 1-year or 3-year commitment.

    *

You cannot use the automatic-renewal option for a 60-day * commitment.

*/ inline bool AutomaticRenewalHasBeenSet() const { return m_automaticRenewalHasBeenSet; } /** *

Determines whether the commitment period for a radio unit is set to * automatically renew for an additional 1 year after your current commitment * period expires.

Set to True, if you want your commitment * period to automatically renew. Set to False if you do not want your * commitment to automatically renew.

You can do the following:

    *
  • Set a 1-year commitment to automatically renew for an additional 1 year. * The hourly rate for the additional year will continue to be the same as your * existing 1-year rate.

  • Set a 3-year commitment to automatically * renew for an additional 1 year. The hourly rate for the additional year will * continue to be the same as your existing 3-year rate.

  • Turn off * a previously-enabled automatic renewal on a 1-year or 3-year commitment.

    *

You cannot use the automatic-renewal option for a 60-day * commitment.

*/ inline void SetAutomaticRenewal(bool value) { m_automaticRenewalHasBeenSet = true; m_automaticRenewal = value; } /** *

Determines whether the commitment period for a radio unit is set to * automatically renew for an additional 1 year after your current commitment * period expires.

Set to True, if you want your commitment * period to automatically renew. Set to False if you do not want your * commitment to automatically renew.

You can do the following:

    *
  • Set a 1-year commitment to automatically renew for an additional 1 year. * The hourly rate for the additional year will continue to be the same as your * existing 1-year rate.

  • Set a 3-year commitment to automatically * renew for an additional 1 year. The hourly rate for the additional year will * continue to be the same as your existing 3-year rate.

  • Turn off * a previously-enabled automatic renewal on a 1-year or 3-year commitment.

    *

You cannot use the automatic-renewal option for a 60-day * commitment.

*/ inline CommitmentConfiguration& WithAutomaticRenewal(bool value) { SetAutomaticRenewal(value); return *this;} /** *

The duration of the commitment period for the radio unit. You can choose a * 60-day, 1-year, or 3-year period.

*/ inline const CommitmentLength& GetCommitmentLength() const{ return m_commitmentLength; } /** *

The duration of the commitment period for the radio unit. You can choose a * 60-day, 1-year, or 3-year period.

*/ inline bool CommitmentLengthHasBeenSet() const { return m_commitmentLengthHasBeenSet; } /** *

The duration of the commitment period for the radio unit. You can choose a * 60-day, 1-year, or 3-year period.

*/ inline void SetCommitmentLength(const CommitmentLength& value) { m_commitmentLengthHasBeenSet = true; m_commitmentLength = value; } /** *

The duration of the commitment period for the radio unit. You can choose a * 60-day, 1-year, or 3-year period.

*/ inline void SetCommitmentLength(CommitmentLength&& value) { m_commitmentLengthHasBeenSet = true; m_commitmentLength = std::move(value); } /** *

The duration of the commitment period for the radio unit. You can choose a * 60-day, 1-year, or 3-year period.

*/ inline CommitmentConfiguration& WithCommitmentLength(const CommitmentLength& value) { SetCommitmentLength(value); return *this;} /** *

The duration of the commitment period for the radio unit. You can choose a * 60-day, 1-year, or 3-year period.

*/ inline CommitmentConfiguration& WithCommitmentLength(CommitmentLength&& value) { SetCommitmentLength(std::move(value)); return *this;} private: bool m_automaticRenewal; bool m_automaticRenewalHasBeenSet = false; CommitmentLength m_commitmentLength; bool m_commitmentLengthHasBeenSet = false; }; } // namespace Model } // namespace PrivateNetworks } // namespace Aws