This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files

458 lines
14 KiB
C
Raw Normal View History

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/medialive/MediaLive_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/medialive/model/OfferingDurationUnits.h>
#include <aws/medialive/model/OfferingType.h>
#include <aws/medialive/model/ReservationResourceSpecification.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace MediaLive
{
namespace Model
{
/**
* Reserved resources available for purchase<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/Offering">AWS
* API Reference</a></p>
*/
class AWS_MEDIALIVE_API Offering
{
public:
Offering();
Offering(Aws::Utils::Json::JsonView jsonValue);
Offering& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Unique offering ARN, e.g.
* 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
inline const Aws::String& GetArn() const{ return m_arn; }
/**
* Unique offering ARN, e.g.
* 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
/**
* Unique offering ARN, e.g.
* 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
/**
* Unique offering ARN, e.g.
* 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
/**
* Unique offering ARN, e.g.
* 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
/**
* Unique offering ARN, e.g.
* 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
inline Offering& WithArn(const Aws::String& value) { SetArn(value); return *this;}
/**
* Unique offering ARN, e.g.
* 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
inline Offering& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
/**
* Unique offering ARN, e.g.
* 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
inline Offering& WithArn(const char* value) { SetArn(value); return *this;}
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; }
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
inline void SetCurrencyCode(const Aws::String& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
inline void SetCurrencyCode(Aws::String&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::move(value); }
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
inline void SetCurrencyCode(const char* value) { m_currencyCodeHasBeenSet = true; m_currencyCode.assign(value); }
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
inline Offering& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;}
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
inline Offering& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;}
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
inline Offering& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;}
/**
* Lease duration, e.g. '12'
*/
inline int GetDuration() const{ return m_duration; }
/**
* Lease duration, e.g. '12'
*/
inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
/**
* Lease duration, e.g. '12'
*/
inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
/**
* Lease duration, e.g. '12'
*/
inline Offering& WithDuration(int value) { SetDuration(value); return *this;}
/**
* Units for duration, e.g. 'MONTHS'
*/
inline const OfferingDurationUnits& GetDurationUnits() const{ return m_durationUnits; }
/**
* Units for duration, e.g. 'MONTHS'
*/
inline bool DurationUnitsHasBeenSet() const { return m_durationUnitsHasBeenSet; }
/**
* Units for duration, e.g. 'MONTHS'
*/
inline void SetDurationUnits(const OfferingDurationUnits& value) { m_durationUnitsHasBeenSet = true; m_durationUnits = value; }
/**
* Units for duration, e.g. 'MONTHS'
*/
inline void SetDurationUnits(OfferingDurationUnits&& value) { m_durationUnitsHasBeenSet = true; m_durationUnits = std::move(value); }
/**
* Units for duration, e.g. 'MONTHS'
*/
inline Offering& WithDurationUnits(const OfferingDurationUnits& value) { SetDurationUnits(value); return *this;}
/**
* Units for duration, e.g. 'MONTHS'
*/
inline Offering& WithDurationUnits(OfferingDurationUnits&& value) { SetDurationUnits(std::move(value)); return *this;}
/**
* One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
*/
inline double GetFixedPrice() const{ return m_fixedPrice; }
/**
* One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
*/
inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
/**
* One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
*/
inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
/**
* One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
*/
inline Offering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ
* in US West (Oregon)'
*/
inline const Aws::String& GetOfferingDescription() const{ return m_offeringDescription; }
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ
* in US West (Oregon)'
*/
inline bool OfferingDescriptionHasBeenSet() const { return m_offeringDescriptionHasBeenSet; }
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ
* in US West (Oregon)'
*/
inline void SetOfferingDescription(const Aws::String& value) { m_offeringDescriptionHasBeenSet = true; m_offeringDescription = value; }
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ
* in US West (Oregon)'
*/
inline void SetOfferingDescription(Aws::String&& value) { m_offeringDescriptionHasBeenSet = true; m_offeringDescription = std::move(value); }
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ
* in US West (Oregon)'
*/
inline void SetOfferingDescription(const char* value) { m_offeringDescriptionHasBeenSet = true; m_offeringDescription.assign(value); }
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ
* in US West (Oregon)'
*/
inline Offering& WithOfferingDescription(const Aws::String& value) { SetOfferingDescription(value); return *this;}
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ
* in US West (Oregon)'
*/
inline Offering& WithOfferingDescription(Aws::String&& value) { SetOfferingDescription(std::move(value)); return *this;}
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ
* in US West (Oregon)'
*/
inline Offering& WithOfferingDescription(const char* value) { SetOfferingDescription(value); return *this;}
/**
* Unique offering ID, e.g. '87654321'
*/
inline const Aws::String& GetOfferingId() const{ return m_offeringId; }
/**
* Unique offering ID, e.g. '87654321'
*/
inline bool OfferingIdHasBeenSet() const { return m_offeringIdHasBeenSet; }
/**
* Unique offering ID, e.g. '87654321'
*/
inline void SetOfferingId(const Aws::String& value) { m_offeringIdHasBeenSet = true; m_offeringId = value; }
/**
* Unique offering ID, e.g. '87654321'
*/
inline void SetOfferingId(Aws::String&& value) { m_offeringIdHasBeenSet = true; m_offeringId = std::move(value); }
/**
* Unique offering ID, e.g. '87654321'
*/
inline void SetOfferingId(const char* value) { m_offeringIdHasBeenSet = true; m_offeringId.assign(value); }
/**
* Unique offering ID, e.g. '87654321'
*/
inline Offering& WithOfferingId(const Aws::String& value) { SetOfferingId(value); return *this;}
/**
* Unique offering ID, e.g. '87654321'
*/
inline Offering& WithOfferingId(Aws::String&& value) { SetOfferingId(std::move(value)); return *this;}
/**
* Unique offering ID, e.g. '87654321'
*/
inline Offering& WithOfferingId(const char* value) { SetOfferingId(value); return *this;}
/**
* Offering type, e.g. 'NO_UPFRONT'
*/
inline const OfferingType& GetOfferingType() const{ return m_offeringType; }
/**
* Offering type, e.g. 'NO_UPFRONT'
*/
inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
/**
* Offering type, e.g. 'NO_UPFRONT'
*/
inline void SetOfferingType(const OfferingType& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
/**
* Offering type, e.g. 'NO_UPFRONT'
*/
inline void SetOfferingType(OfferingType&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::move(value); }
/**
* Offering type, e.g. 'NO_UPFRONT'
*/
inline Offering& WithOfferingType(const OfferingType& value) { SetOfferingType(value); return *this;}
/**
* Offering type, e.g. 'NO_UPFRONT'
*/
inline Offering& WithOfferingType(OfferingType&& value) { SetOfferingType(std::move(value)); return *this;}
/**
* AWS region, e.g. 'us-west-2'
*/
inline const Aws::String& GetRegion() const{ return m_region; }
/**
* AWS region, e.g. 'us-west-2'
*/
inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
/**
* AWS region, e.g. 'us-west-2'
*/
inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; }
/**
* AWS region, e.g. 'us-west-2'
*/
inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); }
/**
* AWS region, e.g. 'us-west-2'
*/
inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); }
/**
* AWS region, e.g. 'us-west-2'
*/
inline Offering& WithRegion(const Aws::String& value) { SetRegion(value); return *this;}
/**
* AWS region, e.g. 'us-west-2'
*/
inline Offering& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;}
/**
* AWS region, e.g. 'us-west-2'
*/
inline Offering& WithRegion(const char* value) { SetRegion(value); return *this;}
/**
* Resource configuration details
*/
inline const ReservationResourceSpecification& GetResourceSpecification() const{ return m_resourceSpecification; }
/**
* Resource configuration details
*/
inline bool ResourceSpecificationHasBeenSet() const { return m_resourceSpecificationHasBeenSet; }
/**
* Resource configuration details
*/
inline void SetResourceSpecification(const ReservationResourceSpecification& value) { m_resourceSpecificationHasBeenSet = true; m_resourceSpecification = value; }
/**
* Resource configuration details
*/
inline void SetResourceSpecification(ReservationResourceSpecification&& value) { m_resourceSpecificationHasBeenSet = true; m_resourceSpecification = std::move(value); }
/**
* Resource configuration details
*/
inline Offering& WithResourceSpecification(const ReservationResourceSpecification& value) { SetResourceSpecification(value); return *this;}
/**
* Resource configuration details
*/
inline Offering& WithResourceSpecification(ReservationResourceSpecification&& value) { SetResourceSpecification(std::move(value)); return *this;}
/**
* Recurring usage charge for each reserved resource, e.g. '157.0'
*/
inline double GetUsagePrice() const{ return m_usagePrice; }
/**
* Recurring usage charge for each reserved resource, e.g. '157.0'
*/
inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
/**
* Recurring usage charge for each reserved resource, e.g. '157.0'
*/
inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
/**
* Recurring usage charge for each reserved resource, e.g. '157.0'
*/
inline Offering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
private:
Aws::String m_arn;
bool m_arnHasBeenSet;
Aws::String m_currencyCode;
bool m_currencyCodeHasBeenSet;
int m_duration;
bool m_durationHasBeenSet;
OfferingDurationUnits m_durationUnits;
bool m_durationUnitsHasBeenSet;
double m_fixedPrice;
bool m_fixedPriceHasBeenSet;
Aws::String m_offeringDescription;
bool m_offeringDescriptionHasBeenSet;
Aws::String m_offeringId;
bool m_offeringIdHasBeenSet;
OfferingType m_offeringType;
bool m_offeringTypeHasBeenSet;
Aws::String m_region;
bool m_regionHasBeenSet;
ReservationResourceSpecification m_resourceSpecification;
bool m_resourceSpecificationHasBeenSet;
double m_usagePrice;
bool m_usagePriceHasBeenSet;
};
} // namespace Model
} // namespace MediaLive
} // namespace Aws