AWS SDK for C++  0.12.9
AWS SDK for C++
Statement.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/iam/IAM_EXPORTS.h>
20 #include <aws/iam/model/Position.h>
21 
22 namespace Aws
23 {
24 namespace Utils
25 {
26 namespace Xml
27 {
28  class XmlNode;
29 } // namespace Xml
30 } // namespace Utils
31 namespace IAM
32 {
33 namespace Model
34 {
35 
43  {
44  public:
45  Statement();
46  Statement(const Aws::Utils::Xml::XmlNode& xmlNode);
47  Statement& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
48 
49  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
50  void OutputToStream(Aws::OStream& oStream, const char* location) const;
51 
55  inline const Aws::String& GetSourcePolicyId() const{ return m_sourcePolicyId; }
56 
60  inline void SetSourcePolicyId(const Aws::String& value) { m_sourcePolicyIdHasBeenSet = true; m_sourcePolicyId = value; }
61 
65  inline void SetSourcePolicyId(Aws::String&& value) { m_sourcePolicyIdHasBeenSet = true; m_sourcePolicyId = value; }
66 
70  inline void SetSourcePolicyId(const char* value) { m_sourcePolicyIdHasBeenSet = true; m_sourcePolicyId.assign(value); }
71 
75  inline Statement& WithSourcePolicyId(const Aws::String& value) { SetSourcePolicyId(value); return *this;}
76 
80  inline Statement& WithSourcePolicyId(Aws::String&& value) { SetSourcePolicyId(value); return *this;}
81 
85  inline Statement& WithSourcePolicyId(const char* value) { SetSourcePolicyId(value); return *this;}
86 
90  inline const PolicySourceType& GetSourcePolicyType() const{ return m_sourcePolicyType; }
91 
95  inline void SetSourcePolicyType(const PolicySourceType& value) { m_sourcePolicyTypeHasBeenSet = true; m_sourcePolicyType = value; }
96 
100  inline void SetSourcePolicyType(PolicySourceType&& value) { m_sourcePolicyTypeHasBeenSet = true; m_sourcePolicyType = value; }
101 
105  inline Statement& WithSourcePolicyType(const PolicySourceType& value) { SetSourcePolicyType(value); return *this;}
106 
110  inline Statement& WithSourcePolicyType(PolicySourceType&& value) { SetSourcePolicyType(value); return *this;}
111 
116  inline const Position& GetStartPosition() const{ return m_startPosition; }
117 
122  inline void SetStartPosition(const Position& value) { m_startPositionHasBeenSet = true; m_startPosition = value; }
123 
128  inline void SetStartPosition(Position&& value) { m_startPositionHasBeenSet = true; m_startPosition = value; }
129 
134  inline Statement& WithStartPosition(const Position& value) { SetStartPosition(value); return *this;}
135 
140  inline Statement& WithStartPosition(Position&& value) { SetStartPosition(value); return *this;}
141 
146  inline const Position& GetEndPosition() const{ return m_endPosition; }
147 
152  inline void SetEndPosition(const Position& value) { m_endPositionHasBeenSet = true; m_endPosition = value; }
153 
158  inline void SetEndPosition(Position&& value) { m_endPositionHasBeenSet = true; m_endPosition = value; }
159 
164  inline Statement& WithEndPosition(const Position& value) { SetEndPosition(value); return *this;}
165 
170  inline Statement& WithEndPosition(Position&& value) { SetEndPosition(value); return *this;}
171 
172  private:
173  Aws::String m_sourcePolicyId;
174  bool m_sourcePolicyIdHasBeenSet;
175  PolicySourceType m_sourcePolicyType;
176  bool m_sourcePolicyTypeHasBeenSet;
177  Position m_startPosition;
178  bool m_startPositionHasBeenSet;
179  Position m_endPosition;
180  bool m_endPositionHasBeenSet;
181  };
182 
183 } // namespace Model
184 } // namespace IAM
185 } // namespace Aws
void SetEndPosition(const Position &value)
Definition: Statement.h:152
Statement & WithStartPosition(Position &&value)
Definition: Statement.h:140
const Position & GetStartPosition() const
Definition: Statement.h:116
Statement & WithStartPosition(const Position &value)
Definition: Statement.h:134
const Aws::String & GetSourcePolicyId() const
Definition: Statement.h:55
Statement & WithSourcePolicyId(const char *value)
Definition: Statement.h:85
void SetSourcePolicyType(const PolicySourceType &value)
Definition: Statement.h:95
void SetStartPosition(Position &&value)
Definition: Statement.h:128
Statement & WithSourcePolicyType(const PolicySourceType &value)
Definition: Statement.h:105
Statement & WithEndPosition(const Position &value)
Definition: Statement.h:164
Statement & WithSourcePolicyId(Aws::String &&value)
Definition: Statement.h:80
void SetSourcePolicyId(const Aws::String &value)
Definition: Statement.h:60
void SetEndPosition(Position &&value)
Definition: Statement.h:158
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
Statement & WithSourcePolicyType(PolicySourceType &&value)
Definition: Statement.h:110
void SetSourcePolicyId(Aws::String &&value)
Definition: Statement.h:65
const Position & GetEndPosition() const
Definition: Statement.h:146
void SetSourcePolicyId(const char *value)
Definition: Statement.h:70
void SetSourcePolicyType(PolicySourceType &&value)
Definition: Statement.h:100
const PolicySourceType & GetSourcePolicyType() const
Definition: Statement.h:90
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Statement & WithEndPosition(Position &&value)
Definition: Statement.h:170
#define AWS_IAM_API
Definition: IAM_EXPORTS.h:34
void SetStartPosition(const Position &value)
Definition: Statement.h:122
Statement & WithSourcePolicyId(const Aws::String &value)
Definition: Statement.h:75
JSON (JavaScript Object Notation).