AWS SDK for C++  0.14.3
AWS SDK for C++
ScheduledInstancesLaunchSpecification.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
16 #include <aws/ec2/EC2_EXPORTS.h>
25 
26 namespace Aws
27 {
28 namespace Utils
29 {
30 namespace Xml
31 {
32  class XmlNode;
33 } // namespace Xml
34 } // namespace Utils
35 namespace EC2
36 {
37 namespace Model
38 {
39 
47  {
48  public:
52 
53  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
54  void OutputToStream(Aws::OStream& oStream, const char* location) const;
55 
59  inline const Aws::String& GetImageId() const{ return m_imageId; }
60 
64  inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; }
65 
69  inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = value; }
70 
74  inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); }
75 
79  inline ScheduledInstancesLaunchSpecification& WithImageId(const Aws::String& value) { SetImageId(value); return *this;}
80 
84  inline ScheduledInstancesLaunchSpecification& WithImageId(Aws::String&& value) { SetImageId(value); return *this;}
85 
89  inline ScheduledInstancesLaunchSpecification& WithImageId(const char* value) { SetImageId(value); return *this;}
90 
94  inline const Aws::String& GetKeyName() const{ return m_keyName; }
95 
99  inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; }
100 
104  inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = value; }
105 
109  inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); }
110 
114  inline ScheduledInstancesLaunchSpecification& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;}
115 
119  inline ScheduledInstancesLaunchSpecification& WithKeyName(Aws::String&& value) { SetKeyName(value); return *this;}
120 
124  inline ScheduledInstancesLaunchSpecification& WithKeyName(const char* value) { SetKeyName(value); return *this;}
125 
129  inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const{ return m_securityGroupIds; }
130 
134  inline void SetSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; }
135 
139  inline void SetSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; }
140 
144  inline ScheduledInstancesLaunchSpecification& WithSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetSecurityGroupIds(value); return *this;}
145 
149  inline ScheduledInstancesLaunchSpecification& WithSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetSecurityGroupIds(value); return *this;}
150 
154  inline ScheduledInstancesLaunchSpecification& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
155 
159  inline ScheduledInstancesLaunchSpecification& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
160 
164  inline ScheduledInstancesLaunchSpecification& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
165 
169  inline const Aws::String& GetUserData() const{ return m_userData; }
170 
174  inline void SetUserData(const Aws::String& value) { m_userDataHasBeenSet = true; m_userData = value; }
175 
179  inline void SetUserData(Aws::String&& value) { m_userDataHasBeenSet = true; m_userData = value; }
180 
184  inline void SetUserData(const char* value) { m_userDataHasBeenSet = true; m_userData.assign(value); }
185 
189  inline ScheduledInstancesLaunchSpecification& WithUserData(const Aws::String& value) { SetUserData(value); return *this;}
190 
194  inline ScheduledInstancesLaunchSpecification& WithUserData(Aws::String&& value) { SetUserData(value); return *this;}
195 
199  inline ScheduledInstancesLaunchSpecification& WithUserData(const char* value) { SetUserData(value); return *this;}
200 
204  inline const ScheduledInstancesPlacement& GetPlacement() const{ return m_placement; }
205 
209  inline void SetPlacement(const ScheduledInstancesPlacement& value) { m_placementHasBeenSet = true; m_placement = value; }
210 
214  inline void SetPlacement(ScheduledInstancesPlacement&& value) { m_placementHasBeenSet = true; m_placement = value; }
215 
219  inline ScheduledInstancesLaunchSpecification& WithPlacement(const ScheduledInstancesPlacement& value) { SetPlacement(value); return *this;}
220 
224  inline ScheduledInstancesLaunchSpecification& WithPlacement(ScheduledInstancesPlacement&& value) { SetPlacement(value); return *this;}
225 
229  inline const Aws::String& GetKernelId() const{ return m_kernelId; }
230 
234  inline void SetKernelId(const Aws::String& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; }
235 
239  inline void SetKernelId(Aws::String&& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; }
240 
244  inline void SetKernelId(const char* value) { m_kernelIdHasBeenSet = true; m_kernelId.assign(value); }
245 
249  inline ScheduledInstancesLaunchSpecification& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;}
250 
254  inline ScheduledInstancesLaunchSpecification& WithKernelId(Aws::String&& value) { SetKernelId(value); return *this;}
255 
259  inline ScheduledInstancesLaunchSpecification& WithKernelId(const char* value) { SetKernelId(value); return *this;}
260 
264  inline const Aws::String& GetInstanceType() const{ return m_instanceType; }
265 
269  inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
270 
274  inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
275 
279  inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); }
280 
284  inline ScheduledInstancesLaunchSpecification& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;}
285 
289  inline ScheduledInstancesLaunchSpecification& WithInstanceType(Aws::String&& value) { SetInstanceType(value); return *this;}
290 
294  inline ScheduledInstancesLaunchSpecification& WithInstanceType(const char* value) { SetInstanceType(value); return *this;}
295 
299  inline const Aws::String& GetRamdiskId() const{ return m_ramdiskId; }
300 
304  inline void SetRamdiskId(const Aws::String& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = value; }
305 
309  inline void SetRamdiskId(Aws::String&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = value; }
310 
314  inline void SetRamdiskId(const char* value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId.assign(value); }
315 
319  inline ScheduledInstancesLaunchSpecification& WithRamdiskId(const Aws::String& value) { SetRamdiskId(value); return *this;}
320 
324  inline ScheduledInstancesLaunchSpecification& WithRamdiskId(Aws::String&& value) { SetRamdiskId(value); return *this;}
325 
329  inline ScheduledInstancesLaunchSpecification& WithRamdiskId(const char* value) { SetRamdiskId(value); return *this;}
330 
334  inline const Aws::Vector<ScheduledInstancesBlockDeviceMapping>& GetBlockDeviceMappings() const{ return m_blockDeviceMappings; }
335 
339  inline void SetBlockDeviceMappings(const Aws::Vector<ScheduledInstancesBlockDeviceMapping>& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
340 
344  inline void SetBlockDeviceMappings(Aws::Vector<ScheduledInstancesBlockDeviceMapping>&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
345 
350 
355 
359  inline ScheduledInstancesLaunchSpecification& AddBlockDeviceMappings(const ScheduledInstancesBlockDeviceMapping& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
360 
364  inline ScheduledInstancesLaunchSpecification& AddBlockDeviceMappings(ScheduledInstancesBlockDeviceMapping&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
365 
369  inline const ScheduledInstancesMonitoring& GetMonitoring() const{ return m_monitoring; }
370 
374  inline void SetMonitoring(const ScheduledInstancesMonitoring& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
375 
379  inline void SetMonitoring(ScheduledInstancesMonitoring&& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
380 
384  inline ScheduledInstancesLaunchSpecification& WithMonitoring(const ScheduledInstancesMonitoring& value) { SetMonitoring(value); return *this;}
385 
389  inline ScheduledInstancesLaunchSpecification& WithMonitoring(ScheduledInstancesMonitoring&& value) { SetMonitoring(value); return *this;}
390 
394  inline const Aws::String& GetSubnetId() const{ return m_subnetId; }
395 
399  inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
400 
404  inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
405 
409  inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); }
410 
414  inline ScheduledInstancesLaunchSpecification& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;}
415 
419  inline ScheduledInstancesLaunchSpecification& WithSubnetId(Aws::String&& value) { SetSubnetId(value); return *this;}
420 
424  inline ScheduledInstancesLaunchSpecification& WithSubnetId(const char* value) { SetSubnetId(value); return *this;}
425 
429  inline const Aws::Vector<ScheduledInstancesNetworkInterface>& GetNetworkInterfaces() const{ return m_networkInterfaces; }
430 
434  inline void SetNetworkInterfaces(const Aws::Vector<ScheduledInstancesNetworkInterface>& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
435 
439  inline void SetNetworkInterfaces(Aws::Vector<ScheduledInstancesNetworkInterface>&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
440 
444  inline ScheduledInstancesLaunchSpecification& WithNetworkInterfaces(const Aws::Vector<ScheduledInstancesNetworkInterface>& value) { SetNetworkInterfaces(value); return *this;}
445 
450 
454  inline ScheduledInstancesLaunchSpecification& AddNetworkInterfaces(const ScheduledInstancesNetworkInterface& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
455 
459  inline ScheduledInstancesLaunchSpecification& AddNetworkInterfaces(ScheduledInstancesNetworkInterface&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
460 
464  inline const ScheduledInstancesIamInstanceProfile& GetIamInstanceProfile() const{ return m_iamInstanceProfile; }
465 
469  inline void SetIamInstanceProfile(const ScheduledInstancesIamInstanceProfile& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
470 
474  inline void SetIamInstanceProfile(ScheduledInstancesIamInstanceProfile&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
475 
479  inline ScheduledInstancesLaunchSpecification& WithIamInstanceProfile(const ScheduledInstancesIamInstanceProfile& value) { SetIamInstanceProfile(value); return *this;}
480 
484  inline ScheduledInstancesLaunchSpecification& WithIamInstanceProfile(ScheduledInstancesIamInstanceProfile&& value) { SetIamInstanceProfile(value); return *this;}
485 
493  inline bool GetEbsOptimized() const{ return m_ebsOptimized; }
494 
502  inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
503 
511  inline ScheduledInstancesLaunchSpecification& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
512 
513  private:
514  Aws::String m_imageId;
515  bool m_imageIdHasBeenSet;
516  Aws::String m_keyName;
517  bool m_keyNameHasBeenSet;
518  Aws::Vector<Aws::String> m_securityGroupIds;
519  bool m_securityGroupIdsHasBeenSet;
520  Aws::String m_userData;
521  bool m_userDataHasBeenSet;
522  ScheduledInstancesPlacement m_placement;
523  bool m_placementHasBeenSet;
524  Aws::String m_kernelId;
525  bool m_kernelIdHasBeenSet;
526  Aws::String m_instanceType;
527  bool m_instanceTypeHasBeenSet;
528  Aws::String m_ramdiskId;
529  bool m_ramdiskIdHasBeenSet;
531  bool m_blockDeviceMappingsHasBeenSet;
532  ScheduledInstancesMonitoring m_monitoring;
533  bool m_monitoringHasBeenSet;
534  Aws::String m_subnetId;
535  bool m_subnetIdHasBeenSet;
537  bool m_networkInterfacesHasBeenSet;
538  ScheduledInstancesIamInstanceProfile m_iamInstanceProfile;
539  bool m_iamInstanceProfileHasBeenSet;
540  bool m_ebsOptimized;
541  bool m_ebsOptimizedHasBeenSet;
542  };
543 
544 } // namespace Model
545 } // namespace EC2
546 } // namespace Aws
const ScheduledInstancesIamInstanceProfile & GetIamInstanceProfile() const
ScheduledInstancesLaunchSpecification & WithKeyName(const Aws::String &value)
ScheduledInstancesLaunchSpecification & WithKernelId(const char *value)
ScheduledInstancesLaunchSpecification & WithMonitoring(ScheduledInstancesMonitoring &&value)
ScheduledInstancesLaunchSpecification & WithRamdiskId(const char *value)
ScheduledInstancesLaunchSpecification & WithSubnetId(const char *value)
ScheduledInstancesLaunchSpecification & WithSubnetId(Aws::String &&value)
void SetBlockDeviceMappings(Aws::Vector< ScheduledInstancesBlockDeviceMapping > &&value)
ScheduledInstancesLaunchSpecification & WithBlockDeviceMappings(Aws::Vector< ScheduledInstancesBlockDeviceMapping > &&value)
void SetIamInstanceProfile(ScheduledInstancesIamInstanceProfile &&value)
ScheduledInstancesLaunchSpecification & WithRamdiskId(const Aws::String &value)
ScheduledInstancesLaunchSpecification & WithPlacement(ScheduledInstancesPlacement &&value)
ScheduledInstancesLaunchSpecification & WithIamInstanceProfile(const ScheduledInstancesIamInstanceProfile &value)
ScheduledInstancesLaunchSpecification & WithNetworkInterfaces(const Aws::Vector< ScheduledInstancesNetworkInterface > &value)
ScheduledInstancesLaunchSpecification & WithBlockDeviceMappings(const Aws::Vector< ScheduledInstancesBlockDeviceMapping > &value)
ScheduledInstancesLaunchSpecification & AddNetworkInterfaces(ScheduledInstancesNetworkInterface &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
ScheduledInstancesLaunchSpecification & AddBlockDeviceMappings(ScheduledInstancesBlockDeviceMapping &&value)
ScheduledInstancesLaunchSpecification & WithUserData(const Aws::String &value)
ScheduledInstancesLaunchSpecification & WithInstanceType(const char *value)
ScheduledInstancesLaunchSpecification & WithUserData(const char *value)
ScheduledInstancesLaunchSpecification & WithInstanceType(const Aws::String &value)
ScheduledInstancesLaunchSpecification & WithKeyName(Aws::String &&value)
ScheduledInstancesLaunchSpecification & WithSubnetId(const Aws::String &value)
void SetIamInstanceProfile(const ScheduledInstancesIamInstanceProfile &value)
ScheduledInstancesLaunchSpecification & WithUserData(Aws::String &&value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetNetworkInterfaces(Aws::Vector< ScheduledInstancesNetworkInterface > &&value)
ScheduledInstancesLaunchSpecification & WithKeyName(const char *value)
ScheduledInstancesLaunchSpecification & AddBlockDeviceMappings(const ScheduledInstancesBlockDeviceMapping &value)
ScheduledInstancesLaunchSpecification & WithKernelId(Aws::String &&value)
ScheduledInstancesLaunchSpecification & WithPlacement(const ScheduledInstancesPlacement &value)
ScheduledInstancesLaunchSpecification & AddSecurityGroupIds(const char *value)
ScheduledInstancesLaunchSpecification & WithIamInstanceProfile(ScheduledInstancesIamInstanceProfile &&value)
ScheduledInstancesLaunchSpecification & WithKernelId(const Aws::String &value)
ScheduledInstancesLaunchSpecification & WithImageId(Aws::String &&value)
ScheduledInstancesLaunchSpecification & AddSecurityGroupIds(const Aws::String &value)
const Aws::Vector< ScheduledInstancesBlockDeviceMapping > & GetBlockDeviceMappings() const
ScheduledInstancesLaunchSpecification & WithNetworkInterfaces(Aws::Vector< ScheduledInstancesNetworkInterface > &&value)
ScheduledInstancesLaunchSpecification & WithSecurityGroupIds(const Aws::Vector< Aws::String > &value)
ScheduledInstancesLaunchSpecification & WithImageId(const char *value)
void SetBlockDeviceMappings(const Aws::Vector< ScheduledInstancesBlockDeviceMapping > &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
ScheduledInstancesLaunchSpecification & WithInstanceType(Aws::String &&value)
ScheduledInstancesLaunchSpecification & WithMonitoring(const ScheduledInstancesMonitoring &value)
ScheduledInstancesLaunchSpecification & AddNetworkInterfaces(const ScheduledInstancesNetworkInterface &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:37
ScheduledInstancesLaunchSpecification & WithRamdiskId(Aws::String &&value)
ScheduledInstancesLaunchSpecification & WithImageId(const Aws::String &value)
ScheduledInstancesLaunchSpecification & WithSecurityGroupIds(Aws::Vector< Aws::String > &&value)
void SetNetworkInterfaces(const Aws::Vector< ScheduledInstancesNetworkInterface > &value)
const Aws::Vector< ScheduledInstancesNetworkInterface > & GetNetworkInterfaces() const
ScheduledInstancesLaunchSpecification & WithEbsOptimized(bool value)
JSON (JavaScript Object Notation).
ScheduledInstancesLaunchSpecification & AddSecurityGroupIds(Aws::String &&value)