AWS SDK for C++  0.14.3
AWS SDK for C++
DirectoryVpcSettingsDescription.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
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Json
25 {
26  class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace DirectoryService
30 {
31 namespace Model
32 {
33 
38  {
39  public:
43  Aws::Utils::Json::JsonValue Jsonize() const;
44 
48  inline const Aws::String& GetVpcId() const{ return m_vpcId; }
49 
53  inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
54 
58  inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
59 
63  inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); }
64 
68  inline DirectoryVpcSettingsDescription& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;}
69 
73  inline DirectoryVpcSettingsDescription& WithVpcId(Aws::String&& value) { SetVpcId(value); return *this;}
74 
78  inline DirectoryVpcSettingsDescription& WithVpcId(const char* value) { SetVpcId(value); return *this;}
79 
83  inline const Aws::Vector<Aws::String>& GetSubnetIds() const{ return m_subnetIds; }
84 
88  inline void SetSubnetIds(const Aws::Vector<Aws::String>& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; }
89 
93  inline void SetSubnetIds(Aws::Vector<Aws::String>&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; }
94 
98  inline DirectoryVpcSettingsDescription& WithSubnetIds(const Aws::Vector<Aws::String>& value) { SetSubnetIds(value); return *this;}
99 
103  inline DirectoryVpcSettingsDescription& WithSubnetIds(Aws::Vector<Aws::String>&& value) { SetSubnetIds(value); return *this;}
104 
108  inline DirectoryVpcSettingsDescription& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
109 
113  inline DirectoryVpcSettingsDescription& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
114 
118  inline DirectoryVpcSettingsDescription& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
119 
126  inline const Aws::String& GetSecurityGroupId() const{ return m_securityGroupId; }
127 
134  inline void SetSecurityGroupId(const Aws::String& value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId = value; }
135 
142  inline void SetSecurityGroupId(Aws::String&& value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId = value; }
143 
150  inline void SetSecurityGroupId(const char* value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId.assign(value); }
151 
158  inline DirectoryVpcSettingsDescription& WithSecurityGroupId(const Aws::String& value) { SetSecurityGroupId(value); return *this;}
159 
166  inline DirectoryVpcSettingsDescription& WithSecurityGroupId(Aws::String&& value) { SetSecurityGroupId(value); return *this;}
167 
174  inline DirectoryVpcSettingsDescription& WithSecurityGroupId(const char* value) { SetSecurityGroupId(value); return *this;}
175 
179  inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; }
180 
184  inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
185 
189  inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
190 
194  inline DirectoryVpcSettingsDescription& WithAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetAvailabilityZones(value); return *this;}
195 
199  inline DirectoryVpcSettingsDescription& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(value); return *this;}
200 
204  inline DirectoryVpcSettingsDescription& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
205 
209  inline DirectoryVpcSettingsDescription& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
210 
214  inline DirectoryVpcSettingsDescription& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
215 
216  private:
217  Aws::String m_vpcId;
218  bool m_vpcIdHasBeenSet;
219  Aws::Vector<Aws::String> m_subnetIds;
220  bool m_subnetIdsHasBeenSet;
221  Aws::String m_securityGroupId;
222  bool m_securityGroupIdHasBeenSet;
223  Aws::Vector<Aws::String> m_availabilityZones;
224  bool m_availabilityZonesHasBeenSet;
225  };
226 
227 } // namespace Model
228 } // namespace DirectoryService
229 } // namespace Aws
DirectoryVpcSettingsDescription & WithSecurityGroupId(const Aws::String &value)
DirectoryVpcSettingsDescription & WithSecurityGroupId(Aws::String &&value)
DirectoryVpcSettingsDescription & WithVpcId(const char *value)
DirectoryVpcSettingsDescription & AddAvailabilityZones(Aws::String &&value)
#define AWS_DIRECTORYSERVICE_API
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
DirectoryVpcSettingsDescription & WithAvailabilityZones(Aws::Vector< Aws::String > &&value)
DirectoryVpcSettingsDescription & WithAvailabilityZones(const Aws::Vector< Aws::String > &value)
DirectoryVpcSettingsDescription & AddSubnetIds(const char *value)
DirectoryVpcSettingsDescription & WithSubnetIds(const Aws::Vector< Aws::String > &value)
DirectoryVpcSettingsDescription & WithSubnetIds(Aws::Vector< Aws::String > &&value)
DirectoryVpcSettingsDescription & AddSubnetIds(Aws::String &&value)
DirectoryVpcSettingsDescription & WithVpcId(Aws::String &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
DirectoryVpcSettingsDescription & AddAvailabilityZones(const char *value)
DirectoryVpcSettingsDescription & AddSubnetIds(const Aws::String &value)
DirectoryVpcSettingsDescription & AddAvailabilityZones(const Aws::String &value)
DirectoryVpcSettingsDescription & WithVpcId(const Aws::String &value)
DirectoryVpcSettingsDescription & WithSecurityGroupId(const char *value)
JSON (JavaScript Object Notation).