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/honeycode/Honeycode_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSMap.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/honeycode/model/SourceDataColumnProperties.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace Honeycode
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>An object that contains the options relating to the destination of the import
30    * request.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/DestinationOptions">AWS
32    * API Reference</a></p>
33    */
34   class AWS_HONEYCODE_API DestinationOptions
35   {
36   public:
37     DestinationOptions();
38     DestinationOptions(Aws::Utils::Json::JsonView jsonValue);
39     DestinationOptions& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>A map of the column id to the import properties for each column.</p>
45      */
GetColumnMap()46     inline const Aws::Map<Aws::String, SourceDataColumnProperties>& GetColumnMap() const{ return m_columnMap; }
47 
48     /**
49      * <p>A map of the column id to the import properties for each column.</p>
50      */
ColumnMapHasBeenSet()51     inline bool ColumnMapHasBeenSet() const { return m_columnMapHasBeenSet; }
52 
53     /**
54      * <p>A map of the column id to the import properties for each column.</p>
55      */
SetColumnMap(const Aws::Map<Aws::String,SourceDataColumnProperties> & value)56     inline void SetColumnMap(const Aws::Map<Aws::String, SourceDataColumnProperties>& value) { m_columnMapHasBeenSet = true; m_columnMap = value; }
57 
58     /**
59      * <p>A map of the column id to the import properties for each column.</p>
60      */
SetColumnMap(Aws::Map<Aws::String,SourceDataColumnProperties> && value)61     inline void SetColumnMap(Aws::Map<Aws::String, SourceDataColumnProperties>&& value) { m_columnMapHasBeenSet = true; m_columnMap = std::move(value); }
62 
63     /**
64      * <p>A map of the column id to the import properties for each column.</p>
65      */
WithColumnMap(const Aws::Map<Aws::String,SourceDataColumnProperties> & value)66     inline DestinationOptions& WithColumnMap(const Aws::Map<Aws::String, SourceDataColumnProperties>& value) { SetColumnMap(value); return *this;}
67 
68     /**
69      * <p>A map of the column id to the import properties for each column.</p>
70      */
WithColumnMap(Aws::Map<Aws::String,SourceDataColumnProperties> && value)71     inline DestinationOptions& WithColumnMap(Aws::Map<Aws::String, SourceDataColumnProperties>&& value) { SetColumnMap(std::move(value)); return *this;}
72 
73     /**
74      * <p>A map of the column id to the import properties for each column.</p>
75      */
AddColumnMap(const Aws::String & key,const SourceDataColumnProperties & value)76     inline DestinationOptions& AddColumnMap(const Aws::String& key, const SourceDataColumnProperties& value) { m_columnMapHasBeenSet = true; m_columnMap.emplace(key, value); return *this; }
77 
78     /**
79      * <p>A map of the column id to the import properties for each column.</p>
80      */
AddColumnMap(Aws::String && key,const SourceDataColumnProperties & value)81     inline DestinationOptions& AddColumnMap(Aws::String&& key, const SourceDataColumnProperties& value) { m_columnMapHasBeenSet = true; m_columnMap.emplace(std::move(key), value); return *this; }
82 
83     /**
84      * <p>A map of the column id to the import properties for each column.</p>
85      */
AddColumnMap(const Aws::String & key,SourceDataColumnProperties && value)86     inline DestinationOptions& AddColumnMap(const Aws::String& key, SourceDataColumnProperties&& value) { m_columnMapHasBeenSet = true; m_columnMap.emplace(key, std::move(value)); return *this; }
87 
88     /**
89      * <p>A map of the column id to the import properties for each column.</p>
90      */
AddColumnMap(Aws::String && key,SourceDataColumnProperties && value)91     inline DestinationOptions& AddColumnMap(Aws::String&& key, SourceDataColumnProperties&& value) { m_columnMapHasBeenSet = true; m_columnMap.emplace(std::move(key), std::move(value)); return *this; }
92 
93     /**
94      * <p>A map of the column id to the import properties for each column.</p>
95      */
AddColumnMap(const char * key,SourceDataColumnProperties && value)96     inline DestinationOptions& AddColumnMap(const char* key, SourceDataColumnProperties&& value) { m_columnMapHasBeenSet = true; m_columnMap.emplace(key, std::move(value)); return *this; }
97 
98     /**
99      * <p>A map of the column id to the import properties for each column.</p>
100      */
AddColumnMap(const char * key,const SourceDataColumnProperties & value)101     inline DestinationOptions& AddColumnMap(const char* key, const SourceDataColumnProperties& value) { m_columnMapHasBeenSet = true; m_columnMap.emplace(key, value); return *this; }
102 
103   private:
104 
105     Aws::Map<Aws::String, SourceDataColumnProperties> m_columnMap;
106     bool m_columnMapHasBeenSet;
107   };
108 
109 } // namespace Model
110 } // namespace Honeycode
111 } // namespace Aws
112