AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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();
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 const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; }
59 inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
60 inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
61 inline void SetBreachAction(UsageLimitBreachAction&& value) { m_breachActionHasBeenSet = true; m_breachAction = std::move(value); }
63 inline CreateUsageLimitRequest& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;}
65
67
71 inline const UsageLimitPeriod& GetPeriod() const{ return m_period; }
72 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
73 inline void SetPeriod(const UsageLimitPeriod& value) { m_periodHasBeenSet = true; m_period = value; }
74 inline void SetPeriod(UsageLimitPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); }
75 inline CreateUsageLimitRequest& WithPeriod(const UsageLimitPeriod& value) { SetPeriod(value); return *this;}
76 inline CreateUsageLimitRequest& WithPeriod(UsageLimitPeriod&& value) { SetPeriod(std::move(value)); return *this;}
78
80
84 inline const Aws::String& GetResourceArn() const{ return m_resourceArn; }
85 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
86 inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; }
87 inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); }
88 inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); }
89 inline CreateUsageLimitRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;}
90 inline CreateUsageLimitRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;}
91 inline CreateUsageLimitRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;}
93
95
98 inline const UsageLimitUsageType& GetUsageType() const{ return m_usageType; }
99 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
100 inline void SetUsageType(const UsageLimitUsageType& value) { m_usageTypeHasBeenSet = true; m_usageType = value; }
101 inline void SetUsageType(UsageLimitUsageType&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::move(value); }
102 inline CreateUsageLimitRequest& WithUsageType(const UsageLimitUsageType& value) { SetUsageType(value); return *this;}
103 inline CreateUsageLimitRequest& WithUsageType(UsageLimitUsageType&& value) { SetUsageType(std::move(value)); return *this;}
105 private:
106
107 long long m_amount;
108 bool m_amountHasBeenSet = false;
109
110 UsageLimitBreachAction m_breachAction;
111 bool m_breachActionHasBeenSet = false;
112
113 UsageLimitPeriod m_period;
114 bool m_periodHasBeenSet = false;
115
116 Aws::String m_resourceArn;
117 bool m_resourceArnHasBeenSet = false;
118
119 UsageLimitUsageType m_usageType;
120 bool m_usageTypeHasBeenSet = false;
121 };
122
123} // namespace Model
124} // namespace RedshiftServerless
125} // namespace Aws
CreateUsageLimitRequest & WithAmount(long long value)
AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override
CreateUsageLimitRequest & WithBreachAction(const UsageLimitBreachAction &value)
CreateUsageLimitRequest & WithResourceArn(const Aws::String &value)
CreateUsageLimitRequest & WithBreachAction(UsageLimitBreachAction &&value)
CreateUsageLimitRequest & WithPeriod(const UsageLimitPeriod &value)
CreateUsageLimitRequest & WithUsageType(const UsageLimitUsageType &value)
CreateUsageLimitRequest & WithPeriod(UsageLimitPeriod &&value)
CreateUsageLimitRequest & WithResourceArn(Aws::String &&value)
AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateUsageLimitRequest & WithResourceArn(const char *value)
void SetBreachAction(const 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