AWS SDK for C++  0.12.9
AWS SDK for C++
MeterUsageRequest.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
20 
21 namespace Aws
22 {
23 namespace MarketplaceMetering
24 {
25 namespace Model
26 {
27 
31  {
32  public:
34  Aws::String SerializePayload() const override;
35 
36  Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
43  inline const Aws::String& GetProductCode() const{ return m_productCode; }
44 
50  inline void SetProductCode(const Aws::String& value) { m_productCodeHasBeenSet = true; m_productCode = value; }
51 
57  inline void SetProductCode(Aws::String&& value) { m_productCodeHasBeenSet = true; m_productCode = value; }
58 
64  inline void SetProductCode(const char* value) { m_productCodeHasBeenSet = true; m_productCode.assign(value); }
65 
71  inline MeterUsageRequest& WithProductCode(const Aws::String& value) { SetProductCode(value); return *this;}
72 
78  inline MeterUsageRequest& WithProductCode(Aws::String&& value) { SetProductCode(value); return *this;}
79 
85  inline MeterUsageRequest& WithProductCode(const char* value) { SetProductCode(value); return *this;}
86 
91  inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
92 
97  inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
98 
103  inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
104 
109  inline MeterUsageRequest& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
110 
115  inline MeterUsageRequest& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(value); return *this;}
116 
121  inline const Aws::String& GetUsageDimension() const{ return m_usageDimension; }
122 
127  inline void SetUsageDimension(const Aws::String& value) { m_usageDimensionHasBeenSet = true; m_usageDimension = value; }
128 
133  inline void SetUsageDimension(Aws::String&& value) { m_usageDimensionHasBeenSet = true; m_usageDimension = value; }
134 
139  inline void SetUsageDimension(const char* value) { m_usageDimensionHasBeenSet = true; m_usageDimension.assign(value); }
140 
145  inline MeterUsageRequest& WithUsageDimension(const Aws::String& value) { SetUsageDimension(value); return *this;}
146 
151  inline MeterUsageRequest& WithUsageDimension(Aws::String&& value) { SetUsageDimension(value); return *this;}
152 
157  inline MeterUsageRequest& WithUsageDimension(const char* value) { SetUsageDimension(value); return *this;}
158 
162  inline long GetUsageQuantity() const{ return m_usageQuantity; }
163 
167  inline void SetUsageQuantity(long value) { m_usageQuantityHasBeenSet = true; m_usageQuantity = value; }
168 
172  inline MeterUsageRequest& WithUsageQuantity(long value) { SetUsageQuantity(value); return *this;}
173 
179  inline bool GetDryRun() const{ return m_dryRun; }
180 
186  inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
187 
193  inline MeterUsageRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
194 
195  private:
196  Aws::String m_productCode;
197  bool m_productCodeHasBeenSet;
198  Aws::Utils::DateTime m_timestamp;
199  bool m_timestampHasBeenSet;
200  Aws::String m_usageDimension;
201  bool m_usageDimensionHasBeenSet;
202  long m_usageQuantity;
203  bool m_usageQuantityHasBeenSet;
204  bool m_dryRun;
205  bool m_dryRunHasBeenSet;
206  };
207 
208 } // namespace Model
209 } // namespace MarketplaceMetering
210 } // namespace Aws
void SetTimestamp(const Aws::Utils::DateTime &value)
MeterUsageRequest & WithProductCode(Aws::String &&value)
void SetTimestamp(Aws::Utils::DateTime &&value)
MeterUsageRequest & WithTimestamp(const Aws::Utils::DateTime &value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
Definition: HttpTypes.h:63
const Aws::Utils::DateTime & GetTimestamp() const
MeterUsageRequest & WithProductCode(const char *value)
MeterUsageRequest & WithProductCode(const Aws::String &value)
MeterUsageRequest & WithUsageDimension(Aws::String &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
MeterUsageRequest & WithUsageDimension(const char *value)
MeterUsageRequest & WithTimestamp(Aws::Utils::DateTime &&value)
#define AWS_MARKETPLACEMETERING_API
MeterUsageRequest & WithUsageDimension(const Aws::String &value)
JSON (JavaScript Object Notation).