AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
CustomLineItemChargeDetails.h
1
6#pragma once
7#include <aws/billingconductor/BillingConductor_EXPORTS.h>
8#include <aws/billingconductor/model/CustomLineItemFlatChargeDetails.h>
9#include <aws/billingconductor/model/CustomLineItemPercentageChargeDetails.h>
10#include <aws/billingconductor/model/CustomLineItemType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/billingconductor/model/LineItemFilter.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace BillingConductor
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_BILLINGCONDUCTOR_API CustomLineItemChargeDetails();
40 AWS_BILLINGCONDUCTOR_API CustomLineItemChargeDetails(Aws::Utils::Json::JsonView jsonValue);
42 AWS_BILLINGCONDUCTOR_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
50 inline const CustomLineItemFlatChargeDetails& GetFlat() const{ return m_flat; }
51 inline bool FlatHasBeenSet() const { return m_flatHasBeenSet; }
52 inline void SetFlat(const CustomLineItemFlatChargeDetails& value) { m_flatHasBeenSet = true; m_flat = value; }
53 inline void SetFlat(CustomLineItemFlatChargeDetails&& value) { m_flatHasBeenSet = true; m_flat = std::move(value); }
54 inline CustomLineItemChargeDetails& WithFlat(const CustomLineItemFlatChargeDetails& value) { SetFlat(value); return *this;}
55 inline CustomLineItemChargeDetails& WithFlat(CustomLineItemFlatChargeDetails&& value) { SetFlat(std::move(value)); return *this;}
57
59
63 inline const CustomLineItemPercentageChargeDetails& GetPercentage() const{ return m_percentage; }
64 inline bool PercentageHasBeenSet() const { return m_percentageHasBeenSet; }
65 inline void SetPercentage(const CustomLineItemPercentageChargeDetails& value) { m_percentageHasBeenSet = true; m_percentage = value; }
66 inline void SetPercentage(CustomLineItemPercentageChargeDetails&& value) { m_percentageHasBeenSet = true; m_percentage = std::move(value); }
70
72
76 inline const CustomLineItemType& GetType() const{ return m_type; }
77 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
78 inline void SetType(const CustomLineItemType& value) { m_typeHasBeenSet = true; m_type = value; }
79 inline void SetType(CustomLineItemType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
80 inline CustomLineItemChargeDetails& WithType(const CustomLineItemType& value) { SetType(value); return *this;}
81 inline CustomLineItemChargeDetails& WithType(CustomLineItemType&& value) { SetType(std::move(value)); return *this;}
83
85
88 inline const Aws::Vector<LineItemFilter>& GetLineItemFilters() const{ return m_lineItemFilters; }
89 inline bool LineItemFiltersHasBeenSet() const { return m_lineItemFiltersHasBeenSet; }
90 inline void SetLineItemFilters(const Aws::Vector<LineItemFilter>& value) { m_lineItemFiltersHasBeenSet = true; m_lineItemFilters = value; }
91 inline void SetLineItemFilters(Aws::Vector<LineItemFilter>&& value) { m_lineItemFiltersHasBeenSet = true; m_lineItemFilters = std::move(value); }
94 inline CustomLineItemChargeDetails& AddLineItemFilters(const LineItemFilter& value) { m_lineItemFiltersHasBeenSet = true; m_lineItemFilters.push_back(value); return *this; }
95 inline CustomLineItemChargeDetails& AddLineItemFilters(LineItemFilter&& value) { m_lineItemFiltersHasBeenSet = true; m_lineItemFilters.push_back(std::move(value)); return *this; }
97 private:
98
100 bool m_flatHasBeenSet = false;
101
103 bool m_percentageHasBeenSet = false;
104
105 CustomLineItemType m_type;
106 bool m_typeHasBeenSet = false;
107
108 Aws::Vector<LineItemFilter> m_lineItemFilters;
109 bool m_lineItemFiltersHasBeenSet = false;
110 };
111
112} // namespace Model
113} // namespace BillingConductor
114} // namespace Aws
void SetPercentage(const CustomLineItemPercentageChargeDetails &value)
AWS_BILLINGCONDUCTOR_API CustomLineItemChargeDetails(Aws::Utils::Json::JsonView jsonValue)
AWS_BILLINGCONDUCTOR_API CustomLineItemChargeDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
CustomLineItemChargeDetails & WithFlat(const CustomLineItemFlatChargeDetails &value)
CustomLineItemChargeDetails & WithFlat(CustomLineItemFlatChargeDetails &&value)
const Aws::Vector< LineItemFilter > & GetLineItemFilters() const
void SetPercentage(CustomLineItemPercentageChargeDetails &&value)
const CustomLineItemFlatChargeDetails & GetFlat() const
CustomLineItemChargeDetails & WithLineItemFilters(Aws::Vector< LineItemFilter > &&value)
void SetLineItemFilters(const Aws::Vector< LineItemFilter > &value)
void SetLineItemFilters(Aws::Vector< LineItemFilter > &&value)
CustomLineItemChargeDetails & AddLineItemFilters(LineItemFilter &&value)
AWS_BILLINGCONDUCTOR_API Aws::Utils::Json::JsonValue Jsonize() const
CustomLineItemChargeDetails & WithType(CustomLineItemType &&value)
const CustomLineItemPercentageChargeDetails & GetPercentage() const
CustomLineItemChargeDetails & AddLineItemFilters(const LineItemFilter &value)
CustomLineItemChargeDetails & WithPercentage(const CustomLineItemPercentageChargeDetails &value)
CustomLineItemChargeDetails & WithType(const CustomLineItemType &value)
void SetFlat(const CustomLineItemFlatChargeDetails &value)
CustomLineItemChargeDetails & WithLineItemFilters(const Aws::Vector< LineItemFilter > &value)
CustomLineItemChargeDetails & WithPercentage(CustomLineItemPercentageChargeDetails &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue