AWS SDK for C++  0.12.9
AWS SDK for C++
EncryptionConfiguration.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
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Json
25 {
26  class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace Firehose
30 {
31 namespace Model
32 {
33 
38  {
39  public:
42  EncryptionConfiguration& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
43  Aws::Utils::Json::JsonValue Jsonize() const;
44 
49  inline const NoEncryptionConfig& GetNoEncryptionConfig() const{ return m_noEncryptionConfig; }
50 
55  inline void SetNoEncryptionConfig(const NoEncryptionConfig& value) { m_noEncryptionConfigHasBeenSet = true; m_noEncryptionConfig = value; }
56 
61  inline void SetNoEncryptionConfig(NoEncryptionConfig&& value) { m_noEncryptionConfigHasBeenSet = true; m_noEncryptionConfig = value; }
62 
67  inline EncryptionConfiguration& WithNoEncryptionConfig(const NoEncryptionConfig& value) { SetNoEncryptionConfig(value); return *this;}
68 
73  inline EncryptionConfiguration& WithNoEncryptionConfig(NoEncryptionConfig&& value) { SetNoEncryptionConfig(value); return *this;}
74 
78  inline const KMSEncryptionConfig& GetKMSEncryptionConfig() const{ return m_kMSEncryptionConfig; }
79 
83  inline void SetKMSEncryptionConfig(const KMSEncryptionConfig& value) { m_kMSEncryptionConfigHasBeenSet = true; m_kMSEncryptionConfig = value; }
84 
88  inline void SetKMSEncryptionConfig(KMSEncryptionConfig&& value) { m_kMSEncryptionConfigHasBeenSet = true; m_kMSEncryptionConfig = value; }
89 
93  inline EncryptionConfiguration& WithKMSEncryptionConfig(const KMSEncryptionConfig& value) { SetKMSEncryptionConfig(value); return *this;}
94 
98  inline EncryptionConfiguration& WithKMSEncryptionConfig(KMSEncryptionConfig&& value) { SetKMSEncryptionConfig(value); return *this;}
99 
100  private:
101  NoEncryptionConfig m_noEncryptionConfig;
102  bool m_noEncryptionConfigHasBeenSet;
103  KMSEncryptionConfig m_kMSEncryptionConfig;
104  bool m_kMSEncryptionConfigHasBeenSet;
105  };
106 
107 } // namespace Model
108 } // namespace Firehose
109 } // namespace Aws
EncryptionConfiguration & WithNoEncryptionConfig(NoEncryptionConfig &&value)
#define AWS_FIREHOSE_API
EncryptionConfiguration & WithKMSEncryptionConfig(const KMSEncryptionConfig &value)
void SetKMSEncryptionConfig(const KMSEncryptionConfig &value)
void SetNoEncryptionConfig(NoEncryptionConfig &&value)
const NoEncryptionConfig & GetNoEncryptionConfig() const
EncryptionConfiguration & WithKMSEncryptionConfig(KMSEncryptionConfig &&value)
void SetNoEncryptionConfig(const NoEncryptionConfig &value)
const KMSEncryptionConfig & GetKMSEncryptionConfig() const
EncryptionConfiguration & WithNoEncryptionConfig(const NoEncryptionConfig &value)
void SetKMSEncryptionConfig(KMSEncryptionConfig &&value)
JSON (JavaScript Object Notation).