AWS SDK for C++  0.14.3
AWS SDK for C++
Service.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 Utils
24 {
25 namespace Json
26 {
27  class JsonValue;
28 } // namespace Json
29 } // namespace Utils
30 namespace Support
31 {
32 namespace Model
33 {
34 
40  {
41  public:
42  Service();
43  Service(const Aws::Utils::Json::JsonValue& jsonValue);
44  Service& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
45  Aws::Utils::Json::JsonValue Jsonize() const;
46 
51  inline const Aws::String& GetCode() const{ return m_code; }
52 
57  inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; }
58 
63  inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = value; }
64 
69  inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); }
70 
75  inline Service& WithCode(const Aws::String& value) { SetCode(value); return *this;}
76 
81  inline Service& WithCode(Aws::String&& value) { SetCode(value); return *this;}
82 
87  inline Service& WithCode(const char* value) { SetCode(value); return *this;}
88 
93  inline const Aws::String& GetName() const{ return m_name; }
94 
99  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
100 
105  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = value; }
106 
111  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
112 
117  inline Service& WithName(const Aws::String& value) { SetName(value); return *this;}
118 
123  inline Service& WithName(Aws::String&& value) { SetName(value); return *this;}
124 
129  inline Service& WithName(const char* value) { SetName(value); return *this;}
130 
136  inline const Aws::Vector<Category>& GetCategories() const{ return m_categories; }
137 
143  inline void SetCategories(const Aws::Vector<Category>& value) { m_categoriesHasBeenSet = true; m_categories = value; }
144 
150  inline void SetCategories(Aws::Vector<Category>&& value) { m_categoriesHasBeenSet = true; m_categories = value; }
151 
157  inline Service& WithCategories(const Aws::Vector<Category>& value) { SetCategories(value); return *this;}
158 
164  inline Service& WithCategories(Aws::Vector<Category>&& value) { SetCategories(value); return *this;}
165 
171  inline Service& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; }
172 
178  inline Service& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; }
179 
180  private:
181  Aws::String m_code;
182  bool m_codeHasBeenSet;
183  Aws::String m_name;
184  bool m_nameHasBeenSet;
185  Aws::Vector<Category> m_categories;
186  bool m_categoriesHasBeenSet;
187  };
188 
189 } // namespace Model
190 } // namespace Support
191 } // namespace Aws
void SetName(const Aws::String &value)
Definition: Service.h:99
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
Service & AddCategories(Category &&value)
Definition: Service.h:178
Service & WithName(const char *value)
Definition: Service.h:129
void SetCode(const char *value)
Definition: Service.h:69
void SetCategories(Aws::Vector< Category > &&value)
Definition: Service.h:150
Service & WithCode(const Aws::String &value)
Definition: Service.h:75
const Aws::Vector< Category > & GetCategories() const
Definition: Service.h:136
Service & WithCode(const char *value)
Definition: Service.h:87
void SetCode(Aws::String &&value)
Definition: Service.h:63
#define AWS_SUPPORT_API
void SetName(Aws::String &&value)
Definition: Service.h:105
Service & WithCategories(const Aws::Vector< Category > &value)
Definition: Service.h:157
Service & WithName(const Aws::String &value)
Definition: Service.h:117
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
const Aws::String & GetName() const
Definition: Service.h:93
void SetName(const char *value)
Definition: Service.h:111
void SetCategories(const Aws::Vector< Category > &value)
Definition: Service.h:143
Service & WithName(Aws::String &&value)
Definition: Service.h:123
Service & WithCode(Aws::String &&value)
Definition: Service.h:81
Service & WithCategories(Aws::Vector< Category > &&value)
Definition: Service.h:164
const Aws::String & GetCode() const
Definition: Service.h:51
void SetCode(const Aws::String &value)
Definition: Service.h:57
JSON (JavaScript Object Notation).
Service & AddCategories(const Category &value)
Definition: Service.h:171