1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/appmesh/AppMesh_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace AppMesh
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>An object that represents a local file certificate. The certificate must meet
28    * specific requirements and you must have proxy authorization enabled. For more
29    * information, see <a
30    * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites">Transport
31    * Layer Security (TLS)</a>.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListenerTlsFileCertificate">AWS
33    * API Reference</a></p>
34    */
35   class AWS_APPMESH_API ListenerTlsFileCertificate
36   {
37   public:
38     ListenerTlsFileCertificate();
39     ListenerTlsFileCertificate(Aws::Utils::Json::JsonView jsonValue);
40     ListenerTlsFileCertificate& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The certificate chain for the certificate.</p>
46      */
GetCertificateChain()47     inline const Aws::String& GetCertificateChain() const{ return m_certificateChain; }
48 
49     /**
50      * <p>The certificate chain for the certificate.</p>
51      */
CertificateChainHasBeenSet()52     inline bool CertificateChainHasBeenSet() const { return m_certificateChainHasBeenSet; }
53 
54     /**
55      * <p>The certificate chain for the certificate.</p>
56      */
SetCertificateChain(const Aws::String & value)57     inline void SetCertificateChain(const Aws::String& value) { m_certificateChainHasBeenSet = true; m_certificateChain = value; }
58 
59     /**
60      * <p>The certificate chain for the certificate.</p>
61      */
SetCertificateChain(Aws::String && value)62     inline void SetCertificateChain(Aws::String&& value) { m_certificateChainHasBeenSet = true; m_certificateChain = std::move(value); }
63 
64     /**
65      * <p>The certificate chain for the certificate.</p>
66      */
SetCertificateChain(const char * value)67     inline void SetCertificateChain(const char* value) { m_certificateChainHasBeenSet = true; m_certificateChain.assign(value); }
68 
69     /**
70      * <p>The certificate chain for the certificate.</p>
71      */
WithCertificateChain(const Aws::String & value)72     inline ListenerTlsFileCertificate& WithCertificateChain(const Aws::String& value) { SetCertificateChain(value); return *this;}
73 
74     /**
75      * <p>The certificate chain for the certificate.</p>
76      */
WithCertificateChain(Aws::String && value)77     inline ListenerTlsFileCertificate& WithCertificateChain(Aws::String&& value) { SetCertificateChain(std::move(value)); return *this;}
78 
79     /**
80      * <p>The certificate chain for the certificate.</p>
81      */
WithCertificateChain(const char * value)82     inline ListenerTlsFileCertificate& WithCertificateChain(const char* value) { SetCertificateChain(value); return *this;}
83 
84 
85     /**
86      * <p>The private key for a certificate stored on the file system of the virtual
87      * node that the proxy is running on.</p>
88      */
GetPrivateKey()89     inline const Aws::String& GetPrivateKey() const{ return m_privateKey; }
90 
91     /**
92      * <p>The private key for a certificate stored on the file system of the virtual
93      * node that the proxy is running on.</p>
94      */
PrivateKeyHasBeenSet()95     inline bool PrivateKeyHasBeenSet() const { return m_privateKeyHasBeenSet; }
96 
97     /**
98      * <p>The private key for a certificate stored on the file system of the virtual
99      * node that the proxy is running on.</p>
100      */
SetPrivateKey(const Aws::String & value)101     inline void SetPrivateKey(const Aws::String& value) { m_privateKeyHasBeenSet = true; m_privateKey = value; }
102 
103     /**
104      * <p>The private key for a certificate stored on the file system of the virtual
105      * node that the proxy is running on.</p>
106      */
SetPrivateKey(Aws::String && value)107     inline void SetPrivateKey(Aws::String&& value) { m_privateKeyHasBeenSet = true; m_privateKey = std::move(value); }
108 
109     /**
110      * <p>The private key for a certificate stored on the file system of the virtual
111      * node that the proxy is running on.</p>
112      */
SetPrivateKey(const char * value)113     inline void SetPrivateKey(const char* value) { m_privateKeyHasBeenSet = true; m_privateKey.assign(value); }
114 
115     /**
116      * <p>The private key for a certificate stored on the file system of the virtual
117      * node that the proxy is running on.</p>
118      */
WithPrivateKey(const Aws::String & value)119     inline ListenerTlsFileCertificate& WithPrivateKey(const Aws::String& value) { SetPrivateKey(value); return *this;}
120 
121     /**
122      * <p>The private key for a certificate stored on the file system of the virtual
123      * node that the proxy is running on.</p>
124      */
WithPrivateKey(Aws::String && value)125     inline ListenerTlsFileCertificate& WithPrivateKey(Aws::String&& value) { SetPrivateKey(std::move(value)); return *this;}
126 
127     /**
128      * <p>The private key for a certificate stored on the file system of the virtual
129      * node that the proxy is running on.</p>
130      */
WithPrivateKey(const char * value)131     inline ListenerTlsFileCertificate& WithPrivateKey(const char* value) { SetPrivateKey(value); return *this;}
132 
133   private:
134 
135     Aws::String m_certificateChain;
136     bool m_certificateChainHasBeenSet;
137 
138     Aws::String m_privateKey;
139     bool m_privateKeyHasBeenSet;
140   };
141 
142 } // namespace Model
143 } // namespace AppMesh
144 } // namespace Aws
145