AWS SDK for C++  0.14.3
AWS SDK for C++
SslPolicy.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 ElasticLoadBalancingv2
32 {
33 namespace Model
34 {
35 
40  {
41  public:
42  SslPolicy();
43  SslPolicy(const Aws::Utils::Xml::XmlNode& xmlNode);
44  SslPolicy& 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::Vector<Aws::String>& GetSslProtocols() const{ return m_sslProtocols; }
53 
57  inline void SetSslProtocols(const Aws::Vector<Aws::String>& value) { m_sslProtocolsHasBeenSet = true; m_sslProtocols = value; }
58 
62  inline void SetSslProtocols(Aws::Vector<Aws::String>&& value) { m_sslProtocolsHasBeenSet = true; m_sslProtocols = value; }
63 
67  inline SslPolicy& WithSslProtocols(const Aws::Vector<Aws::String>& value) { SetSslProtocols(value); return *this;}
68 
72  inline SslPolicy& WithSslProtocols(Aws::Vector<Aws::String>&& value) { SetSslProtocols(value); return *this;}
73 
77  inline SslPolicy& AddSslProtocols(const Aws::String& value) { m_sslProtocolsHasBeenSet = true; m_sslProtocols.push_back(value); return *this; }
78 
82  inline SslPolicy& AddSslProtocols(Aws::String&& value) { m_sslProtocolsHasBeenSet = true; m_sslProtocols.push_back(value); return *this; }
83 
87  inline SslPolicy& AddSslProtocols(const char* value) { m_sslProtocolsHasBeenSet = true; m_sslProtocols.push_back(value); return *this; }
88 
92  inline const Aws::Vector<Cipher>& GetCiphers() const{ return m_ciphers; }
93 
97  inline void SetCiphers(const Aws::Vector<Cipher>& value) { m_ciphersHasBeenSet = true; m_ciphers = value; }
98 
102  inline void SetCiphers(Aws::Vector<Cipher>&& value) { m_ciphersHasBeenSet = true; m_ciphers = value; }
103 
107  inline SslPolicy& WithCiphers(const Aws::Vector<Cipher>& value) { SetCiphers(value); return *this;}
108 
112  inline SslPolicy& WithCiphers(Aws::Vector<Cipher>&& value) { SetCiphers(value); return *this;}
113 
117  inline SslPolicy& AddCiphers(const Cipher& value) { m_ciphersHasBeenSet = true; m_ciphers.push_back(value); return *this; }
118 
122  inline SslPolicy& AddCiphers(Cipher&& value) { m_ciphersHasBeenSet = true; m_ciphers.push_back(value); return *this; }
123 
127  inline const Aws::String& GetName() const{ return m_name; }
128 
132  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
133 
137  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = value; }
138 
142  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
143 
147  inline SslPolicy& WithName(const Aws::String& value) { SetName(value); return *this;}
148 
152  inline SslPolicy& WithName(Aws::String&& value) { SetName(value); return *this;}
153 
157  inline SslPolicy& WithName(const char* value) { SetName(value); return *this;}
158 
159  private:
160  Aws::Vector<Aws::String> m_sslProtocols;
161  bool m_sslProtocolsHasBeenSet;
162  Aws::Vector<Cipher> m_ciphers;
163  bool m_ciphersHasBeenSet;
164  Aws::String m_name;
165  bool m_nameHasBeenSet;
166  };
167 
168 } // namespace Model
169 } // namespace ElasticLoadBalancingv2
170 } // namespace Aws
SslPolicy & WithSslProtocols(Aws::Vector< Aws::String > &&value)
Definition: SslPolicy.h:72
const Aws::Vector< Aws::String > & GetSslProtocols() const
Definition: SslPolicy.h:52
SslPolicy & WithSslProtocols(const Aws::Vector< Aws::String > &value)
Definition: SslPolicy.h:67
SslPolicy & WithName(const char *value)
Definition: SslPolicy.h:157
SslPolicy & WithName(Aws::String &&value)
Definition: SslPolicy.h:152
SslPolicy & WithCiphers(const Aws::Vector< Cipher > &value)
Definition: SslPolicy.h:107
SslPolicy & AddCiphers(const Cipher &value)
Definition: SslPolicy.h:117
void SetCiphers(Aws::Vector< Cipher > &&value)
Definition: SslPolicy.h:102
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetCiphers(const Aws::Vector< Cipher > &value)
Definition: SslPolicy.h:97
SslPolicy & AddSslProtocols(Aws::String &&value)
Definition: SslPolicy.h:82
SslPolicy & AddSslProtocols(const Aws::String &value)
Definition: SslPolicy.h:77
SslPolicy & AddCiphers(Cipher &&value)
Definition: SslPolicy.h:122
void SetSslProtocols(Aws::Vector< Aws::String > &&value)
Definition: SslPolicy.h:62
const Aws::Vector< Cipher > & GetCiphers() const
Definition: SslPolicy.h:92
const Aws::String & GetName() const
Definition: SslPolicy.h:127
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
SslPolicy & WithName(const Aws::String &value)
Definition: SslPolicy.h:147
void SetName(const Aws::String &value)
Definition: SslPolicy.h:132
SslPolicy & AddSslProtocols(const char *value)
Definition: SslPolicy.h:87
SslPolicy & WithCiphers(Aws::Vector< Cipher > &&value)
Definition: SslPolicy.h:112
void SetSslProtocols(const Aws::Vector< Aws::String > &value)
Definition: SslPolicy.h:57
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
#define AWS_ELASTICLOADBALANCINGV2_API
JSON (JavaScript Object Notation).