/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace PrivateNetworks { namespace Model { /** *

Shows the duration, the date and time that the contract started and ends, and * the renewal status of the commitment period for the radio unit.

See * Also:

AWS * API Reference

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

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

*/ inline const CommitmentConfiguration& GetCommitmentConfiguration() const{ return m_commitmentConfiguration; } /** *

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

*/ inline bool CommitmentConfigurationHasBeenSet() const { return m_commitmentConfigurationHasBeenSet; } /** *

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

*/ inline void SetCommitmentConfiguration(const CommitmentConfiguration& value) { m_commitmentConfigurationHasBeenSet = true; m_commitmentConfiguration = value; } /** *

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

*/ inline void SetCommitmentConfiguration(CommitmentConfiguration&& value) { m_commitmentConfigurationHasBeenSet = true; m_commitmentConfiguration = std::move(value); } /** *

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

*/ inline CommitmentInformation& WithCommitmentConfiguration(const CommitmentConfiguration& value) { SetCommitmentConfiguration(value); return *this;} /** *

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

*/ inline CommitmentInformation& WithCommitmentConfiguration(CommitmentConfiguration&& value) { SetCommitmentConfiguration(std::move(value)); return *this;} /** *

The date and time that the commitment period ends. If you do not cancel or * renew the commitment before the expiration date, you will be billed at the * 60-day-commitment rate.

*/ inline const Aws::Utils::DateTime& GetExpiresOn() const{ return m_expiresOn; } /** *

The date and time that the commitment period ends. If you do not cancel or * renew the commitment before the expiration date, you will be billed at the * 60-day-commitment rate.

*/ inline bool ExpiresOnHasBeenSet() const { return m_expiresOnHasBeenSet; } /** *

The date and time that the commitment period ends. If you do not cancel or * renew the commitment before the expiration date, you will be billed at the * 60-day-commitment rate.

*/ inline void SetExpiresOn(const Aws::Utils::DateTime& value) { m_expiresOnHasBeenSet = true; m_expiresOn = value; } /** *

The date and time that the commitment period ends. If you do not cancel or * renew the commitment before the expiration date, you will be billed at the * 60-day-commitment rate.

*/ inline void SetExpiresOn(Aws::Utils::DateTime&& value) { m_expiresOnHasBeenSet = true; m_expiresOn = std::move(value); } /** *

The date and time that the commitment period ends. If you do not cancel or * renew the commitment before the expiration date, you will be billed at the * 60-day-commitment rate.

*/ inline CommitmentInformation& WithExpiresOn(const Aws::Utils::DateTime& value) { SetExpiresOn(value); return *this;} /** *

The date and time that the commitment period ends. If you do not cancel or * renew the commitment before the expiration date, you will be billed at the * 60-day-commitment rate.

*/ inline CommitmentInformation& WithExpiresOn(Aws::Utils::DateTime&& value) { SetExpiresOn(std::move(value)); return *this;} /** *

The date and time that the commitment period started.

*/ inline const Aws::Utils::DateTime& GetStartAt() const{ return m_startAt; } /** *

The date and time that the commitment period started.

*/ inline bool StartAtHasBeenSet() const { return m_startAtHasBeenSet; } /** *

The date and time that the commitment period started.

*/ inline void SetStartAt(const Aws::Utils::DateTime& value) { m_startAtHasBeenSet = true; m_startAt = value; } /** *

The date and time that the commitment period started.

*/ inline void SetStartAt(Aws::Utils::DateTime&& value) { m_startAtHasBeenSet = true; m_startAt = std::move(value); } /** *

The date and time that the commitment period started.

*/ inline CommitmentInformation& WithStartAt(const Aws::Utils::DateTime& value) { SetStartAt(value); return *this;} /** *

The date and time that the commitment period started.

*/ inline CommitmentInformation& WithStartAt(Aws::Utils::DateTime&& value) { SetStartAt(std::move(value)); return *this;} private: CommitmentConfiguration m_commitmentConfiguration; bool m_commitmentConfigurationHasBeenSet = false; Aws::Utils::DateTime m_expiresOn; bool m_expiresOnHasBeenSet = false; Aws::Utils::DateTime m_startAt; bool m_startAtHasBeenSet = false; }; } // namespace Model } // namespace PrivateNetworks } // namespace Aws