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

Describes the specifications of a bundle that can be applied to an Amazon * Lightsail bucket.

A bucket bundle specifies the monthly cost, storage * space, and data transfer quota for a bucket.

See Also:

AWS * API Reference

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

The ID of the bundle.

*/ inline const Aws::String& GetBundleId() const{ return m_bundleId; } /** *

The ID of the bundle.

*/ inline bool BundleIdHasBeenSet() const { return m_bundleIdHasBeenSet; } /** *

The ID of the bundle.

*/ inline void SetBundleId(const Aws::String& value) { m_bundleIdHasBeenSet = true; m_bundleId = value; } /** *

The ID of the bundle.

*/ inline void SetBundleId(Aws::String&& value) { m_bundleIdHasBeenSet = true; m_bundleId = std::move(value); } /** *

The ID of the bundle.

*/ inline void SetBundleId(const char* value) { m_bundleIdHasBeenSet = true; m_bundleId.assign(value); } /** *

The ID of the bundle.

*/ inline BucketBundle& WithBundleId(const Aws::String& value) { SetBundleId(value); return *this;} /** *

The ID of the bundle.

*/ inline BucketBundle& WithBundleId(Aws::String&& value) { SetBundleId(std::move(value)); return *this;} /** *

The ID of the bundle.

*/ inline BucketBundle& WithBundleId(const char* value) { SetBundleId(value); return *this;} /** *

The name of the bundle.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the bundle.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the bundle.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the bundle.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the bundle.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the bundle.

*/ inline BucketBundle& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the bundle.

*/ inline BucketBundle& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the bundle.

*/ inline BucketBundle& WithName(const char* value) { SetName(value); return *this;} /** *

The monthly price of the bundle, in US dollars.

*/ inline double GetPrice() const{ return m_price; } /** *

The monthly price of the bundle, in US dollars.

*/ inline bool PriceHasBeenSet() const { return m_priceHasBeenSet; } /** *

The monthly price of the bundle, in US dollars.

*/ inline void SetPrice(double value) { m_priceHasBeenSet = true; m_price = value; } /** *

The monthly price of the bundle, in US dollars.

*/ inline BucketBundle& WithPrice(double value) { SetPrice(value); return *this;} /** *

The storage size of the bundle, in GB.

*/ inline int GetStoragePerMonthInGb() const{ return m_storagePerMonthInGb; } /** *

The storage size of the bundle, in GB.

*/ inline bool StoragePerMonthInGbHasBeenSet() const { return m_storagePerMonthInGbHasBeenSet; } /** *

The storage size of the bundle, in GB.

*/ inline void SetStoragePerMonthInGb(int value) { m_storagePerMonthInGbHasBeenSet = true; m_storagePerMonthInGb = value; } /** *

The storage size of the bundle, in GB.

*/ inline BucketBundle& WithStoragePerMonthInGb(int value) { SetStoragePerMonthInGb(value); return *this;} /** *

The monthly network transfer quota of the bundle.

*/ inline int GetTransferPerMonthInGb() const{ return m_transferPerMonthInGb; } /** *

The monthly network transfer quota of the bundle.

*/ inline bool TransferPerMonthInGbHasBeenSet() const { return m_transferPerMonthInGbHasBeenSet; } /** *

The monthly network transfer quota of the bundle.

*/ inline void SetTransferPerMonthInGb(int value) { m_transferPerMonthInGbHasBeenSet = true; m_transferPerMonthInGb = value; } /** *

The monthly network transfer quota of the bundle.

*/ inline BucketBundle& WithTransferPerMonthInGb(int value) { SetTransferPerMonthInGb(value); return *this;} /** *

Indicates whether the bundle is active. Use for a new or existing bucket.

*/ inline bool GetIsActive() const{ return m_isActive; } /** *

Indicates whether the bundle is active. Use for a new or existing bucket.

*/ inline bool IsActiveHasBeenSet() const { return m_isActiveHasBeenSet; } /** *

Indicates whether the bundle is active. Use for a new or existing bucket.

*/ inline void SetIsActive(bool value) { m_isActiveHasBeenSet = true; m_isActive = value; } /** *

Indicates whether the bundle is active. Use for a new or existing bucket.

*/ inline BucketBundle& WithIsActive(bool value) { SetIsActive(value); return *this;} private: Aws::String m_bundleId; bool m_bundleIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; double m_price; bool m_priceHasBeenSet = false; int m_storagePerMonthInGb; bool m_storagePerMonthInGbHasBeenSet = false; int m_transferPerMonthInGb; bool m_transferPerMonthInGbHasBeenSet = false; bool m_isActive; bool m_isActiveHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws