AWS SDK for C++  0.12.9
AWS SDK for C++
IamInstanceProfileSpecification.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>
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Xml
25 {
26  class XmlNode;
27 } // namespace Xml
28 } // namespace Utils
29 namespace EC2
30 {
31 namespace Model
32 {
33 
38  {
39  public:
43 
44  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
45  void OutputToStream(Aws::OStream& oStream, const char* location) const;
46 
50  inline const Aws::String& GetArn() const{ return m_arn; }
51 
55  inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
56 
60  inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = value; }
61 
65  inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
66 
70  inline IamInstanceProfileSpecification& WithArn(const Aws::String& value) { SetArn(value); return *this;}
71 
75  inline IamInstanceProfileSpecification& WithArn(Aws::String&& value) { SetArn(value); return *this;}
76 
80  inline IamInstanceProfileSpecification& WithArn(const char* value) { SetArn(value); return *this;}
81 
85  inline const Aws::String& GetName() const{ return m_name; }
86 
90  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
91 
95  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = value; }
96 
100  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
101 
105  inline IamInstanceProfileSpecification& WithName(const Aws::String& value) { SetName(value); return *this;}
106 
110  inline IamInstanceProfileSpecification& WithName(Aws::String&& value) { SetName(value); return *this;}
111 
115  inline IamInstanceProfileSpecification& WithName(const char* value) { SetName(value); return *this;}
116 
117  private:
118  Aws::String m_arn;
119  bool m_arnHasBeenSet;
120  Aws::String m_name;
121  bool m_nameHasBeenSet;
122  };
123 
124 } // namespace Model
125 } // namespace EC2
126 } // namespace Aws
IamInstanceProfileSpecification & WithArn(const Aws::String &value)
IamInstanceProfileSpecification & WithName(const Aws::String &value)
IamInstanceProfileSpecification & WithName(const char *value)
IamInstanceProfileSpecification & WithName(Aws::String &&value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
IamInstanceProfileSpecification & WithArn(Aws::String &&value)
IamInstanceProfileSpecification & WithArn(const char *value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:34
JSON (JavaScript Object Notation).