AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
NatGateway.h
1
6#pragma once
7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/cost-optimization-hub/model/NatGatewayConfiguration.h>
9#include <aws/cost-optimization-hub/model/ResourceCostCalculation.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace CostOptimizationHub {
21namespace Model {
22
29 public:
30 AWS_COSTOPTIMIZATIONHUB_API NatGateway() = default;
31 AWS_COSTOPTIMIZATIONHUB_API NatGateway(Aws::Utils::Json::JsonView jsonValue);
32 AWS_COSTOPTIMIZATIONHUB_API NatGateway& operator=(Aws::Utils::Json::JsonView jsonValue);
33 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
39 inline const NatGatewayConfiguration& GetConfiguration() const { return m_configuration; }
40 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
41 template <typename ConfigurationT = NatGatewayConfiguration>
42 void SetConfiguration(ConfigurationT&& value) {
43 m_configurationHasBeenSet = true;
44 m_configuration = std::forward<ConfigurationT>(value);
45 }
46 template <typename ConfigurationT = NatGatewayConfiguration>
47 NatGateway& WithConfiguration(ConfigurationT&& value) {
48 SetConfiguration(std::forward<ConfigurationT>(value));
49 return *this;
50 }
52
54
55 inline const ResourceCostCalculation& GetCostCalculation() const { return m_costCalculation; }
56 inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; }
57 template <typename CostCalculationT = ResourceCostCalculation>
58 void SetCostCalculation(CostCalculationT&& value) {
59 m_costCalculationHasBeenSet = true;
60 m_costCalculation = std::forward<CostCalculationT>(value);
61 }
62 template <typename CostCalculationT = ResourceCostCalculation>
63 NatGateway& WithCostCalculation(CostCalculationT&& value) {
64 SetCostCalculation(std::forward<CostCalculationT>(value));
65 return *this;
66 }
68 private:
69 NatGatewayConfiguration m_configuration;
70
71 ResourceCostCalculation m_costCalculation;
72 bool m_configurationHasBeenSet = false;
73 bool m_costCalculationHasBeenSet = false;
74};
75
76} // namespace Model
77} // namespace CostOptimizationHub
78} // namespace Aws
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTOPTIMIZATIONHUB_API NatGateway()=default
void SetConfiguration(ConfigurationT &&value)
Definition NatGateway.h:42
const NatGatewayConfiguration & GetConfiguration() const
Definition NatGateway.h:39
NatGateway & WithConfiguration(ConfigurationT &&value)
Definition NatGateway.h:47
AWS_COSTOPTIMIZATIONHUB_API NatGateway(Aws::Utils::Json::JsonView jsonValue)
void SetCostCalculation(CostCalculationT &&value)
Definition NatGateway.h:58
NatGateway & WithCostCalculation(CostCalculationT &&value)
Definition NatGateway.h:63
AWS_COSTOPTIMIZATIONHUB_API NatGateway & operator=(Aws::Utils::Json::JsonView jsonValue)
const ResourceCostCalculation & GetCostCalculation() const
Definition NatGateway.h:55
Aws::Utils::Json::JsonValue JsonValue