AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateIcebergTableInput.h
1
6#pragma once
7#include <aws/glue/Glue_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/glue/model/IcebergSchema.h>
10#include <aws/glue/model/IcebergPartitionSpec.h>
11#include <aws/glue/model/IcebergSortOrder.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Glue
26{
27namespace Model
28{
29
38 {
39 public:
40 AWS_GLUE_API CreateIcebergTableInput() = default;
44
45
47
50 inline const Aws::String& GetLocation() const { return m_location; }
51 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
52 template<typename LocationT = Aws::String>
53 void SetLocation(LocationT&& value) { m_locationHasBeenSet = true; m_location = std::forward<LocationT>(value); }
54 template<typename LocationT = Aws::String>
55 CreateIcebergTableInput& WithLocation(LocationT&& value) { SetLocation(std::forward<LocationT>(value)); return *this;}
57
59
63 inline const IcebergSchema& GetSchema() const { return m_schema; }
64 inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; }
65 template<typename SchemaT = IcebergSchema>
66 void SetSchema(SchemaT&& value) { m_schemaHasBeenSet = true; m_schema = std::forward<SchemaT>(value); }
67 template<typename SchemaT = IcebergSchema>
68 CreateIcebergTableInput& WithSchema(SchemaT&& value) { SetSchema(std::forward<SchemaT>(value)); return *this;}
70
72
76 inline const IcebergPartitionSpec& GetPartitionSpec() const { return m_partitionSpec; }
77 inline bool PartitionSpecHasBeenSet() const { return m_partitionSpecHasBeenSet; }
78 template<typename PartitionSpecT = IcebergPartitionSpec>
79 void SetPartitionSpec(PartitionSpecT&& value) { m_partitionSpecHasBeenSet = true; m_partitionSpec = std::forward<PartitionSpecT>(value); }
80 template<typename PartitionSpecT = IcebergPartitionSpec>
81 CreateIcebergTableInput& WithPartitionSpec(PartitionSpecT&& value) { SetPartitionSpec(std::forward<PartitionSpecT>(value)); return *this;}
83
85
89 inline const IcebergSortOrder& GetWriteOrder() const { return m_writeOrder; }
90 inline bool WriteOrderHasBeenSet() const { return m_writeOrderHasBeenSet; }
91 template<typename WriteOrderT = IcebergSortOrder>
92 void SetWriteOrder(WriteOrderT&& value) { m_writeOrderHasBeenSet = true; m_writeOrder = std::forward<WriteOrderT>(value); }
93 template<typename WriteOrderT = IcebergSortOrder>
94 CreateIcebergTableInput& WithWriteOrder(WriteOrderT&& value) { SetWriteOrder(std::forward<WriteOrderT>(value)); return *this;}
96
98
102 inline const Aws::Map<Aws::String, Aws::String>& GetProperties() const { return m_properties; }
103 inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
104 template<typename PropertiesT = Aws::Map<Aws::String, Aws::String>>
105 void SetProperties(PropertiesT&& value) { m_propertiesHasBeenSet = true; m_properties = std::forward<PropertiesT>(value); }
106 template<typename PropertiesT = Aws::Map<Aws::String, Aws::String>>
107 CreateIcebergTableInput& WithProperties(PropertiesT&& value) { SetProperties(std::forward<PropertiesT>(value)); return *this;}
108 template<typename PropertiesKeyT = Aws::String, typename PropertiesValueT = Aws::String>
109 CreateIcebergTableInput& AddProperties(PropertiesKeyT&& key, PropertiesValueT&& value) {
110 m_propertiesHasBeenSet = true; m_properties.emplace(std::forward<PropertiesKeyT>(key), std::forward<PropertiesValueT>(value)); return *this;
111 }
113 private:
114
115 Aws::String m_location;
116 bool m_locationHasBeenSet = false;
117
118 IcebergSchema m_schema;
119 bool m_schemaHasBeenSet = false;
120
121 IcebergPartitionSpec m_partitionSpec;
122 bool m_partitionSpecHasBeenSet = false;
123
124 IcebergSortOrder m_writeOrder;
125 bool m_writeOrderHasBeenSet = false;
126
128 bool m_propertiesHasBeenSet = false;
129 };
130
131} // namespace Model
132} // namespace Glue
133} // namespace Aws
AWS_GLUE_API CreateIcebergTableInput & operator=(Aws::Utils::Json::JsonView jsonValue)
CreateIcebergTableInput & WithLocation(LocationT &&value)
CreateIcebergTableInput & AddProperties(PropertiesKeyT &&key, PropertiesValueT &&value)
AWS_GLUE_API CreateIcebergTableInput()=default
CreateIcebergTableInput & WithSchema(SchemaT &&value)
const Aws::Map< Aws::String, Aws::String > & GetProperties() const
AWS_GLUE_API CreateIcebergTableInput(Aws::Utils::Json::JsonView jsonValue)
CreateIcebergTableInput & WithWriteOrder(WriteOrderT &&value)
const IcebergPartitionSpec & GetPartitionSpec() const
CreateIcebergTableInput & WithPartitionSpec(PartitionSpecT &&value)
const IcebergSortOrder & GetWriteOrder() const
CreateIcebergTableInput & WithProperties(PropertiesT &&value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue