AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateUsageLimitRequest.h
1
6#pragma once
7#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
8#include <aws/redshift-serverless/RedshiftServerlessRequest.h>
9#include <aws/redshift-serverless/model/UsageLimitBreachAction.h>
10#include <aws/redshift-serverless/model/UsageLimitPeriod.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/redshift-serverless/model/UsageLimitUsageType.h>
13#include <utility>
14
15namespace Aws
16{
17namespace RedshiftServerless
18{
19namespace Model
20{
21
25 {
26 public:
27 AWS_REDSHIFTSERVERLESS_API CreateUsageLimitRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateUsageLimit"; }
34
35 AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override;
36
37 AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
38
39
41
47 inline long long GetAmount() const { return m_amount; }
48 inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; }
49 inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; }
50 inline CreateUsageLimitRequest& WithAmount(long long value) { SetAmount(value); return *this;}
52
54
58 inline UsageLimitBreachAction GetBreachAction() const { return m_breachAction; }
59 inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
60 inline void SetBreachAction(UsageLimitBreachAction value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
63
65
69 inline UsageLimitPeriod GetPeriod() const { return m_period; }
70 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
71 inline void SetPeriod(UsageLimitPeriod value) { m_periodHasBeenSet = true; m_period = value; }
72 inline CreateUsageLimitRequest& WithPeriod(UsageLimitPeriod value) { SetPeriod(value); return *this;}
74
76
80 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
81 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
82 template<typename ResourceArnT = Aws::String>
83 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward<ResourceArnT>(value); }
84 template<typename ResourceArnT = Aws::String>
85 CreateUsageLimitRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward<ResourceArnT>(value)); return *this;}
87
89
92 inline UsageLimitUsageType GetUsageType() const { return m_usageType; }
93 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
94 inline void SetUsageType(UsageLimitUsageType value) { m_usageTypeHasBeenSet = true; m_usageType = value; }
97 private:
98
99 long long m_amount{0};
100 bool m_amountHasBeenSet = false;
101
103 bool m_breachActionHasBeenSet = false;
104
106 bool m_periodHasBeenSet = false;
107
108 Aws::String m_resourceArn;
109 bool m_resourceArnHasBeenSet = false;
110
112 bool m_usageTypeHasBeenSet = false;
113 };
114
115} // namespace Model
116} // namespace RedshiftServerless
117} // namespace Aws
CreateUsageLimitRequest & WithAmount(long long value)
AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override
AWS_REDSHIFTSERVERLESS_API CreateUsageLimitRequest()=default
CreateUsageLimitRequest & WithResourceArn(ResourceArnT &&value)
CreateUsageLimitRequest & WithPeriod(UsageLimitPeriod value)
AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateUsageLimitRequest & WithBreachAction(UsageLimitBreachAction value)
CreateUsageLimitRequest & WithUsageType(UsageLimitUsageType value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String