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

The period of time that is covered by a budget. The period has a start date * and an end date. The start date must come before the end date. There are no * restrictions on the end date.

See Also:

AWS * API Reference

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

The start date for a budget. If you created your budget and didn't specify a * start date, AWS defaults to the start of your chosen time period (DAILY, * MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on * January 24, 2018, chose DAILY, and didn't set a start date, AWS set * your start date to 01/24/18 00:00 UTC. If you chose * MONTHLY, AWS set your start date to 01/01/18 00:00 * UTC. The defaults are the same for the AWS Billing and Cost Management * console and the API.

You can change your start date with the * UpdateBudget operation.

*/ inline const Aws::Utils::DateTime& GetStart() const{ return m_start; } /** *

The start date for a budget. If you created your budget and didn't specify a * start date, AWS defaults to the start of your chosen time period (DAILY, * MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on * January 24, 2018, chose DAILY, and didn't set a start date, AWS set * your start date to 01/24/18 00:00 UTC. If you chose * MONTHLY, AWS set your start date to 01/01/18 00:00 * UTC. The defaults are the same for the AWS Billing and Cost Management * console and the API.

You can change your start date with the * UpdateBudget operation.

*/ inline bool StartHasBeenSet() const { return m_startHasBeenSet; } /** *

The start date for a budget. If you created your budget and didn't specify a * start date, AWS defaults to the start of your chosen time period (DAILY, * MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on * January 24, 2018, chose DAILY, and didn't set a start date, AWS set * your start date to 01/24/18 00:00 UTC. If you chose * MONTHLY, AWS set your start date to 01/01/18 00:00 * UTC. The defaults are the same for the AWS Billing and Cost Management * console and the API.

You can change your start date with the * UpdateBudget operation.

*/ inline void SetStart(const Aws::Utils::DateTime& value) { m_startHasBeenSet = true; m_start = value; } /** *

The start date for a budget. If you created your budget and didn't specify a * start date, AWS defaults to the start of your chosen time period (DAILY, * MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on * January 24, 2018, chose DAILY, and didn't set a start date, AWS set * your start date to 01/24/18 00:00 UTC. If you chose * MONTHLY, AWS set your start date to 01/01/18 00:00 * UTC. The defaults are the same for the AWS Billing and Cost Management * console and the API.

You can change your start date with the * UpdateBudget operation.

*/ inline void SetStart(Aws::Utils::DateTime&& value) { m_startHasBeenSet = true; m_start = std::move(value); } /** *

The start date for a budget. If you created your budget and didn't specify a * start date, AWS defaults to the start of your chosen time period (DAILY, * MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on * January 24, 2018, chose DAILY, and didn't set a start date, AWS set * your start date to 01/24/18 00:00 UTC. If you chose * MONTHLY, AWS set your start date to 01/01/18 00:00 * UTC. The defaults are the same for the AWS Billing and Cost Management * console and the API.

You can change your start date with the * UpdateBudget operation.

*/ inline TimePeriod& WithStart(const Aws::Utils::DateTime& value) { SetStart(value); return *this;} /** *

The start date for a budget. If you created your budget and didn't specify a * start date, AWS defaults to the start of your chosen time period (DAILY, * MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on * January 24, 2018, chose DAILY, and didn't set a start date, AWS set * your start date to 01/24/18 00:00 UTC. If you chose * MONTHLY, AWS set your start date to 01/01/18 00:00 * UTC. The defaults are the same for the AWS Billing and Cost Management * console and the API.

You can change your start date with the * UpdateBudget operation.

*/ inline TimePeriod& WithStart(Aws::Utils::DateTime&& value) { SetStart(std::move(value)); return *this;} /** *

The end date for a budget. If you didn't specify an end date, AWS set your * end date to 06/15/87 00:00 UTC. The defaults are the same for the * AWS Billing and Cost Management console and the API.

After the end date, * AWS deletes the budget and all associated notifications and subscribers. You can * change your end date with the UpdateBudget operation.

*/ inline const Aws::Utils::DateTime& GetEnd() const{ return m_end; } /** *

The end date for a budget. If you didn't specify an end date, AWS set your * end date to 06/15/87 00:00 UTC. The defaults are the same for the * AWS Billing and Cost Management console and the API.

After the end date, * AWS deletes the budget and all associated notifications and subscribers. You can * change your end date with the UpdateBudget operation.

*/ inline bool EndHasBeenSet() const { return m_endHasBeenSet; } /** *

The end date for a budget. If you didn't specify an end date, AWS set your * end date to 06/15/87 00:00 UTC. The defaults are the same for the * AWS Billing and Cost Management console and the API.

After the end date, * AWS deletes the budget and all associated notifications and subscribers. You can * change your end date with the UpdateBudget operation.

*/ inline void SetEnd(const Aws::Utils::DateTime& value) { m_endHasBeenSet = true; m_end = value; } /** *

The end date for a budget. If you didn't specify an end date, AWS set your * end date to 06/15/87 00:00 UTC. The defaults are the same for the * AWS Billing and Cost Management console and the API.

After the end date, * AWS deletes the budget and all associated notifications and subscribers. You can * change your end date with the UpdateBudget operation.

*/ inline void SetEnd(Aws::Utils::DateTime&& value) { m_endHasBeenSet = true; m_end = std::move(value); } /** *

The end date for a budget. If you didn't specify an end date, AWS set your * end date to 06/15/87 00:00 UTC. The defaults are the same for the * AWS Billing and Cost Management console and the API.

After the end date, * AWS deletes the budget and all associated notifications and subscribers. You can * change your end date with the UpdateBudget operation.

*/ inline TimePeriod& WithEnd(const Aws::Utils::DateTime& value) { SetEnd(value); return *this;} /** *

The end date for a budget. If you didn't specify an end date, AWS set your * end date to 06/15/87 00:00 UTC. The defaults are the same for the * AWS Billing and Cost Management console and the API.

After the end date, * AWS deletes the budget and all associated notifications and subscribers. You can * change your end date with the UpdateBudget operation.

*/ inline TimePeriod& WithEnd(Aws::Utils::DateTime&& value) { SetEnd(std::move(value)); return *this;} private: Aws::Utils::DateTime m_start; bool m_startHasBeenSet; Aws::Utils::DateTime m_end; bool m_endHasBeenSet; }; } // namespace Model } // namespace Budgets } // namespace Aws