AWS SDK for C++  0.12.9
AWS SDK for C++
PolicyDescription.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
21 
22 namespace Aws
23 {
24 namespace Utils
25 {
26 namespace Xml
27 {
28  class XmlNode;
29 } // namespace Xml
30 } // namespace Utils
31 namespace ElasticLoadBalancing
32 {
33 namespace Model
34 {
35 
40  {
41  public:
44  PolicyDescription& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
45 
46  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
47  void OutputToStream(Aws::OStream& oStream, const char* location) const;
48 
52  inline const Aws::String& GetPolicyName() const{ return m_policyName; }
53 
57  inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
58 
62  inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
63 
67  inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); }
68 
72  inline PolicyDescription& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;}
73 
77  inline PolicyDescription& WithPolicyName(Aws::String&& value) { SetPolicyName(value); return *this;}
78 
82  inline PolicyDescription& WithPolicyName(const char* value) { SetPolicyName(value); return *this;}
83 
87  inline const Aws::String& GetPolicyTypeName() const{ return m_policyTypeName; }
88 
92  inline void SetPolicyTypeName(const Aws::String& value) { m_policyTypeNameHasBeenSet = true; m_policyTypeName = value; }
93 
97  inline void SetPolicyTypeName(Aws::String&& value) { m_policyTypeNameHasBeenSet = true; m_policyTypeName = value; }
98 
102  inline void SetPolicyTypeName(const char* value) { m_policyTypeNameHasBeenSet = true; m_policyTypeName.assign(value); }
103 
107  inline PolicyDescription& WithPolicyTypeName(const Aws::String& value) { SetPolicyTypeName(value); return *this;}
108 
112  inline PolicyDescription& WithPolicyTypeName(Aws::String&& value) { SetPolicyTypeName(value); return *this;}
113 
117  inline PolicyDescription& WithPolicyTypeName(const char* value) { SetPolicyTypeName(value); return *this;}
118 
122  inline const Aws::Vector<PolicyAttributeDescription>& GetPolicyAttributeDescriptions() const{ return m_policyAttributeDescriptions; }
123 
127  inline void SetPolicyAttributeDescriptions(const Aws::Vector<PolicyAttributeDescription>& value) { m_policyAttributeDescriptionsHasBeenSet = true; m_policyAttributeDescriptions = value; }
128 
132  inline void SetPolicyAttributeDescriptions(Aws::Vector<PolicyAttributeDescription>&& value) { m_policyAttributeDescriptionsHasBeenSet = true; m_policyAttributeDescriptions = value; }
133 
137  inline PolicyDescription& WithPolicyAttributeDescriptions(const Aws::Vector<PolicyAttributeDescription>& value) { SetPolicyAttributeDescriptions(value); return *this;}
138 
142  inline PolicyDescription& WithPolicyAttributeDescriptions(Aws::Vector<PolicyAttributeDescription>&& value) { SetPolicyAttributeDescriptions(value); return *this;}
143 
147  inline PolicyDescription& AddPolicyAttributeDescriptions(const PolicyAttributeDescription& value) { m_policyAttributeDescriptionsHasBeenSet = true; m_policyAttributeDescriptions.push_back(value); return *this; }
148 
152  inline PolicyDescription& AddPolicyAttributeDescriptions(PolicyAttributeDescription&& value) { m_policyAttributeDescriptionsHasBeenSet = true; m_policyAttributeDescriptions.push_back(value); return *this; }
153 
154  private:
155  Aws::String m_policyName;
156  bool m_policyNameHasBeenSet;
157  Aws::String m_policyTypeName;
158  bool m_policyTypeNameHasBeenSet;
159  Aws::Vector<PolicyAttributeDescription> m_policyAttributeDescriptions;
160  bool m_policyAttributeDescriptionsHasBeenSet;
161  };
162 
163 } // namespace Model
164 } // namespace ElasticLoadBalancing
165 } // namespace Aws
PolicyDescription & WithPolicyTypeName(Aws::String &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
PolicyDescription & AddPolicyAttributeDescriptions(PolicyAttributeDescription &&value)
void SetPolicyAttributeDescriptions(Aws::Vector< PolicyAttributeDescription > &&value)
PolicyDescription & WithPolicyAttributeDescriptions(Aws::Vector< PolicyAttributeDescription > &&value)
PolicyDescription & WithPolicyTypeName(const char *value)
PolicyDescription & WithPolicyName(const char *value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
PolicyDescription & WithPolicyTypeName(const Aws::String &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
PolicyDescription & WithPolicyName(Aws::String &&value)
const Aws::Vector< PolicyAttributeDescription > & GetPolicyAttributeDescriptions() const
PolicyDescription & WithPolicyAttributeDescriptions(const Aws::Vector< PolicyAttributeDescription > &value)
#define AWS_ELASTICLOADBALANCING_API
void SetPolicyAttributeDescriptions(const Aws::Vector< PolicyAttributeDescription > &value)
PolicyDescription & WithPolicyName(const Aws::String &value)
JSON (JavaScript Object Notation).
PolicyDescription & AddPolicyAttributeDescriptions(const PolicyAttributeDescription &value)